Learning to code so that you can land a job in tech can feel daunting. That’s why we’re sharing inspiring stories from Codecademy’s community — to show how people like you (yes, you!) can embark on a learning journey and end up with a totally new career. We hope these stories serve as a reminder that there’s no single path to a more fulfilling work life.
Today’s story is from Michael Wiltfong, a 29-year-old Software Engineer in Test at Okta living in Ottawa, Canada. Read more stories from Codecademy learners here — and be sure to share your story here.
Why I chose to learn to code
“What really motivated me was my happiness. I was in the structural engineering space, but I wasn’t doing what I wanted. I found myself thinking: What’s my next move? I was four years out of college, and had no design experience, so finding a mechanical engineering job was a little difficult. That’s when I realized, no matter what direction I go, I’m pretty much starting from zero or taking one step back at least.
I moved to Canada, and my first job was with Shopify on the customer support side. That job reaffirmed that I liked the tech space. Shopify offered low-code solutions, and there was one app written in a watered-down version of Ruby. I found that these are the types of questions I like to answer. That’s when I said, I really like this. I want a career in this. What are the ways that can facilitate this?
At this time, I was already on Codecademy doing the Full-Stack Career Path, but knew I wanted to put more focus into it.”
Learn something new for free
How I made time to learn
“I became a night owl and a morning person, which isn’t the best combination, because around 1 p.m., I would be like, I don’t want to do anything. It’s really difficult to find time to do everything but I was lucky to have my wife who really supported me.
Even now, I really lean on my community. We do a study session every Tuesday, and then a JavaScript hour every Wednesday — and that was like my anchor. Taking this position [as Codecademy Detroit chapter lead] was how I motivated myself.
Sometimes I failed; there were days where I threw something up on the screen and I thought I knew how to describe it, but I didn’t know. Luckily we have really good members who are always willing to help. There was one member based in Bali who is a Senior Engineer with a lot of experience; he came to a study session and explained how he would do something. It was different from what I had learned originally, so I learned something new.”
Want to join a local Codecademy chapter? Find one near you here and connect with other learners.
How I saved up money to switch careers
“You can’t return knowledge. The only question I had for myself was whether I was going to get valuable knowledge from the money I was putting down. That’s what I asked myself with my Codecademy Pro membership: Am I learning something from doing this? And the answer is: Most definitely. You should see my Codecademy profile — there’s so much stuff that I want to come back to and learn.”
How long it took me to land a job
“It’s kind of tricky to say: I was already in a customer support role at Shopify when I started learning through Codecademy, but after gaining more experience and showing up at the Codecademy chapter, I would say about six months later I got a big break as a Quality Assurance (QA) Engineer — although I was still learning on the job.
As I was learning to code, I would see a job that looked interesting and I’d apply for it. You hear from job seekers — especially people who are switching careers — that it’s a numbers game. Some people have really impressive numbers when it comes to applying for jobs, like 4,000 applications, 30 interviews, 20 of which were second rounds. I thought, I might as well start applying. And the more experience I got, whatever it was, whatever task it was, I always made sure to update my resume with that. One day, it happened: I got the opportunity I applied for.”
How I got in the door
“I did a bootcamp program and became a co-lead of the Detroit Codecademy chapter. During that time is when I got my first job in tech, in software development, as a Quality Assurance Engineer. I was doing manual testing. Many of the programmers didn’t like writing unit tests, but they saw I was really enthusiastic about it, and asked if I wanted to write unit tests for them. I willingly took it on.
At that point, we had been writing unit tests in the chapter for a community-led project working on a band name generator app. So I was writing unit tests at work, I was writing unit tests after work, and I got really good at it.
For my current job at Okta, I saw on LinkedIn that someone was advertising for a Front-End Engineer position so I messaged the recruiter. We spoke, and the recruiter said, ‘They’re looking for someone with four years experience — you have maybe around a year, but I think you’d be a good fit for this.’ So that was the first step: taking that first step and getting the recommendation.”
How I nailed the interview
“The first round of interviews was, in hindsight, the hardest. It was a coding interview with the person who is now my mentor. It was Leetcode-esque, and it was agnostic, meaning I could pick any language. I chose JavaScript with Python as my backup.
I didn’t do well. I left the interview feeling, If I put this in Leetcode or AlgoExpert, I’m not going to get a green checkmark. Then there was a practical part of the interview, because it is a testing position. So the questions were like, How would you test this? I told my wife after the first round, ‘I don’t think I got it. I don’t think it’s going to happen.’
About two weeks later, I got invited to the second round. The recruiter believed in me — I don’t know why, but she did. She told me, ‘They agree that you need more experience. Between now and the next interview, work on these things.’ When the recruiter told me these things, most of which were technical aspects, I quickly stopped everything and said, I need to do these coding exercises.
There were some things on the second round that were heady to learn, like testing frameworks and things like that. I did a little bit better on the second round: I identified the data structure and I gave an answer that worked conceptually. The third interview was purely practical. I’d been reading and trying to find ways to supplement my learning and testing at this point, and by chance I read a random article on Datadog that helped me get past the third interview. The fourth round was the final round, and they asked questions like, ‘What do you think of our culture?’”
How I evaluated the offer
“When you’re doing a career-switch, you kind of tap into a culture where a lot of people are talking about how to negotiate your salary and benefits. But because I had already come from a job that really took a toll on my ego and my mental health, I was asking myself, Is this a place where I’m going to be happy? Is this a place where I’m going to stop looking at other jobs? Am I going to be excited every day to do this job?
After I met with the director of our department, I looked online to see what the company publishes about their culture. And I said, ‘I think I’m going to do it.’”
How day one & beyond went
“I wasn’t sure how this change in careers was going to go. At Okta, they have a 2-day ramp-up program where you learn about the benefits, the culture, and the company’s origin story. I found that I could rally behind the company. There was a moment at the end of the presentation where I looked around and was like, I made it. I’m a Software Engineer.
Immediately, I was doing work that I not only was succeeding in, but that I felt accomplished doing. Basically, I started getting tasks where I was coding and actually contributing. It was really exciting.”
What I wish I knew before I started learning
“I would have started learning how to do interviews much sooner. Once you learn the basics of a language — whether it’s JavaScript, Python, or Java — that’s just the vehicle that you use to carry the knowledge. In interviews, it’s data structures and algorithms. As soon as I got JavaScript under my belt, I wish I’d learned data structures and started doing interview questions so that I’d be ready when the day came.”
Learn like Michael
Not sure where to start? Check out our personality quiz! We’ll help you find the best programming language to learn based on your strengths and interests.
Want to share your Codecademy learner story? Drop us a line here. And don’t forget to join the discussions in our community.