It doesn't matter what you look like or where you're from. Anyone can become a professional software developer. I did! And in this post, I'll show you how you can too. It takes a lot of dedication and a pinch of luck.
University
Some people who enroll in university have their career path all figured out. My journey has more twists and turns.
After studying International Business for Asia, I felt pressure to get a job that put my expensive degree to good use. Yet, none of the opportunities spoke to me.
I don't consider myself exceptional, and companies wanted the brightest and youngest minds with lots of experience didn't help either. I was clueless about what I wanted to do with my life.
Eventually, I found an opportunity to move from the Netherlands to Greece and work as a Customer Support Agent for Google.
The chance to move and work for Google sounded great initially, but the work wasn't very rewarding for me.
Around this time I reflected on my past experiences and realized coding might be a good fit for me. But where to start on a budget?
I failed to learn to code
A few years earlier, as part of my studies, I was fortunate to work as an intern at a coding school in Kuala Lampur.
I wasn't a coding student, but I wished I was!
I tried to teach myself code in my spare time, but I couldn't do it back then.
Data science, Python, and SQL spoke to me, but it all turned out to be much more challenging than I anticipated.
Learning to code was going to take a dedicated push, but I was already committed to my degree. So I quit coding.
Thankfully, that isn't the end of the story.
Attempting it again
When churning through support tickets at Google, I reflected on what I wanted to spend the rest of my career doing.
That is when I remembered my experience at the coding boot camp and my itch to learn to code! Still, I wasn't sure where to start.
When I worked at the boot camp, I learned about the different places you can start to learn to code:
- Bootcamps like Le Wagon
- Courses
- Books
- YouTube
- University
The thought of learning to code in an exotic place like Bali appealed to me, but not so much to my wallet! So I had to look for an affordable alternative. That's when I discovered freeCodeCamp!
On freeCodeCamp, I learned the basics of HTML and CSS, which got the ball rolling. I love freeCodeCamp and appreciate how they make coding accessible to all!
When I continued and started learning about JavaScript, things got more challenging. It felt like the time I tried to grok coding before and quit. That scared me. Quitting was not an option this time, so I pushed through.
If you're learning to code and find it difficult, don't stop!
I was very tempted to call it a day and decide that programming was not for me. It would've been the easy way out. But something inside me kept the flame burning. Maybe I needed another resource? One that suited my particular learning style.
I opened Google and started looking for a JavaScript course, and that is when I came across a 7-hour JavaScirpt course on Scrimba by Per Borgen.
Per? Never heard of him. Scrimba? I never heard of them either. A seven-hour long course! Who in the right mind watches a course that long? Well, I did! And if you want to learn to code and are on a budget, I highly recommend watching the same (introductory) course on JavaScript!
Learning to code is a marathon.
Although you'll sometimes see stories about prodigies who learn to code in 3 months, that is not typical. Most people need to stay consistent for many months, which can be lonely.
Upon reflection, freeCodeCamp lacked human interaction compared to Scrimba. On freeCodeCamp, I was staring at a screen, trying to make sense of what was happening. Scrimba has this interactive editor that makes it feel like you're coding alongside the teacher. Not only did this make my learning more engaging, but it also helped me get a better grasp of JavaSCript and thinking like a programmer in general.
After following their free course, I upgraded my account to enroll in the pro javascript and CSS courses.
You don't have to spend money to learn to code. However, if you're serious about learning to code and have the financial ability, I can say that Scrimba provides a 'bang for your buck.
When are you ready to apply?
My goal was to become a professional developer, but no one tells you when you're "ready" to start applying. Much less when you're self-taught.
Reading job descriptions it's easy to count yourself out. I did until I heard some golden advice, which I want to share with you.
Job descriptions are basically just wish lists for employers.
If an employer found a candidate that meets every requirement, this person would be over-skilled and probably lose interest rather quickly.
If a job description mentions the experience needing at least two to three years, applying with zero to one year of experience is sometimes viable.
If you've been coding for a while and built some cool projects demonstrating your abilities, you may be nearing the level needed to apply for junior roles.
In general, you'll always feel a little bit insecure, and that's normal. Also, remember that personal circumstances may affect when you (want to) start applying. Go with your gut. It's usually right.
How I found my first developer job
I started applying a bit on the early side and received a lot of rejections. That is okay! Every time I got rejected, I felt more comfortable with rejection and even realized a few mistakes I could correct to improve.
I sent out applications via email, on the company's websites, LinkedIn, and Indeed. Getting noticed as a junior web developer is tough.
So I tried to tailor my LinkedIn profile as best as possible and include complete information.
This means,
- writing an introduction
- listing your education and experience (even if it's not tech-related)
- Make sure to include some skills and certificates.
It can make a difference!
Still, after applying, I didn't get any interviews or jobs. Getting interviews as someone with just five months of experience is difficult. I think I should have waited a bit longer, but your experience might be different.
When looking for your first job in tech, you need luck. You always need luck, but especially so in this case. Because even though you're (mostly) applying for junior positions, there will always be applicants with more experience. Then, it doesn't matter how driven you are or how bad you want to prove to them that you can do it. Employers often go with the most experienced pick, how unfair that may seem sometimes. That's why you need luck and time on your side.
I have done about five to eight interviews and only made it to the second round of interviews once.
But then, suddenly, I received an email from a company that wanted to speak with me. And it went well.
Within a <span> (see what I did there?) of nine days, I had my second interview, completed a small coding challenge, and accepted their offer!
I want to stress that I was very lucky and that, with my experience, I should have waited longer to apply.
Getting a job quickly is possible (especially if you pick up the necessary skills and thrive at it), but it's better to play the long game! Make sure you know your stuff. The rest will come naturally.
I wish I had spent more time on JavaScript
J A V A S C R I P T! If you learn frontend web development, chances are you'll learn JavaScript. If you do, I urge you to spend a lot of time with this language, get really comfortable and try to understand it as best as possible.
I recognize that I should have spent maybe two to three months longer learning the ins and outs of JavaScript. Did it work out in the end? Yes. Am I confident I know enough JavaScript to do my job and complete a project? Yes! However, I would have found success more smoothly if I had spent more time learning the language. You might too.
Misconceptions
When you first start learning to code, it's important to understand that you do not need to remember all the syntax by heart. You need to comprehend the core concepts, know how to Google your problem, and read existing code in such a way that you can say, 'ah! If I use this (snippet) and change X to Y, I can make my program work!'.
When you see memes saying that software engineering is mostly just copying code from Stack Overflow, it's not all a lie.
Most of your time, you'll be searching the internet for a solution to your problem. This brings me to my second point, problem-solving.
Although difficult to 'just learn', I would have wanted to spend more time trying to solve (complex) coding challenges on, say Codewars. This is because problem-solving is extremely important. Building websites isn't all hard-coded HTML, so you need to be able to build custom-made solutions. You'll then run into problems that you need to solve.
My Asian roots are letting me down once more because problem-solving doesn't come naturally to me. I want to stress the fact that that's okay! With practice, I can and will get better at it. And so can and will you!
It's not always about being a natural-born talent. Hard work and dedication can also get you to your destination.
The verdict
Getting started with learning to code can be daunting. There are absolutely zero guarantees as to whether you will succeed.
It's important to pick resources that will help you become a software developer. While Scrimba worked for me, another resource might be your best pick. Don't go with the flock. Find your preferred learning method through trial and error. This will ensure the fundamentals are set correctly.
When you have found the right platform for you, it's time to start learning. You absolutely need two key things to succeed: dedication and consistency.
If you learn to code while working or studying full time, hats off to you. Recognise that makes everything harder.
Regardless of your situation, you will need to stay dedicated to your goal and stay consistent. It's better to code an hour every day than eight to ten hours one day a week.
From going to university to doing something I never thought I would/could do, it's all possible with dedication and consistency.
What you do in life doesn't always need to be set in stone.
As you can see, even if you are college-educated and sort of have an idea in which industry you end up working, it doesn't necessarily mean it's your passion. Have an open mind, and learn new things. And if you studied for something and did choose a profession in that industry, totally fine too, obviously.
If you're a career switcher like me or are thinking about switching careers to tech, know it's possible. It's never too late. Although I'm still young, plenty of people have achieved greatness at an older age. Don't let that be the deciding factor in choosing against it.
I believe in you!