I have been a web developer since 2015, and I can honestly say I still immensely enjoy what I do. I consider that a very fortunate position to be in, and as such I would absolutely recommend this career to you.
Why Become a Web Developer?
There are amazing benefits, the salary is decent and in the right company, the work/life balance is fantastic. You are also pretty much guaranteed to be in high demand with employers. As if that wasn't enough, the job is very flexible and you should easily be able to pick up a remote role, if that tickles your pickle.
I was doing a completely different job before this, and I taught myself the skills necessary to become a developer. It’s never too late, and if I can do it you can do it!
Of course, coding will suit some more than others, and I cover that in more detail in my is web development right for me post. But in general, I believe you should give it serious consideration if you're already curious. And that's probably a safe assumption if you're reading this post!
So, you’re sold. You want to become a developer. What next?
What Do I Need to Learn?
Here are a few basics you need to have in your arsenal. Don’t just read the blogs and watch the courses, make sure you put it into practice and actually get writing code as soon as possible. This will help you absorb the information and cement it into your brain. Start on some fun projects and when you stumble upon a problem (which as a dev you inevitably will!), find the solution. Work through it, understand it, and that process will really help things to stick. Don’t just copy and paste fixes from StackOverflow without understanding what they do. No one would ever do that now, would they?!
Hyper-Text Markup Language is at the core of every page on the web. The very text you’re reading right now is written in HTML. The images you see throughout are added by HTML. Everything you see has been added via HTML (albeit generated in a variety of ways) and this is the first place you need to start on your journey.
Cascading Style Sheets are the next logical step, as they allow you to style those HTML elements you’ve placed on the page. Want to make your headlines bright pink and so big you can see them from space? CSS is your friend! You should totally do that, by the way.
Front-End Library (React, Angular, Vue etc)
Version Control (Git)
This is a big one when it comes to what you need to know as a web developer. When I started my first job as the only developer at a small design business I had no clue about version control or what it entailed. I was uploading new index.html files and renaming old ones to “index.old.html” all over the place! Such was my fear of irretrievably losing something vitally important and causing my company to go under! Little did I know that Git was the answer to all my problems.
I Brilliantly Learnt All That, What Next?
That’s a pretty good start for what you need to learn initially. You should be able to start a junior role with this level of knowledge.
That's the other thing as well, don't just assume you need to be a rockstar programmer from day one in the job (like I did)! Junior roles exist for this very reason. You will be employed with the understanding that you are only just starting out, and still have a lot to learn. The right company will support your development, assign you a mentor and work with you to improve your skills.
Put Together a Portfolio
Remember those projects you’ve been working on while you’ve been learning? Time to put those to good use.
First up, create your own portfolio website which you will call home. This will host all your projects, information about you and a way for people to get in touch.
Pick some projects you’re particularly proud of, or make some things from scratch if you want to make sure things are really well polished. Apps, websites, whatever you like. Make something you believe best shows off your awesome new skills!
I would say you want at least a few good examples to best showcase your work. Don't spend months on end on them though, you want to get out there and hunting for that exciting new challenge!
Also consider contributing to open source projects in order to build up some experience and have something you can use as another example of your work.
Finding the First Job
As I mentioned above, start out by looking for junior positions. They will have lower expectations of you and will support and develop you as you are just starting out.
Sites like Indeed and Glassdoor are a good place to start your search. Another great place to network and get your name out there are tech meetups in your area. You automatically show willing and enthusiasm to get a job if you're going out of your way to attend these events.
Ignore the ads that are looking for a "junior" dev with 20 years experience in building full stack, greenfield, enterprise applications supporting millions of users. Trust me, everyone else thinks they're as crazy as you do. Realistic expectations are the name of the game! It's not exactly rocket science to realise a junior dev will likely never have had a dev job before.
If you’re struggling to find something, be prepared to start at a lower salary if at all possible. At my first job I agreed with my employer that I would start on a slightly reduced salary for the first few months, increasing to the advertised amount once I’d proven my skills.
This can be a good strategy for your very first job, as it allows you to get a foot in the door! Anything you apply for after that you’ll have the benefit of your existing employer to provide references and vouch for your mad skills.
Try standing out from the crowd to your potential employer. Before my interview with my first company, I did my research and discovered their site wasn't responsive! So, I recreated the homepage mobile first, and made it responsive so I could demo what I'd done in the interview. This definitely gave me an advantage over any other potential candidates.
Is a Computing Degree Necessary?
Short answer, no it’s not. I do actually have a degree in Computing Studies, and (I would hope!) it helped me in some way by looking good on my CV. Having said that, I know of so many developers who do not. And it is most definitely not a requirement in order to get a coding job.
There are also other options available to you. Boot camps are a popular choice, and although I have no personal experience with them I know of several devs who went down that route and landed jobs through doing so.
The other option is to teach yourself. This is actually what I did when I realised I wanted to switch things up and concentrate on development for a career. Athough I'd graduated in 2006, I didn't end up starting my first dev job until 2015. My time in-between was spent in other jobs and travelling for a year. It was when I returned that I knew I wanted to change tack.
What Are Some Good Learning Resources?
I'll preface this by saying this is a very subjective area, as we all learn best in different ways. Some may prefer watching video courses, some may prefer reading articles or books.
Udemy is a fantastic, well established learning resource. The courses are not free, but you'll find they frequently have sales where they are heavily discounted. One instructor in particular who I find explains things in a clear, easy to understand manner is Stephen Grider. Check out any of his courses and you won't be disappointed.
freeCodeCamp is not one I am personally familiar with, but it comes highly recommended on Reddit.
CSS-Tricks gives lots of high quality articles and guides on all things web development.
StackOverflow is the one place you will go back to time and time again, for solutions to your problems. As a developer, chances are you'll hit on a problem that other devs have experienced before, and StackOverflow is where they will have posted about it. You are pretty much guaranteed to find the solution to your problem here.
Mozilla Developer Network (MDN) is the daddy of all resources, providing in depth documentation and guides on all things web.
Web development is an excellent choice in today's job market. The barrier to entry is relatively low, but it will suit someone who is self-motivated and a good problem solver. You will have great job security as developers are in high demand. Websites and apps are not going anywhere in a hurry.
I hope that following the steps in this post gives you a great start, and ultimately lands you your first development job! Let me know how you get on in the comments section!