For starters, there isn’t a “best” language for anyone new to learn that will necessarily guarantee a better job or help them more strongly establish a technology career as a software professional; anyone who tells you any different doesn’t know what’s really going on out there!
But, there are a few trends that can be spotted based on a number of sources that can provide helpful guidance for those that are seriously interested in taking their first step (of many) into the software and development world.
These trends can provide strategic and tactical guidance for those that want to maximize their time (and investment) at any intensive bootcamp experience.
To begin, let’s take a look at GitHub (via GitHut) where we can take a very explicit look at some of the top coding languages that professionals are using to build their applications. What we see very plainly are the top languages that are being used by over 2.2 million repositories:
I’ve gone through the first 11 because CSS isn’t actually a programming language. One could also combine C and C++ as well and even remove “Shell” scripting as well. So a more refined list of programming languages would be as follows:
- C++ / C
Now, it’s worth noting that this data is based on public repositories, not private, and there’s an entire ecosystem that exists that isn’t public-facing. For instance, most of my own software development work is based in private repositories on GitHub.
But if you were to stop at this list and then start building a career around them you could very well be successful. The problem, though, is that trend data isn’t how one finds success as a software professional. What’s more important is that you realize the following few truths:
- It’s very rare that you will have the luxury of using only one software language to build great products and apps. Most projects will requires a mix and blend of multiple disciplines and languages to be successful. Focusing too hard and too exclusively in one area will ultimately stunt one’s growth.
- Building stuff, especially in the beginning of your new career, is vastly more important than becoming an expert. In fact, many “experts” will tell you that expertise was never the goal to begin with. Rather, they were intent on solving a problem and building an app or a software product was the solution they were looking for. Engendering this crafts person-style approach and appreciation for software is important.
- A strict focus on trend data for one’s career disregards the importance of relationships (both personal and professional) that actually ensure one’s growth and success in the technology field. Simply following market data for the “most wanted languages”can create, at times, a cause-and-effect belief structure that suggests that if one learns X software language they will get Y career. Taking free (or paid) online courses by oneself isn’t necessarily a bad thing but just because you can complete an online course doesn’t mean that you’ll be any farther in your desired technology career! Relationships (e.g. humans) matter! Otherwise you’ve reduced this to a merely academic exercise.
In the end, trend data can help you get a feel for what’s being actively used out there in the wild and also give you a baseline of where the active communities are as well as growing job markets. But you never want to stop and start there.
2015, just like the previous years, is seeing a tremendous growth of the entire software field as a whole and now is the most exciting time to start a career into an industry that simply will not slow down. We’re here to help and would love to have you join us on this side of the technology fence (and we teach some of the more popular languages as listed above).
Become a software developer, not just a software user.
Thanks to Mason Stewart for reading and editing this post.