Before the pandemic, I spent my whole life performing, teaching, and composing music. But in June of 2020, I made the decision to learn how to code and successfully landed a job as a software developer.
Here is the story of how I learned how to code using freeCodeCamp and the lessons I learned along the way.
My life pre-pandemic
In my previous career, I led a very active life of teaching, composing, and performing in recording sessions, operas, musicals, orchestras, and wind ensembles all throughout Southern California.
My main instrument was the oboe, which I studied in college at the Eastman School of Music (Bachelor's degree) and the University of Michigan (Masters degree). Here is clip of me performing a concerto with the Los Angeles Winds.
I also had an entrepreneurial spirit and ran my own sheet music company called JDW Sheet Music for 8 years. I was very happy with the career I had built, but March of 2020 changed everything for me.
At first, I thought the pandemic was only going to last for a few months and I would be able to return to my music career. But to my surprise, the pandemic opened me up to the world of software development.
The project that inspired me to learn how to code
In June of 2020, racial tensions in the United States were at an all time high because of the murder of George Floyd. There were sweeping protests across the states and discussions of lack of diversity in many industries including in the classical world.
Many friends and colleagues of mine were reaching out about resources to learn more about black classical and jazz artists from the past and present. I quickly realized there was no central website where people could find all of this information.
That is when the idea of the Black Excellence Music Project was born. I wanted to create a site that was educational and filled with hundreds of artist profiles and games.
So I decided to learn how to code – but had no idea where to start.
In the beginning of my coding journey, I bounced around to different online resources to start learning HTML and CSS. While I enjoyed learning with these classes, I really wanted to find a resource that I could stick with and follow a particular path.
In July of 2020, I discovered freeCodeCamp and decided to give the curriculum a try. I really enjoyed the interactive learning environment and learned a lot by building the certification projects.
While I was learning, I wanted to join a community and connect with other self taught developers like myself. So I decided to join the freeCodeCamp forum and hopefully learn from other developers.
Little did I know, my participation on the forum was going to lead to new career opportunities.
How I met Quincy Larson
When I first joined the freeCodeCamp forum, I never planned to be that active. But the energy was so welcoming and informative that I found myself answering a lot of questions and offering words of encouragement.
After a month of being active on the forum, I received a message from the man himself, Quincy Larson.
We set up a google meet and ended up talking about our previous careers prior to tech. He then suggested I become a writer for the freeCodeCamp News publication.
I was shocked but excited for the opportunity, so I decided to fill out the application and was accepted as a volunteer author.
And just when I didn't think things could get any better, another opportunity came knocking at the door.
Looking for a Junior Developer
Around the same time Quincy reached out to me in October 2020, I received an email from a guy looking for a junior developer to do some small tasks for his software company.
At first, I wasn't sure if that was legit or some sort of scam. So I decided to do some research and found out this was legit.
The meeting ended up going well and the type of work I would be doing sounded interesting. This wasn't a full time job, but it was enough to gain me some experience while still learning how to code.
Before I said yes to the job, I did ask him one question, "Why did you pick me?"
He explained that he found me on the forum and liked the answers I was providing other users. He understood that I was very early on in my career but figured I could learn well and pick things up quickly.
2020 had ended on a strong note and I was ready for the challenges ahead with this new part time developer job.
My first experience of imposter syndrome
When I got started with this new part time job, there were plenty of times where I felt out of my element. The first moment was probably when I had to setup the project on my local machine.
Up until this point, I had never worked with a real world application. I had only built small projects for classes or deployed personal projects using GitHub Pages.
But I had never dealt with setting up a project that included a database and backend system. My boss was walking me through the setup and giving me list of commands to run in the terminal, but I barely understood any of it.
In that moment, I started to doubt if I was really cut out for this and maybe it was a mistake to hire me. But he reassured that I was doing fine and it was completely normal to struggle with this stuff.
Over the course of 2021, there were plenty of moments where I felt like maybe I wasn't able to do the task assigned to me. But I keep trying to reassure myself that this was a learning opportunity and I was meant to grow from it.
That first gig was very valuable, because I started to learn how to work in a real codebase and was learning how to refine my code from a senior developer. I now consider him a mentor and good friend.
2021 was looking like a promising year in tech and during the summer, Quincy reached out to me again and offered me a position to write as part of the freeCodeCamp team.
With my confidence at an all time high, I decided to pursue a new career opportunity in late 2021.
Hello This Dot Labs
They left a comment on one of my posts about joining their next Women in Tech meetup and so I signed up to check it out. I fell in love with the atmosphere of the meeting and met some incredible female software engineers.
I continued to attend their monthly meetups and started becoming more active with the other events they hosted. I also started to reach out to other current and former members of the company to set up short coffee chats to learn more about them.
For the next few months, I continued to build up relationships and my technical skills. In December of 2021, I decided that the time was now to hit apply.
The interview process
The interview process for This Dot Labs consisted of a set of behavior questions, take home project, and final technical interview.
The take home project was similar to the projects you can find in freeCodeCamp's Coding Interview Prep section. In the final technical interview they asked me questions about my previous developer work experience and my personal projects.
They wanted to know about the features of the Black Excellence Music Project, why I choose React for the project and future improvements. I felt like I developed a good rapport with the interviewers and made sure to answer all of the questions as honestly and in as much detail as possible.
When I received the email that I had gotten the job, I was excited. I knew this would be a good learning opportunity for me and a great next step in my career.
My first couple of weeks on the new job
My first day as a junior developer at This Dot Labs was on Valentines Day 2022. The morning was filled with onboarding meetings to help me get introduced to my manager, the team, and the project.
It was a little overwhelming at first, because I had some trouble getting the backend setup with the new project and there was a flood of new information to digest. But I tried to do my best with asking questions and connecting with my new teammates.
The first few weeks were filled with meetings, code reviews and completing my first few tickets. I had moments of imposter syndrome because I was much slower than the rest of my team who are more senior than I am.
But my team was very supportive and reassuring that I was progressing well. I started to find a groove and gained more confidence in my skills.
Lessons I learned along the way
This last year and a half has been one crazy, unexpected, fun, and sometimes frustrating experience. But I did learn a lot of good lessons along the way.
Learn the fundamentals well and don't rush through things
I came from a non technical background, and learning how to code didn't always come naturally to me. There were plenty of moments where I struggled with lessons or class projects and started to doubt if I could learn how to code.
But I kept going and decided to take things slow. I knew there was no benefit from skipping the fundamentals and rushing through the learning process.
My advice to newcomers is to build a good foundation in the fundamentals and build a lot of projects along the way.
I built tons of small projects just for learning purposes. Building projects allows you to better understand how the technologies work and builds up your technical and debugging skills.
Build a substantial unique project you can talk about in interviews
One of the biggest mistakes beginners make is displaying class projects on their résumés and portfolios. The problem with this approach is that hiring managers and recruiters have seen those same projects dozens of times.
Class projects are great for learning purposes and serve as good practice when you are first learning. But it is important to also build projects that take some time and have more substance to them than small toy apps.
Remember that interviewers will ask you about your projects and the features you added. If it is a small class project that took an hour or two to build then there won't be a whole lot to talk about.
My advice would be to build something inspired by your previous career or personal hobbies. Or maybe even build something that helps you automate some tasks at work or something that benefits the community you are in.
Learn in public
Learning in public can be a great way to connect with other developers and possibly lead to unexpected job opportunities. I would suggest joining Twitter and posting periodically about your progress.
You can post about classes you are going through or projects you are currently building. The 100 days of code challenge is a popular way to do that.
Remember that consistency is key and posting good content over a period of time will help you build out a following. You also never know who will be reading your posts.
Join a community and connect with other developers
No matter where you are at in the your learning journey, it is extremely important to join a community of developers to learn from and connect with. I have learned a lot from the communities I am a part of and met great people along the way.
When you are connected in a community, they can help you through the difficult learning moments and help you find good job opportunities. Hopefully, you can lift others up and help them along the way, too.
There are plenty of tech communities to join including meetups, discords, chats, Slack groups, Twitter and more. Try to find a group that is supportive of beginners and allows you to participate in ways you feel comfortable in.
Learn how the job process works
In the beginning of my journey, I made sure to study how the job process actually works. I read dozens of forum posts in the career advice section from those currently going through the job hunt.
I learned the dos and don'ts from others and learned what worked for landing that first junior developer job.
I have heard a lot of people complain that the process should just be as simple as filling out applications and they shouldn't have to do extra stuff like building an online presence or network.
In a perfect world, that would be the case. But the software hiring process does not work that way.
My advice is to learn how to write good résumés, learn how to network, learn how to write a good LinkedIn profile and how to find good job leads.
Here are some helpful resources to look into:
- How to Build Your Developer Résumé Without Job Experience
- How to Get Your First Dev Job – Insights from Reviewing Career Switchers' Résumés
- How to Write a Developer Resume that Recruiters Will Read
- Why Your Resume Is Being Rejected - and How to Fix It
- HOW TO USE LINKEDIN AS A DEVELOPER to get a job in tech! How to network!
- How To Get A Job As A Software Engineer
- Interview Secrets
- Blogging For Developers! Sponsored by Hashnode!
I hope you enjoyed this article and best of luck on your programming journey. You can also connect with me over Twitter.