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.

Figure 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 more, but by working and solving real problems.

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 learning on my own and then jumping headfirst into an engineering internship.

But… how could I get one?

Build your portfolio and personal brand.

I built a front-end developer portfolio that showcased the skills I had built. I focused on vanilla JavaScript, HTML, CSS and responsive design.

I wanted to start an internship, but had no degree or 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.

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 what 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?

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 any way 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!

If you enjoyed this post, sign up for my email list where I  give away free courses, and share tips on learning how to code. When you join my list, you'll also be invited to my free coding book club where we read JavaScript and computer science books.