Easily the most asked question that I get either in online groups, or direct contact. Often, the person interested is hearing about all these languages, the abbreviations, industry jargon – but know none of it, and want to get themselves into the mysteries of Web Development.
Now, you could go to University for 3-4 years, get a Computer Science Degree, and go into a graduate job; pretty stable path to take. Or, take the more common, and often recommended, path that is being seen in the industry nowadays. Teach yourself. How I hear you ask? Well, here’s a breakdown of what I recommend. There’s also a few tools, libraries, and pieces of advice, along the way.
Choose a language
First and foremost, choose a language that you’re going to use. It’s all very good knowing many, but you’ll struggle to begin with. Get your hands dirty with one to start with, become a master of it – then learn a second later. You’ll find this path far easier.
Some of the most popular languages (and a few of their framworks/libraries) in web at the moment are;
- PHP – WordPress, Laravel, Symony, Drupal
- C# – ASP.NET
- Ruby – RoR (ruby on rails)
- Java – Spring, Play
- Python – Django, Flask
There are others, such as Go, Elixir, and Rust for instance. I’d recommend sticking to one of the 6 above though, as you’ll find they have the most articles, online communities.
My straight out recommendation is PHP. It’s by far the easiest to learn of the languages, it gets a lot of hate online; often rightfully so. However, for newbies to programming, it’s ideal.
Find a mentor / resource
Programming isn’t an easy skill to learn. It’s going to take a lot of trial, and even more errors.
Working alongside someone, or having a resource to work through with you is a great asset.
Often overlooked is YouTube. There are some great content creators that are making tutorials, and live streams of their code. Find one for your language, and see what they’re doing.
Slack and Discord are great places as well. If you manage to find a community, ask around if anyone is available to give you a hand. I’m active in 3 main communities around PHP, and I’ve found that they’re all great for helping people with basic, and even highly advanced issues.
Literally anything. The standard “go-to” task is “Make a to-do list”.
Go for it. Make a basic to do list, and then progressively update it. Make the page interactive. Make the database produce some reports on the todos. Have an authentication layer so that each user has their own list. Expose the list on an API. The options are quite literally endless!
The first project I ever made when I started doing development was a to-do list, and then I made a basic currency converter. They were seen by interviewers, and a few family & friends. But just getting feedback from that select group was positive.
Apply for jobs
Rejection is often hard to take. However, you’ll never experience the euphoria of getting that offer until you take the plunge and apply to roles.
Spread your name far and wide. If you’re not 100% qualified for the role, or there’s a few pieces that you’re not sure about – apply anyway. Worst case, they ignore you, and you’re exactly where you started off.
As an employer who has written job descriptions here’s a few “behind the scenes” snippets that might help you;
- We don’t expect you to meet ALL the requirements
- On site training is always available if you want to skill up
- Passion is the main requirement for ANY role
There are of course the “never do this” rules for applying as well;
- Don’t lie. It’ll never work, and ultimately you’re lining yourself up for failure
- Never apply when you’re MASSIVELY underskilled. Make sure you match a few of the criteria at least
- If you’re a senior with 5+ years experience, don’t apply for a junior/graduate role
You’re not going to get the first job you apply for, nor will your most recent application be your last. If you can, get feedback on your CV, profile, and interviews.
If you failed to land that job at the last hurdle, check in with the Hiring Manager, or person who contacted you regarding your application – get some feedback so you can improve for next time.
Every rejection is an opportunity to get better.
Once you’ve got yourself into the world of development, you might want to prepare yourself for the future. I’ve got a few posts that might help with that!