What should I learn?
Individuals seeking to transition into a tech career in a technical role always ask me, “What programming language should I learn?” Personally, I'd recommend JavaScript or Python as my top 2 choices and I have shared my reasons below.
Javascript: Javascript is the most popular programming language among developers in the past decade and it still is. Most developers have interacted with Javascript in the course of their software development career. In my opinion, Javascript is at the top of my priority list because you can easily transition between Frontend, Backend & Mobile development roles, essentially making you a full-stack engineer. However, becoming a full stack engineer I would recommend that you learning at least one framework for each role. Here are my personal suggestions given the current industry trends:
- Frontend: (React.js or Vue.js) + GraphQL
- Backend: Node.js + Express + GraphQL
- Mobile: (React Native or Ionic) + GraphQL
In my opinion, JavaScript is easy to pick up as a beginner, it works across all major browsers and the job opportunities available especially in the startup ecosystem are huge.
Python: A great second option is Python; it is one of the best languages for beginners to pick up because of its simplicity. Nevertheless, Python unlike Javascript is not suitable for mobile programming but it is great for backend development. Even though python could be used for front-end, the current industry trend is to use JavaScript frameworks for frontend development. This implies that your chances of getting hired as a frontend engineer on the basis of your python knowledge is probably very thin at-best. Nonetheless, python has its greatest strength as the goto language for careers in data science, machine learning and artificial intelligence.
Swift: If your goal is to go into iOS or macOS development, then swift is the programming language you should go for. Swift is built and customized to suit the development of all Apple hardware OS including macOS, watchOS and tvOS. Learning swift will indeed be a most profitable skill because Apple apps are the most profitable in the mobile market.
C#: Having some experience in the other C family languages, you are likely to easily flow right into C#. C# is is a general-purpose, object-oriented language which was built for building Windows applications. C# is also a preferred choice for 2D/3D video game development if that is your objective. And there's an undeniable market of opportunities for Gaming today!
Ruby: Ruby is a programming language designed for web development especially with the Ruby on Rails web application framework. Ruby is quite a friendly and direct language to use because its syntax is straight-forward and they have a very active and considerate behavior. Many great tech companies such as twitter, Bloomberg, Airbnb have had their websites built using Ruby on Rails in the past.
Honorable mentions: Go, Kotlin, Java
Also you may want to note some important factors to consider before making this choice. These are;
- Your interests: Your interest determines what language you learn. For instance, if you are interested in database management, you should be looking at learning MySQL, PostgresSQL, MongoDB alongside JavaScript or python.
- Take pre-programming courses: so you could understand as much as possible before you jump into coding with a certain language. As a newbie, this will be particularly useful for you as it will help you understand the fundamentals of programming and its basic concepts. It will also guide you on what programming language to choose and what corresponding career path to follow. Udemy, Udacity, LinkedIn Learning provide great courses you could enroll in to learn.
- Investigate and keep up with current tech trends: Technology is a very fast-paced industry. The game is always changing and very rapidly too. Your ability to be up-to-date with the current tech trends will save you from becoming obsolete in your career. Knowing the language being used for the endeavor you are venturing into could help you decide on what language you should learn. However, do not run off learning the latest trends as some of these trends fizzle out as quickly as they come in because of poor reliability provisioning. I would advise you choose a language that is trending but has also been in use for a number of years and has served some major tech players.
Please note that this is simply a guide on what language you should learn first and not the only language you should learn. As a developer, I advise that you learn another language outside of your core programming language.
I am Chuka Ofili, I would love to get your feedback and connect with you.