One of the biggest things that we all struggle with when we decide to start coding is choosing a programming language.
We get it, it’s incredibly overwhelming: there are a lot of programming languages out there. In fact, there seems to be something new to consider every time you sit down to think about it.
Should you try to learn that new language that everybody is talking about? Will that even be around next year? What language is most popular in the job postings in your area? What’s the deal with JavaScript, anyway?
If this sounds like you, we’ve got some good news: you can stop evaluating programming languages based upon their perceived popularity because these 3 factors are far more essential to your long-term success as an in-demand programmer.
1. Learn to write algorithms to build your fundamental skillset
Computer Science fundamentals, like how to write algorithms and work with data structures, are essential to programming. This probably comes as no surprise.
Just like with any job, skill, or hobby, you need to build a solid foundation before you can start specializing. While there are many ways to specialize as a web developer, the foundation is going to be the same. Building a solid foundation from the beginning will open doors for you as you continue your coding education and career. In the long-run, this will matter far more than the popularity of the programming language you choose.
So, what is an algorithm? An algorithm is simply a “step-by-step” approach where there is exactly one correct next step. There are different types of algorithms that allow you, as a programmer, to solve different problems. Each algorithm is a tool in your toolbelt, no matter which language you’re using to write the code, and you’ll become a much better programmer by learning how to use them effectively. If you’re interested in diving in further, you can read more about why algorithms and data structures are so important.
Also, learning algorithms will help you reach a coding “inflection point” sooner. This is when you become a self-reliant developer and are able to tackle any problem that comes your way. Once this happens, you’ll be able to dive into new technologies and learn new programming languages with relative ease (so choosing a programming language that will last your whole career isn’t something you have to worry about if you follow this approach).
2. Get real-world experience to land the real-world job
Ensuring that you get real-world coding experience will prepare you for life as a programmer. It’s one thing to understand how to code in theory, but another thing entirely to actually put your knowledge into action. This real-world application is what employers will be looking for, and one of the best ways to ensure you’re an in-demand programmer. This should be a big consideration when choosing a programming language.
There are a few ways to get this experience:
Participate in team projects and learn to code with an agile workflow
In the real world, projects generally are built by teams of developers, following a similar workflow. By working with standard processes development teams think about like pull requests, blocking tasks, and sprints you can get the experience that maps directly to the workflow that happens at the best software companies in the world.
Just like coding, working in these types of environments are best learned by doing.
Receive code reviews and feedback
Getting critical feedback to your work as a developer is remarkably… common. Being able to give, and receive feedback on your code is a skill that is very important. Rather than reacting emotionally, and upset about feedback on suggested changes your work, learning to interpret it as helpful and applying the suggestions to your work makes it better.
By learning to both give and receive feedback on code, you’re positioning yourself to be prepared to have the same type of discussions about code that you will be expected to have as a professional web developer in the real world.
Pair program with a more senior developer
One of the most efficient ways to level-up as a developer is to work together with a developer with more experience. These developers will be able to understand exactly where you’re coming from and give you critical insight into how to bring your skills to the next level.
Pair programming with more senior developers is not only one of the best ways to level up your skill, but one of the best ways to improve your skills as a developer on the job. Since working with senior developers is a big part of the role of a junior developer, getting the experience early can only help out on the journey to becoming a developer.
(If you’re planning on breaking into tech try reading the most critical skill to getting hired as a developer and get more detail on what matters the most.)
3. Learning to code by (wait for it…) writing code!
That’s right – the best way to learn to code is by writing code. Many career-changers get stuck in a loop of “analysis paralysis” that prevents or delays them from ever writing a line of code. [At The Firehose Project, we see a lot of people that are stuck in this phase before joining us].
You need to make mistakes, learn how to decipher error messages, and troubleshoot during your learning process. None of this happens by reading books, following lectures, or watching video tutorials, so it’s best to dive right in and start coding. Choosing a programming language allows you to do this fastest and most effectively is probably going to be the best decision.
We often recommend choosing a programming language where the syntax reads a bit more like English and has a faster learning curve to start with. An example of this would be Ruby on Rails: it’s a powerful programming language first used by companies like Github, Shopify, AirBnB, and more. RoR has a lot of “magic” built into it so you can focus on big-picture concepts and develop awesome projects to add to your portfolio instead of nitty-gritty, manual tasks. Once you’ve done that, it’s also a great springboard into other languages, like JavaScript.
To Summarize
The popularity of a programming language doesn’t matter: the considerations we’ve outlined are far more important and transcend fads. What we would say is, make sure that you are choosing a programming language that will allow you to start creating powerful apps and learning Computer Science topics early on. Once you’ve got that foundation, you can continue to build your skills and specialize.
If you’re interested in learning to code, the biggest favor you can do for yourself is focus on getting a really solid platform of programming fundamentals that you can build on throughout your career.
The first programming language you learn (regardless of whether it’s popular, or not) will not make or break your career because as technology evolves, there will always be more to learn. Focusing on your Computer Science foundation and getting real-world experience will best equip you for a long and more fulfilling coding career.
Remember, the best programmers never stop learning.
Excellent blog. One more thing Ruby on Rails is a web framework that uses the Ruby language. And in my opinion Python read more like English than Ruby