Disclosure: This post includes affiliate links; I may receive compensation if you purchase products or services from the different links provided in this article.
A couple of months ago, I was reading an interesting article on HackerNews, which argued that why you should learn numerous programming languages even if you won't immediately use them, and I have to say that I agreed.
Since each programming language is good for something specific but not so great for others, it makes sense for Programmers and senior developers to know more than one language so that you can choose the right tool for the job.
The big question is which languages will give you the biggest bang for your buck?
It all depends upon what do you want? For example, if you are looking for a job at big Investment banks like Goldman Sachs, Morgan Stanley or Citi then Java is the best programming language to learn followed by C++ and C#.
This list of the top 10 programming languages --- compiled with help from Stack Overflow's annual developer survey as well as my own experience --- should help give you some ideas, particularly if you are looking for a job in big investment banks like Goldman, Citi, Morgan, JP Morgan, Barclays, etc or on service sector companies like Infosys, Wipro, Cognizant, Luxsoft, etc, which mainly work for these big financial organization.
Note: Even though it can be tempting, don't try to learn too many programming languages at once; choose one first, master it, and then move on to next one.
Java is the most widely used language in Investment banks. Go to any job search websites like Monster or eFinancialCareer and you will find most of the job listing for banks like Goldman, Morgan, Citi, and others require Java Skill. Java is used everywhere and across different parts of the bank, but mostly for creating server-side applications running on Linux.
One of the major reasons why Investment banks prefer Java is its concurrency features. Java has in-built support for multithreading which is needed for performance-intensive, mission-critical applications on banks. So, make sure you spend a good amount of time mastering Concurrency in Java.
If you are serious about getting a job on wall street firms, Java should be the first language to master, and if you need a good resource to start with then check out The Complete Java MasterClassfrom Udemy.
If you don't mind learning from free resources, then you can also check out this list of free Java programming courses.
C# and .NET is also popular on Investment banks, particularly for creating client side GUI. Earlier it was Java Swing but C# and .NET is now preffered for any windows based GUI application. If you are thinking about GUI development for PC and Web, C# is a great option. It's also the programming language for the .NET framework, not to mention used heavily in game development for both PC and consoles.
If you're interested in any of the above areas, check out the Learn to Code by Making Games --- Complete C# Unity Developer from Udemy. I see more than 200K students have enrolled in this course, which speaks for its popularity.
And again, if you don't mind learning from free courses, here is a list of some free C# programming courses for beginners.
C++ is another major language which is used on Investment banks and other buy side firms. It's used heavily on creating low latency trading application where performance is critical.
Both C and C++ are evergreen languages, and many of you probably know them from school. But if you are doing some serious work in C++, I can guarantee you that your academic experience will not be enough.
You will need to join a comprehensive online course like C++: From Beginner to Expert to become industry-ready.
And for my friends who want some free courses to learn C++, here is a list list of free C++ Programming courses for beginners.
Python has now toppled Java to become the most taught programming language in universities and academia.
It's a very powerful language and great to generate scripts. You will find a python module for everything you can think of.
For example, I was looking for a command to listen to UDP traffic in Linux but couldn't find anything. So, I wrote a Python script in 10 minutes to do the same.
If you want to learn Python, the Python Fundamentals from [Pluralsight] is one of the best online course to start with. You will need a Pluralsight membership to get access to the course, which costs around $29 per month or $299 annually. You can also access it using their free trial.
And, if you need one more choice, then The Complete Python Bootcamp: Go from zero to hero in Python 3 on Udemy is another awesome course for beginners.
And if you are looking for some free alternatives, you can find a list here.
If you are thinking seriously about Android App development, then Kotlin is the programming language to learn this year. It is definitely the next big thing happening in the Android world.
And if you want to learn Kotlin this year then The Complete Android Kotlin Developer Course is probably the best online course to start with.
This is another programming language you may want to learn this year. I know it's not currently very popular and at the same time can be hard to learn, but I feel its usage is going to increase in 2019.
There are also not that many Go developers right now, so you really may want to go ahead and bite the bullet, especially if you want to create frameworks and things like that. If you can invest some time and become an expert in Go, you're going to be in high demand.
And, if you want to learn Golang this year then Go: The Complete Developer's Guidefrom Udemy is the online course is probably the best place to start with
If you are thinking about iOS development like making apps for the iPhone and iPad, then you should seriously consider learning Swift in 2019.
It replaces Objective C as the preferred language to develop iOS apps. Since I am the Android guy, I have no goal with respect to Swift, but if you do, you can start with the iOS 11 and Swift 4 --- The Complete iOS App Development Bootcamp.
To be honest, I don't know much about Rust since I've never used it, but it did take home the prize for 'most loved programming language' in the Stack Overflow developer survey, so there's clearly something worth learning here.
There aren't many free Rust courses out there, but Rust For Undergrads is a good one to start with.
If you thought that PHP is dead, then you are dead wrong. It's still very much alive and kicking. Fifty percent (50%) of internet websites are built using PHP, and even though it's not on my personal list of languages to learn this year, it's still a great choice if you don't already know it.
And, if you want to learn from scratch, PHP for Beginners --- Become a PHP Master --- CMS Project on Udemy is a great course.
And, if you love free stuff to learn PHP, checkout this list of free PHP and MySQL courses on [Hackernoon]
These are some of the best programing langauge to get a Software developer job on big Investment banks like Goldman, Morgan, Barclays or HSBC. Yes, it has those usual suspect but Java and C++ are the top 2 langauges to get a developer job in these big financial giants.
Even if you learn just one programming language apart from the one you use on a daily basis, you will be in good shape for your career growth. The most important thing right now is to make your goal and do your best to stick with it. Happy learning!
If you enjoy this article here are few more of my write-ups you may like :
- The 2019 Web Developer RoadMap
- 50+ Data Structure and Algorithms Interview Questions
- 10 Things Every Software Developer Should Know
- 10 Reasons to Learn Python in 2019
- 10 Data Science and Machine Learning Courses for Beginners
- 10 Data Structure Courses to Crack Coding Interviews
- The 2019 DevOps RoadMap
- 10 Frameworks Java and Web Developers Can Learn in 2019
- The 2019 Java Developer RoadMap
Good luck with your Programming t journey! It's certainly not going to be easy, but by following this list, you are one step closer to becoming the Software Developer, you always wanted to be