Getting your first job as a developer is tough, here's how to boost your chances.
There are an awful lot of junior developers compared to the number of companies willing to hire them. Unless you take steps to stand out as a candidate you may find the process long and difficult, regardless of how good a developer you are.
Having been on both sides of the fence within the last year, I am now able to give some insight into what companies are looking for and the best ways for you to show it. This article highlights some of the options available to you for standing out and explores them in detail, giving you a real idea of why they are valuable.
It's easy to see why side projects are good for you, but why would a prospective employer be concerned? Because it shows a bit of passion and dedication. It shows you've not just graduated or completed a course and think you're ready to go. It shows you are actively working on your skills and improving all the time, and you're doing it in public (more on this shortly). A CV tells one part of your story, your GitHub profile and projects tell another.
Side projects give you a chance to put your personality on display. You are the sole person in charge of all decisions relating to it. This gives employers a valuable insight into how you work as a developer. Did you use a CSS framework? Did you style it yourself? Did you use SASS? Do you really know how powerful SASS can be? It's all a bit of a rabbit hole, anyone can question many aspects of your code at any one time, but this is a good thing. Now an employer has something to work with, they are interested in the choices you've made and more importantly, as you'll soon find out, why you made them.
Often I hear that people are struggling for ideas when it comes to building applications. This can happen because in theory anything is possible, it can be overwhelming and stop you thinking clearly. One way to get around this is to use the FreeCodeCamp projects as inspiration, it's a great way to get started with and practice your web development too!
Git is a version control system and is extremely important in projects of any size. GitHub is where your repositories are stored. Unsurprisingly, the two happen to go hand in hand.
When working on your side projects, hosting your code on GitHub makes it accessible from wherever you are and allows other people to access it. This is useful for when you want to get feedback on the code you've written but can you get any more out of it?
That would be a yes, you can learn one of the most important skills a developer has to have to in the workplace. Every team will have their own workflow and so should you. It is easy to create a repository and then commit solely to the master branch. If nobody else is working on the project then what's the harm? Technically, none. However, you are missing out on a valuable opportunity to get used to a Git workflow and also show potential employers at the same time.
You can achieve a huge amount with Git using around only 5-6 commands. In your projects, you should aim to make use of all of these and the features they provide. Adding a navigation bar to the top of your page? Raise an issue, check out a branch, make your changes and submit that pull request! Making your projects as close to real life as possible makes it much easier for an employer to see you fitting in with how they work. It also shows them you can reason about planning a project, breaking it down and executing it in a logical order, rather than with no plan at all.
There are lots of resources available for free on how Git works, GitHub and Git Workflows. I suggest searching for these and getting an idea of your options and what you feel works best. Much like choosing a technology or language, there are no right or wrong answers, just be sure you can justify the choice you're making. If you can't manage to find the right resource or want a suggestion - the Atlassian guide to Git Workflows is really useful!
You've got some great projects, now you need to show them off. The perfect way to do this is with a portfolio. A portfolio is a project itself, so make sure you put just as much, if not more, effort into making it fantastic.
Portfolios are great because they give you back control over how people view and interact with your projects. As well as this, you get an opportunity to show your personality and differentiate yourself from the other 50+ applicants. When it comes down to many candidates with similar levels of experience, you need every small advantage you can get, this is another place to make it count.
It's your portfolio, nobody else's, and as such you get a lot of say in how it looks, reads and what content is included. There are however some things you should almost certainly feature, here are some ideas:
How you choose to implement these sections is completely down to you. The best advice I can give is to make sure you like it first of all but seek out and be willing to take feedback on-board.
When designing your portfolio, remember to keep its purpose in mind at all times. This is a showcase of your work, designed to give employers a reason to give you a job, make it easy for them. Taking the projects section as an example, make sure they can easily find links to see the project live and the repository. From the employers' point of view, it's great to see the code written, but it's much better to be able to use view and use the application as well.
You may feel that what you've built is relatively simple but there is a certain level of skill required in making it a genuinely positive experience for the user. Even if an employer is not blown away by your projects there are plus points to be had such as: 'all the projects worked as expected', 'I didn't find any bugs', 'The design was nice and clean'. Frameworks can help you achieve great things quickly, but there's no substitute for knowing your basics.
Lastly, be critical in your thinking and concise with your wording. This is especially important in talking about projects (which all need a description) as it gives you your first chance to show an employer the decisions you've made and a reason why. Knowing that someone can evaluate options and come to a reasoned conclusion is a huge bonus, that's someone that should do great.
I hope this article has given you a few thoughts on how you can make yourself a more attractive candidate and why employers place value on these things. The more you practice, the better you get, a little direction can go a long way, however.
I'll be posting parts two and three in the next few weeks so keep your eyes peeled. These parts will have slightly less obvious ideas which even fewer applicants will think about, giving you a real edge over the competition.
If you'd like to talk about anything mentioned here then the easiest way to do so on Twitter. I'm always happy to talk about anything dev related so drop me a line - thanks for reading!