Welcome to the second part of the series where I will give my best to explain everything I know when it comes to picking your first programming language or framework.
Point of this article
This article, as the series name suggest, is aimed at people who are just starting out with programming or are thinking about getting into the IT world as a developer.
I will give my opinion on how I would get my first dev job if I was a beginner again and share my experience of how I picked my first programming language to get a developer role.
Why even listen to me and why decide for this strategy?
Of course, it is your option to choose who you want to listen to and whose advices to take but let me explain my strategy and why it might make sense to you or not.
Since you are just starting out, not a lot of people will want you in their company because you lack experience. What you want to offer them is at least exactly what they need technology-wise and by doing this you increase your chances of landing a job by a maximum.
It is exactly what I did and how I got my first job.
Before you continue please be aware of this:
*Your first programming language is not your wife/husband. You can change it any time and you will most likely change it anyway throughout your career. *
Remember: You just want to break the ice and get your first role so later you will have plenty of time to switch.
1. Analyze your area
What I would suggest is to analyze your local current job openings and see what technologies are mainly used. Just visit your local job posting platforms and really put some time in to make a list of the most popular languages that are being used in your area. Each country is different so you really need to do this.
Remote vs On-site
At the beginning of your career I wouldn't even consider remote jobs. It is a bit more unlikely that a company will hire you because training entry level developers remotely is quite hard. (and it's also easier for you to get proper training on-site).
My suggestion: analyze only on-site positions for now.
2. Get necessary information
After you have a list of some of the most popular technologies that are used in your area it is time to do some filtering.
To make this article evergreen, you should now do a research on what languages and frameworks from your list are popular globally. That is important because later you might want to change companies so it would make sense to know something what the whole world is currently using.
After you have seen what technologies are popular it is time to filter out the other ones from your initial list.
Now you are left with a list of technologies that are both available in your area and globally as well.
3. Decide what language you like the most
It is now time to pick what you like from the list.
Are you looking for a frontend, backend or maybe a devops role? These are the things that only you can answer but let me tell you that whatever you pick, it is a lot easier to make a switch later, let's say from frontend => backend once you get some experience. There is absolutely no need to be afraid and that you will pick the wrong one.
Have you picked your first language?
Yes? Congratulations!
4. Next steps
You have picked the language. It wasn't that hard, right?
What is now left to do is A LOT of learning and preparing for applying to jobs.
Find a course on Udemy or a learning platform of your choice and start learning.
Further details of what your next steps should be are a part of this series as well.
If at the time of reading the entire series is not posted yet, stay tuned because an article will be published soon!
BONUS: My Story
I don't want to bother you with too much me when this is about you but in case you are interested this is how I basically picked my first language or to be more precise, a tech stack:
I found a popular local software engineering company and physically went to their office and had a talk. I asked for a list of technologies that I should know and went home with it.
I kept it near my laptop for more than a year until I learned all the languages one by one from the given list.
It took me more than a year to learn everything but in the end I got a job at a different company which used the same stack.
(That is why I suggest picking globally popular languages)
I hope that this article helped you pick your first language and that it alleviated some anxiety that you might have had on this topic.
It's really not THAT important in the beginning that you pick the PERFECT language.
It is more important that you get your first job and later you can change it since you will have some experience on your resume thus getting the next job will be easier.
If there is a topic that you want me to cover please let me know in the comments and I will gladly add it to my list.
You can also tweet to me if you're on Twitter.
Visit my original website: https://antoniopk.com
Top comments (19)
My recommendation for school students who ask me this question is as follow:
First learn a compiled Object Oriented language, This will develop an idea on how different parts of program should be structured, how real world can be modeled in software. In all it will develop a good coding practice. Java is my default recommendation. C# is also my recommendation.
Then learn an interpreted language for scripting, This will develop an idea on how small, routine tasks can be scripted and automated. Python is my default recommendation. Bash is also my recommendation.
SQL is must, even though these days nosql is getting popular, having an understanding of relations in data, is must.
Web Basics (HTML, CSS, JS) is must, even if someone doesn't plan to become web developer, It is unavoidable.
Lastly, I recommend them to get comfortable with command line, even if they work on windows. Powershell is good enough tool. WSL2 is Great. If they move to Linux, it will be the best decision of their life. Command line will give them better understanding on what they are working with, better control and faster performance than GUI.
An excellent, well-rounded selection of languages. The OP points out that you are not married to your first language, and "playing the field" as it were will leave opportunites open for as long as possible before specializing.
Play the field until you get to know what you want to specialize in 😄
That’s great advice for someone who has time to learn and as you mentioned is a student. This series is more about getting into the field and finding a dev job as soon as possible so you can get experience and later switch to what you prefer. Thank you for reading 😄
In this case, I would suggest learning OOPs concept, and then web language (PHP8 is really good). It can be done in less than a month. I am biased at this because I have seen good Java guys writing nice and structured code in node. Not just about structuring but also have a clear understanding about different parts of their application. I have rarely seen someone who started with just JS, able to upgrade their skills easily for the other part of stacks. I have dealt with many freshers (0-2 year experience) who complains that they feel this kind of abstraction will create complex code any they can do better in less number of files.
I have recently done some counseling for peoples who are trying to get into IT in the aftermath of last year. Web is certainly easy to get into. Especially when wordpress is still in such demand. There is no single path to follow.
Am I too old to learn a programming language, do you think? And what programming language would you recommend to start with, I mean a more versatile one? I wanted to change my profession, I used to work as an editor ca.edubirdie.com/buy-research-papers and I was happy about it. But I reached my apogee and now I'm drawn to develop in this field. No one wants to buy scientific papers, so it's time to change the occupation.
I think it's never too late to start programming only if you are ready to put in work. We are talking about 1-2 years of constant learning and preparing until you get a job.
Today I would recommend JavaScript since you can do pretty much anything with it. :)
Thanks for reading.
Just pick up JavaScript and learn react. You can go anywhere from there.
These days JavaScript and Python are pretty much no brainers but for example in Europe Java is still doing strong so a country specific analysis will help a lot like mentioned in the article :)
Java is still huge here too. I’m definitely not saying JavaScript beats everything. I’m just saying from a starting point you hit the ground running when you start with JavaScript. Developing is instant gratification and therefore an instant learning experience.
I think it's more important to learn how to program as well as the principles of programming rather than obsessing over the language to choose.
That said, Python and JavaScript are easy picks nowadays.
I think the first programing should be popular with many docs, clearly and easy to use.
So the Python is the good choice.
Btw, when you start with JavaScript first, you easy become a web Dev, even mobile Dev. It'll help you save time
Agreed - These days I would also pick either JavaScript or Python!
I recently needed help with my R programming assignment, and I found an amazing resource that I wanted to share. I was struggling with some complex data analysis tasks, but after reaching out for professional assistance, everything became so much clearer. The support I received was top-notch, and the experts were incredibly knowledgeable and patient. My assignment was completed on time, and I learned a lot in the process. If you're ever stuck with R programming, I highly recommend seeking assignment help. It made a huge difference for me!
Im just a student and i was having trouble in choosing the language i should learn first. Can you please suggest
If your local area has opportunities for Python then keep learning Python :)
Your bio says "A 16 year old learning python".
I think this is a good choice ;)
Thanks for telling 😁
You're welcome.
I started to learning Python in early 2012, as the my second langage (C was the first when I was at university). I am still using it today for various tasks. I won't / can't use it for everything. But every time I have a simple (or not that simple) task to do, I try Python first.
In my opinion, you can't be wrong when you decide to learn this language.