Landing your first web development job
Maybe you’ve completed your final project and finished your bootcamp or you are considering a change of career and you’re navigating the tricky business of landing your first job as a junior developer. This can often feel like the hardest part and may seem overwhelming but be persistent and you’ll get there.
Where to start
Modern web development is a vast subject, you can’t possibly be expected to know it all right?
Be active on GitHub, this may seem daunting for a newbie but this doesn’t have to be mean doing a huge side project or contributing to OS straight off the bat. On that note I would also steer away from opening pull requests to update typos in the README’s just to get your contribution stats up.
Ideas for starting small on projects
- You could save same of the snippets of code you’re particularly proud of to a Gist. This can be something as simple as a small code kata, it still conveys your passion and commitment to learning.
- Look at interesting repos and star them to follow their progress. Be prepared to talk about why you have starred these particular repos.
- Clone small projects and try an build something on top of them
- Follow tutorials but add something extra to it once you’re up and running. Here is a starter project I created for getting your own React web app with auth included, all instructions are included in the README.
Having activity on GitHub gives the interviewer something to look through beforehand which can help steer the discussion onto concepts you’re comfortable with and gives you some good talking points. Don’t feel that you have to do all of these suggestions, adding anything to your portfolio will be invaluable.
Get comfortable with coding
Although it might not be the most enjoyable experience companies are likely ask you to participate in a pair programming session. This will often involve solving a small code problem to assess your communication and problem solving skills. So with that in mind it’s definitely best to get some practice in for these short exercises. You don’t want the interview to be your first time trying one. There are a few sites out there with lots of practice problems, codewars is a very popular one. You can start simple and as you gain confidence you can increase the difficulty and progress up the levels.
Another common challenge is Fizz Buzz. Never heard of it? Try solving it without googling the answer. Already done it? Try optimising your solution. This is a useful exercise with any code problem and something you may be asked in a pairing exercise and a great example of something to save to a Gist.
How the web works
Although you are by no means expected to go into a lot of detail on this subject having a basic understanding of how the web works will be necessary if you’re going for a web development role. Being able to explain how clients and servers work to serve a webpage to the end user is a good exercise to practice. As well as being aware of how HTTP requests work and common HTTP methods. Hopefully the resources I’ve linked to are a good starting point for understanding the web.
How you bring your designs to life on the webpage. This can be tricky when you’re first starting out, I would try and copy a design you like, you can also inspect companies webpages to see how they positioned a certain element or added a cool animation.
Getting to grips with the CSS box model is a good place to start. Understanding the how the browser represents each element in the document tree. Once you have an understanding of that you can move on to layout.
Flexbox is a powerful layout tool to know for positioning elements, here’s a really great resource which provide tips and tricks for using Flexbox. CSS can also be a useful tool for accessibility for example having sufficiently contrasting colours so all users are able to see the text. If you’re interested in CSS then if might be worth exploring some popular frameworks that use concepts such as CSS in JS.
Not just a hot topic this is a really important subject for web users and something that’s good to be aware of so you can code accessible technology. This enables users using screen readers to traverse your web page, fill in forms, navigate the website easily.
Semantic html is the basis of having an accessible web page. By using the most appropriate html element in the correct context it can ensure better accessibility. How do you know what the right element is? This MDN page can help you get started with the basics of semantic html. It has other benefits as well and is considered best practice as well as being lighter for mobiles and good for SEO (search engine optimisation).
A standardisation document has been written on through the WAI-ARIA initiative (Web Accessibility Initiative — Accessible Rich Internet Application), a good overview to get started can be found on MDN. This essentially adds more attributes onto html elements to provide additional semantics and help improve accessibility.
It’s not all about your coding skill, engineering teams are trying to get a feel of you as a person and see if you’ll fit in. One great way to demonstrate these skills is in the pair programming exercise. Don’t forget to speak your thoughts, this can be incredibly daunting especially if you are stuck but this is when it’s most important. If they know what you’re stuck on they will often give you hints to help you through the problem. Besides this rubber ducking can often help you solve the issue yourself. Being articulate and able to communicate well is a huge part of being in a software team and something they will rate highly.
Stand out from the crowd
Each company will be looking for something slightly different so do your research! It’s often as simple as reading their websites, companies will have career sections, engineering blogs or public GitHub repos that can give you some insight into how they work. Answering the “Why do you want to work here?” by showing that you have invested time into looking at the technologies they use, their engineering principles or cool blog post they’ve written can be a big plus.
Don’t be afraid to ask questions in advance of your interview. Knowing what their tech stack is and asking what is expected from your technical interview can help you target your preparation. For example do they use a framework such as React or Vue, if so it can help to start to learn these or read about some of their prominent features in advance.
Knowing the structure can also help calm pre-interview nerves. Knowing if they expect a certain language in advance will mean you are not penalised for not knowing something. I believe the format could be flexible for a lot of companies so don’t be afraid to ask for the technical test to be in the language you are most comfortable with.
Finally remember to learn from the ones you didn’t get. If feedback isn’t offered automatically you can ask for any comments provided by reviewers on home tech tests and feedback from your interviews. It may be uncomfortable and companies may not be able to provide any targeted feedback but it can be very useful in helping to focus your future learning.
Landing the first job feels like the hardest thing but it’s worth it, once you’ve achieved that you’ve changed your life. Good luck!