So you know at least one language.
And if you know more than one, you probably are more comfortable with one of them.
Opinions vary on this one but I would focus my research on job postings that mention that language.
You will need to demonstrate that not only you are fluent with the tasks mentioned in the previous point but that you also know how to navigate the documentation for it.
In the case of languages that evolve rapidly, you will also be expected to know how previous versions of the language works.
I said it earlier, a junior programmer job involves a lot of bug fixing on legacy code.
Not everyone has the chance to work for a Silicon Valley startup on a greenfield project.
Actually, this is the exception rather than the norm.
In some fields, web development being one of them, you will be asked to know at least one framework.
Whether it is React, Rails, Angular, Flask or ASP.
NET or any other popular one, you will need to demonstrate that you can be proficient with a framework even if the job at hand doesn’t require it.
This is to show that you can learn how to work with an external package.
Your troubleshooting and testing skills are greatJunior developers spend the majority of their time on code that was written by someone else.
Not only you should be good at reading and understanding code that is already written, but you should also be familiar with the common troubleshooting methods.
Break points in step-by-step execution, verifying assumptions, and so on.
It is recommended to know at least one testing framework for your language of choice and being able to explain how do you use it.
But even if this is not part of your skill set, make sure that you can demonstrate how you can write bits of code to test your assumptions (the expected result) when something goes wrong.
Senior developers, like any developer, like to create and build new awesome stuff, not fix their previous mistakes.
Impress them by showing them that you can take the troubleshooting tasks away from them!Master the lingoYou will most likely not work alone in a silo, doing your own thing.
As a junior developer, you will be part of a team and be attending (sometimes too many!) meetings.
You will need to be able to communicate with your team and that means knowing the vocabulary.
Say the arguments passed to the function XYZ rather than the stuff that this XYZ thing needs.
It may seem trivial but as a senior developer drowning in an infinite ocean of things to do, getting help from a junior programmer means being able to communicate effectively around a technical topic or this will quickly turn into a waste of time rather than getting meaningful help.
Collaboration is keyAs an echo to the previous point, you will also need to know how to collaborate on an existing code base.
That means mastering collaboration tools to a degree.
For example, make sure that you know at least one source control system.
Knowing how to work with Git and GitHub is a safe bet.
You can easily demonstrate that you possess this skill when showing your portfolio (more on that later).
Participating even slightly in an open-source project goes a long way to impress!Bring in some domain knowledgeThis is probably the most important point and surprisingly, it gets overlooked by many job-seeking programmers.
You will never be hired to write code for the sake of writing code!.Programming is all about solving problems and automating tasks.
However beautiful your coding style is, if it doesn’t solve anything, you will never be hired.
If your background is in the travel industry, try targeting online travel agencies.
If you know everything about shipping containers across the oceans, target companies that are active in the field of logistics.
If you studied accounting, try to break into the FinTech industry.
If… well… I guess you got it.
Don’t get me wrong.
It is very common for programmers to be hired in an industry they don’t know anything about.
But it is very unlikely to happen for a first programming position.
You need to bring something to the table and obviously, it won’t be your years of experience in coding professionally.
Showing that you can do itEach time a company hires someone, they are taking a bet that the selected candidate is the person for the job.
You can help sway the decision in your favor using several tips.
Here are two of them that usually impress me when I’m in the recruiting position:Have a portfolio: this is especially important if you are self-taught as you won’t have any fancy degree that could put the recuiter mind at ease.
Come with several personal projects that you have worked on.
Explain them and why you made certain technical decisions.
Bonus point: your portfolio is available on GitHub and your code is fully documented.
Extra bonus point: your portfolio includes your participation in an open-source project and you can demonstrate that you can collaborate with other developers.
Come prepared: again a trivial point but so many times overlooked.
Come to an interview with diagrams, screenshots of your apps, technical architecture of your project(s).
This serves to demonstrate that you can think about code but also explain the reasoning behind it.
And of course, it makes you look engaged because you took the time to prepare something.
ConclusionThe job market for programmers is thriving.
In many industries, the demand exceeds the supply.
Code is everywhere and although you may think that everyone is doing it (this is a normal bias because of the time you are spending in coding circles), just go ring the bell of the people living in your street and ask them if they can code professionally.
You will notice that you are a rare commodity after all.
I hope these few tips can help you on your journey to become a programmer and make a living out of it.
If you are still at the beginning of your learning journey, I’ve recently produced a course on programming called Thinking & Creating with Code that is available at the EPFL Extension School.
It’s all about getting these basic needed skills.