Firstly, I value time and so should you. This article is not focused on experts. I'm making it clear so that you can save some time if you are not in the target audience of this article. Still, I will recommend you to share this with anyone who might be in a bit of confusion in choosing their first language.
Now that we have cleared that, let's move to the discussion
Python - The obvious choice
Let me make it clear. Python is stupidly simple. It is too easy to a point, that you might end up in a trap of not being able to switch to any other language (especially type based languages like C, CPP, Java).
Even for someone without previous computer knowledge, Python is one of the obvious choices.
Things that can be done with Python
- Web Development using Django or Flask
- API backend with Django or Flask or the recently popular FastAPI
- Trendy Machine Learning and the Hyped Artificial Intelligence
Something better for most people - Java script
Is there anything that cannot be done with JS? Maybe there is.
But there is a lot that can be done with JS.
Mern stack and Mean stack are a few of the most popular stacks that are being used in web development for the last couple of years and their popularity can only grow from now.
MERN - MongoDB, Express, React, Node
MEAN - MongoDB, Express, Angular, Node
Typical Interview Environment
Talking about a typical interview environment, Python is widely used (in comparison with JS). Don’t get me wrong JS is also used by a good number of interviewees and interviewers. When it comes to FANG interviews they don’t care about which language you use and rather about your ability to solve the problem. Still, there might be a language-specific requirement based on the job role at times.
Easier Language is the language you are best at
I started with Python and do I regret it?
No. What I would have said to my younger self 2 years ago as advice for choosing my first programing language?
JS is just unavoidable in 2021 as a web developer. You are losing out on a vast market otherwise.
- Front End: React, Angular
- Back End: Express (Node runtime)
- Mobile Apps: React Native
What you should/can do?
This is all it boils down to
If you want a typical job as a software engineer, go with Python combined with either C, C++ or Java as a backup for some companies.
If you want to take the interesting route of working in a startup, JS is highly recommended. You can effectively do everything from frontend to backend and even a mobile version of the app, although this is not recommended.
If you have a business idea and you have to learn a language to code yourself. There is no doubt here… Go with JS (MERN/MEAN).
If you looking for online resources to learn these languages, just ask me in the comments and I will talk more about the best resources that are available online.
With that being said, if you liked my article above nothing stops you from subscribing to my newsletter here. I will be bringing more open-source content shortly.