Thinking about breaking into web development? Unsure if you have sufficient knowledge or if it's too late for you? Maybe you have a friend struggling with taking the leap. Whatever the case, my story might help.
I studied finance & investments at university for five years, then spent another five years working as an analyst for Bloomberg in London. Yet when I turned 30, I joined STRV — starting my journey as a web developer.
As you might guess, the path to get here wasn't clearcut. The biggest roadblock for a person changing careers is the psychological battle. Your brain can easily calculate what you're leaving behind (10 years in finance), but can't really determine what you might gain. Let's go over what to ask yourself when making this big life decision, and how to move forward.
DECIDING IF IT'S THE RIGHT MOVE
Learning what a web developer does is the first piece of the puzzle. Obviously, the ideal situation is to know someone who actually works as a developer, and even better if that someone's also gone through a career change. If you don't personally know anyone that fits the bill, you can easily find someone at a local development meetup (use the Meetup app or Facebook events). You can also read about building a web development career at freeCodeCamp or Medium, watch relevant Youtube videos or listen to a podcast. I did all of that and found everything equally helpful. Remember: You're entering a very broad and fast-moving space, so one developer alone cannot provide all the necessary info.
What intrigued me most was the lifestyle (remote work, flexible hours) and an opportunity to constantly develop myself, learn new things and build something people will find useful. If you like learning new things, this industry is for you. There are new programming technologies popping up all the time and while this can get tiring for someone who's been in the industry for years, those newer to the job find this exciting. This actually gives newbies a great advantage — companies need fresh, flexible minds that are enthusiastic and willing to learn a specific stack of technologies used.
As for having joined STRV, I'm thrilled to have the opportunity to determine my own hours and, even more than that, it's incredible to have smart colleagues around, all of whom help me develop my coding skills and provide guidance when trying new technologies.
READY TO LEARN?
The learning process for new developers can be split into the categories below. Since we all have a different learning style, I mention both pros and cons for each category. I'd recommend starting with the first category (as though it's the first step) and going from there—or choosing and combining what works for you.
Interactive Platforms
If you've never coded before, you need to start with the basics (data structures, conditionals, loops, functions, etc.). The best way to do that is to use a free interactive coding app, such as Codecademy, Sololearn or freeCodecamp basic courses. They are great because you don't have to install or set anything up, which can be a demotivating headache for a beginner. Some of them have a mobile app, too.
The apps teach users that writing code has to be precise. For example, it's not always apparent to new developers that lower and upper case letters matter. Another revelation for beginners is the importance of conditionals, and that showing either 'login' or 'logout' in a navigation menu is just an if condition based on a user being logged in or not. My advice would be to use these platforms to grasp the basics before they become repetitive and lengthy, then move on to more comprehensive material.
Video Tutorials
The next step involves taking more comprehensive video courses that teach how to build an app from the ground up. It is closer to reality than interactive platforms and is a good way to check if you actually enjoy the development process. Udemy and YouTube are great inexpensive sources to start with. Finding the right content among the vast amount of videos might be a challenge, but reviews and the number of subscribers/likes are a good guide.
When searching for videos, finding updated content is crucial given that the technologies advance very quickly. If you use outdated content, you might encounter compatibility issues if the tutor does not specify which version of a library he/she is using.
Once you've found some good options, observe the teachers and learn from those with a teaching style that suits you best. Among free content with good tutors, I recommend Kevin Powell (html/css), The Net Ninja (frontend) and Traversy Media (various tutorials).
Motivation, Inspiration, Clarity
Following a lengthy tutorial, you often get to a point when it's useful to step back from coding and consolidate what you've learned. Listening to podcasts such as CodeNewbie and Syntax or watching YouTube videos like Web Development in 2020 can complement the learning process, help you keep up with the industry's new trends and guide you in what to learn next.
You might also find yourself battling dilemmas such as learning a programming framework (React, Vue, Angular) versus focusing more on core knowledge of vanilla JavaScript, or styling your app with pure CSS versus utilizing a design library (Bootstrap, Material UI, Tailwind). Whatever it is you're struggling to answer, focus on keeping your motivations high by remembering where you're headed: building something real and valuable.
Furthermore, reading freeCodeCamp or Medium articles about career changes or development work also keeps you motivated and inspired. Twitter is great for this as well. And if you need more accountability, sign up for the #100DaysOfCode challenge to join a great community of upcoming programmers, who will support you whenever needed.
Content can feel repetitive after some time, especially while you haven't moved on to advanced topics yet. But personally, I loved this part of the learning process because it's — unlike when you've moved on to actual coding and you have to find free time and really focus. With a full-time job, that usually means waking up quite early or staying up late.
Meetups, Bootcamps, Academies
Meetups are irreplaceable. You get to know real developers who can answer any questions that pop up in your head. Sometimes, the topics might be too advanced to comprehend when you're a newbie, but give it a few months. Keep listening and learning. You'll gain a lot more clarity about standards and new trends in development. I once went to a Jamstack meetup in London (before it became such a buzzword) and the knowledge I gained definitely helped me keep up during various conversations with other developers before officially becoming one myself.
Bootcamps are also a popular way to speed up the learning process, but they aren't for everyone. It depends on whether you prefer learning at your own pace or the pace set by a tutor. Bootcamps can be very intense and a bit on the expensive side, so think twice whether or not the format works for you. While another huge benefit of them is that they connect you with like-minded developers and the industry, you can do that on your own if you put in the time. So if the format does suit you, and you prefer investing money over time — go for it.
As part of their hiring process, some development companies set up academies where they invite both developers and non-developers to attend a series of workshops. It's a great alternative to bootcamps because they are usually free, with no strings attached. You just have to show that you have the right attitude and hunger for learning. The fact that I attended STRV React Nights in 2019 definitely played an important role in eventually getting hired.
Whether you decide to go with any of these options or not, my advice is to keep asking questions. Leave all doubts behind; so what if it ends up not working out? The worst thing that can happen is that you will have spent time on learning something new.
Building stuff
Probably the most crucial part of the learning process is to start building stuff on your own. Here, you will question yourself the most because it is the hardest. Tutorials teach you to follow along, but taking things into your own hands and actually making calls about how to structure your project and code is a whole different ballgame. If you lose confidence, even right at the beginning, there's nothing wrong with turning to your peers or sources for inspiration. Have a look back at the tutorials you've gone through or check out STRV's open source templates.
A big question during this time is: What do you actually build? If you come up with an idea, do it. Starting a project will be your biggest motivation. And if you're low on ideas, a good tactic is to start replicating designs of other websites, even popular ones like Twitter. Google Developer Tools can help to guide you.
A good way to give purpose to your project is by adding it to your portfolio. You probably don't yet have the skills to build something that you could ask money for, so build a website for someone that needs it. It can be your friend, a small local business or a charity. When I was starting to develop, I noticed that a pastry shop near my apartment didn't have a website, so I went ahead and built a simple landing page. The plan was to first build it, then show them. Unfortunately, before I got the opportunity to present it to them, they already had one ¯\_(ツ)_/¯.
Be kind to yourself during this stage. Becoming confident in your coding skills takes time. Nobody expects you to know everything and write code on par with senior developers. Embrace being a newbie.
Mentoring
Having a mentor is not a requirement when becoming a developer. For most of my career-change journey, I've managed to do things on my own. But when I briefly tried mentorship during React Nights, I definitely saw the benefits; it helps you get clarity on many things. From the coding logic you use to technologies you should be learning as a developer, mentorship provides a lot of answers and puts them at your fingertips.
There are specialized websites you can Google to find a mentor. Some are free, some are paid. Or you can take things into your own hands and ask someone to mentor you, be it in person or via Twitter or a different channel. You might be surprised, but most developers are more than happy to offer you their help — for them, it's an activity that lets them hone their skills and, in general, people tend to get satisfaction from giving advice. And of course, should you find a mentor, always respect and appreciate their time.
Teaching
The ultimate way to solidify your knowledge is to teach someone what you know. For example, you can either help other friends who are learning development or write an article. The article can be published on your personal blog, Medium or places like freeCodeCamp. It is totally optional, yet great for your resume and a good habit that will help you gather feedback from others and build confidence.
ON A PERSONAL NOTE
Learning coding can be frustrating at times. The biggest lessons often come from failing and fixing your mistakes, meaning you'll sometimes feel like you've hit a wall. And when trying to make a career shift, hitting a wall can be especially demotivating. You may question whether it's even worth it. Whether it's too big of a risk. My advice is, just remember why you decided to do it in the first place. And try to make the learning process fun!
Having successfully made the jump, I can now say with absolute certainty — to me, this career, this lifestyle, is worth it. And making a big career change later in life than most people, that in itself is a great feeling.
Originally published at aronberezkin.com and strv.com on February 25, 2020.
Top comments (0)