In my free time, I am teaching software development-related topics to students and older people who are trying to deep dive into the programming world or switch their current careers.
After the course is finished on the last meeting, my last slide is a little for a Q&A session, during that session, or after it... I frequently got asked the similar or same questions... and these are:
- What is the best programming language for beginners?
- On which technology (framework) should I focus?
- What is the easiest one to get the job?
- Is the X programming language better than the Y one?
And my answer is pretty simple all the time: look for the companies in your city and see what they are using.
The answer can be a little bit longer but just give me a few minutes to explain it to you.
My answer is to look at the city where you live or the city where you are planning to work. See what kind of local companies you have there, and see what is their standard stack which they are using.
Maybe you have some experience with that programming language or develoment stack. Explore what those companies are using in their development team.
Do you like that company and what they work on? Do you see yourself working there? And do you like the programming language (or frameworks) they use? Does that programming language have a future?
If yes, then focus on that programming language and try to learn as much as you can before you apply to work there.
Why do I answer that, maybe you are asking yourself now.
The main reason is that these are the people who started to explore the programming world a month or two ago. They are complete beginners with a nice understanding of basic concepts of programming.
They need to get their hands dirty with writing the code. It will not be easy for them to find some remote or freelance job.
Remote jobs are popular nowadays but those people are not the best candidates for junior jobs, but the question is: will somebody employ them in the first place (without previous experience)?
Why should they focus on the companies in their city?
From my point of view, they can be a part of that development community, go to the meetups, maybe they know somebody who is working there already and they recommend them, etc. Those people can reveal to them how it is to work at that company etc.
Focusing on the companies in that city will bring them more chances to get a job, and for those people, the first job is the most important thing to have. Later on, they can upgrade their knowledge, learn new stuff, experiment with other frameworks and languages if they like, etc... their self-confidence is at a higher level then it was when they first begin to learn and work.
You (or some of my students) already work at some IT Company but in another position, not the IT one... Nice, try the transition in your current company, don't put your whole previous career down the river. Do your best to try making that transition at your current company and see how that will go! Software Engineering is a nice profession but it takes time to get used to it, to get comfortable, the stress will be there, etc. Try to make that transition and opening new opportunities for yourself in the easiest way possible.
... and the #2 second most frequent question is:
How to prepare before applying for the first job?
Be active, and build a nice story around you:
- Have a LinkedIn profile with as much info as you have!
- Have a GitHub profile with a few projects as your portfolio
- Find project-based tutorials on the Youtube and follow them, which will bring you project experience for your GitHub profile. These project should be in the style of mini CRUD apps. For example: ToDo Organizers, Calculators, Recepies app, Rock paper scissors game, Tic-Tac-Toe game... or just find some open APIs and play with them.
- Create a StackOveflow account and ask questions there
- ... Try to answer a few on SO if you think that you can give a good answer
- Play with algorithms and that kinds of problem solving tasks
- Have a Twitter account and stay informed about all the tech topics which you are interested in
- Try to commit to some open source projects and give some improvements by the time
- Be part of the local community, go to local meetups, and when you gain some confidence try to speak to the audience
The most important thing is be honest with you and your next employer, be honest about the skills you have and your future learning path.
The most important thing is, to be honest with you and your next employer, be honest about the skills you have, and your future learning path.
These are a couple of lines of text from me this time, hope that this blog post will find some of the young people who are trying their best to become software engineers, hope these tips are helpful for you.
Don't give up, the moment when you decided to learn more about this was the moment when the programming life chose you, I belive in you!
Wish you lots of luck with coding! 👌