In 2015 I knew almost nothing about coding. Today, I’m a software engineer and a teacher at a code school for kids.
When people find out I work as an engineer, they often ask, “How can I get a job as a software engineer coming from a nontraditional background?”
Well, you can’t get more nontraditional than me. I was homeschooled growing up, and I’m a college dropout.
When I dropped out, I signed with an agency and modeled for fashion brands. I didn’t know what I wanted to do with my life, but my sister was a software engineer and she loved it. So one day, I took Udacity’s “Intro to Computer Science” course. And I loved it. Coding became my biggest passion.
I knew I would become a software engineer. I also knew it might be the hardest thing I ever did. But I resolved to see it through. I was going to make this happen.
If you love to code, and keep working toward your goal of becoming a developer, you will get there — no matter where you come from.
Here’s how I did it.
Figured out how you learn best.
After months of teaching myself to code, I knew I needed that next step, so I applied to several coding bootcamps. Yet I realized that I learn best not by studying, but when I am working.
Figuring out how I learn most efficiently was a huge help. For you, maybe you need to immerse yourself fully at a bootcamp, or take a part-time online program. For me, I realized I would learn best by jumping headfirst into an engineering internship.
But… how could I get one?
Build your personal brand.
I knew I wanted real-world experience. So I enrolled in Praxis, a program that places young people into apprenticeships at startups. But Praxis focuses on marketing and sales roles, and I was determined to become an engineer. So, I decided to find myself an engineering internship and use Praxis to help me build my personal brand to increase my chances of being hired.
I worked with Simon from Praxis, who helped me prepare for interviews and create my online presence.
My mom, an entrepreneur and brand expert, encouraged me to blog about coding, speak at meetups, start a YouTube channel, and continue to build my GitHub portfolio.
I kept sharing whatever I was learning about. Eventually, when you Googled me you could immediately see that I was passionate about coding.
Google yourself. What do you see?
Work for free and love the work.
While originally I had hoped to get a paying internship, I quickly realized I had a better chance of getting experience as an engineer if I did free work.
I found a startup I wanted to work for and pitched myself to them: I’d work for for free as an engineering dev for a few months. Then they could either promote me or let me go depending on how I did. They agreed, and I spent the next few months working harder than I ever have.
I relished every moment I spent just fixing one little bug in the app. Later on, I realized that although I didn’t have a ton of technical skills going in, my passion to learn and my excitement to be a part of the team shone through and got me the internship.
Even though I was working for free, I loved the work and the team more than any paying job I’ve ever had.
Make your nontraditional background a strength, not a weakness.
At first, I didn’t want to highlight just how nontraditional my background was. I feared I already stuck out enough just being a female programmer, let alone someone without a CS background. Then my mom said, “Own who you are. Use your previous experiences as a strength.”
For my first dev internship, I made it clear I would help out the startup in anyway that I could. I talked about the variety of other skills I had picked up way back when I worked for my mom’s company, and how I could utilize those skills while I was also growing into the role of junior developer.
I didn’t just try to be an engineering intern. The first week of my internship, I did anything from uploading YouTube videos to writing code to making copy changes.
For many startups, they want people who are hungry to learn and get things done — not just code monkeys. What skills from your previous career can you utilize to make yourself valuable, not just as a developer but as a member of the team?
A few months into my internship, the company’s CEO, Bryan, sent me a Slack message. “Madison, we want you to work for us.”
I was promoted to junior developer. For the first time, I was getting paid to code.
Use the haters to push you forward.
Many times, when I told someone I was working towards being an engineer, they would look at me and say, “You? An engineer? Are you sure?”
For awhile this frustrated me. Then I realized that I wasn’t going to let what anyone said stop me. Each time I heard those comments, I went home and started coding. I used the haters as fuel to keep pushing myself towards my goal.
People will always tell you that you can’t do it. When you ignore what they say and just keep going, you develop a trust in yourself and a determination that becomes unstoppable.
On the other hand, having a support system who believes you can do it is immensely helpful. I couldn’t have become an engineer without the support of my family.
Just keep coding.
Getting that first junior developer position was the toughest and most rewarding thing I’ve done. If you focus on your love of code and just keep pushing forward, you will get there. No matter where you’re coming from.
So what are you waiting for? Let’s code!