I started to code when I was 27.
Before, I was a professional musician. I studied pop music, specializing in bass guitar, and made a living playing concerts and recording songs for German artists. In 2020, the pandemic rendered every musician I knew workless, and I had to learn something new.
So, in March 2020, I installed VSCode and got to work.
Nine months later, I got my first self-employed gig as a software engineer. Another three months later, I was hired at Parqet, a fintech company I still work for.
I got lucky for sure, but some decisions greatly impacted my journey.
I want to share those with you.
From Musician to Startup Engineer
My idea to pick up coding didn't come out of thin air.
When Covid hit, I had already thought about it for a while, primarily because I thought Mr. Robot was a fantastic series and I would have loved to hack just like Elliot, and secondarily because a drummer friend had proven it to be a good idea by first learning Splunk and then starting to work at a data-analytics company.
So, when I realized in March 2020 that I would get months, maybe even years of free time, I purchased a couple of Udemy courses and marched down the rabbit hole.
I created portfolio websites and designed pages using flexbox, wrote Express applications, completed CodeWars katas, and devised simple SQL queries. It was fun. However, Germany's job center, typically unsatisfied with anything that doesn't involve an official licensing paper, kept calling to ask about my career plans and how I intended to make money.
So, in September 2020, in an attempt to soothe the bureaucrats, I started a web development bootcamp.
At that point, I had already learned the basics, so most of the course's topics came effortlessly. The questions I did have were more advanced than those of the other students. Some instructors struggled to answer, but one, Joe, was excited to be challenged. He quickly took me under his wing and became my private mentor.
After I finished the course, Joe asked for help with his startup.
He had built a fintech application and wanted me to add a multi-language mode. I did my best, which was terrible then, but he was happy about the result. Joe didn't have any more work afterward, but he recommended me to another founder in the fintech space.
That founder's name was Sumit, and I started working with him at Parqet.
When I started, we were two engineers on the backend: junior me and senior Kevin (an incredibly talented guy and by now a friend; he currently works at Supabase).
This equaled private mentoring, so I learned a ton.
We've since evolved into a team of five developers and Parqet continues to grow steadily. Considering the pay, remote work hours, and the responsibility and freedom I have (and anything else, really), it's a dream job.
What I would do again
I love practicing. During music university, I regularly locked myself in the basement for four hours or more to work on bass lines, scales, technique, and timing. To this day, I love such a strict regimen.
So, in bootcamp, I was more of a hard-liner than my peers, trying to squeeze out the maximum learning experience.
While some things were needlessly stressful, here are four things I'd definitely repeat.
1. I'd try to master the basics
There are a gazillion frameworks and libraries in web development.
But regardless of what you'll end up using or what project you'll work on, you'll always deal with the basics. You'll write for-loops and filters to manipulate data with JavaScript. You'll choose the correct HTML tags for your cards and navigation menus. You'll write CSS to make your content readable and your UI easy to navigate.
The better you understand those basics, the more productive you'll be.
Plus, a firm grasp of the basics is a requirement for getting hired.
A team of senior developers will enjoy and benefit from teaching you advanced concepts, but if they must teach you how CSS and JS work, they're wasting precious time explaining something you could quickly learn on your own. Not knowing the basis means slowing down your team.
So don't waste time learning all the shiny new tech. Instead, master your HTML, CSS, and JS.
Here's an incomplete list of concepts you should know inside out:
- JS: Closure, event-loop, Array & Object methods, prototypes, "this" keyword, async-await
- CSS: Specificity rules, flex & grid, inheritance, positioning, etc.
- HTML: the most common tags, inline- vs. block elements, accessibility, inputs, buttons, etc.
2. I'd purchase multiple sources of information
I didn't only buy one course or book on JavaScript – I bought many.
Any learning material, say, an online video course, will try to explain mental models of its core topics. You won't understand some of them, but the issue isn't that you are stupid (though many junior devs regrettably think that about themselves). Instead, it could be the mental model is vague, the course assumes a more knowledgeable viewer, or the teaching style doesn't resonate with you.
What helped me overcome these issues was having multiple sources of information.
For example, I struggled with async-await. My course didn't explain how the event loop worked, so I didn't understand how JavaScript could wait for a task to finish and simultaneously do other tasks. My mental model was incomplete. I had no chance of understanding it.
Thankfully, the second course and another book I had purchased brought relief. The additional info bridged knowledge gaps, and I finally could comprehend the topic.
3. I'd try to force myself out of my comfort zone
Learning to code is like learning to speak a language.
When learning Spanish, you can't expect to get better by only repeating what your audio-book instructor says. You need to speak. You need to express your own thoughts using vocabulary and grammar you're unfamiliar with.
But most coding newbies don't do that.
Instead, they go through tutorials step-by-step and mindlessly follow instructions.
Doing so won't teach you anything. To improve, force yourself to think and work like a programmer: Equip yourself with knowledge, pick a problem, devise a plan to tackle it, and debug and research and fumble your way to the solution.
In short, step outside your comfort zone.
You can achieve such a learning experience with books and courses, provided you use them right. Instead of reading a paragraph and immediately executing the instructions, read the entire chapter. Take notes on objectives and upcoming stumbling blocks, then close the book. Try to complete the tasks using only your memory and notes, and reopen the book only if you've been stuck for at least twenty minutes.
Doing this, you'll be outside your comfort zone. But there's no reason you won't finish the project; due to your initial read, you have sufficient knowledge to not be overwhelmed.
You'll internalize more lessons than by only going through the motions.
4. I'd spend time to meet people and maybe find a mentor
A single friend with contacts can save you from writing 100 applications.
I knew this from my days in the music industry, and meeting Joe, who later introduced me to Sumit, further confirmed it. But meeting people can, amidst coding tutorials and writing applications, and since the results of meetups are not directly measurable, become an afterthought.
It shouldn't.
Instead, you should treat meeting people as an obligation, a higher priority on your to-do list (without becoming a sociopath, of course).
Spend two hours researching which developers who share the same tech stack or interests live in your town, which meetups happen regularly, and whether there are any large events like web development summits within driving distance. And then, visit them! I've been, for instance, to indie-hackers and Supabase meetups and had several coffee chats.
You might even find a mentor.
Receiving feedback from an experienced developer is the best way to accelerate your learning journey. I was lucky to work with Kevin during my first years at Parqet. While I sometimes felt frustrated when I revised my code according to his critique for the umpteenth time, the result was always better. Years later, I still draw on his lessons.
If you're willing to learn, finding someone who takes you under their wing is easy.
People enjoy helping others, especially those they like.
Parting Words
You might spend extra cash or time following my advice, but I'm confident it works.
Following those tips won't guarantee that you will get a great job quickly. Still, I believe they will significantly increase your chances. They certainly increased mine.
I wish you all the best on your journey. Please share any other tips or success stories you have.
Top comments (0)