How I Changed Careers and became a Developer
Tags: career, beginners, firstpost, learning
Published: 2020-12-19 17:13:50

Change is hard. Changing careers while holding a 9–5 can feel downright impossible at times. It requires a great amount of discipline, motivation, inspiration, and most importantly, courage.

> It takes courage to grow up and become who you really are.

— E.E. Cummings

It also requires a great deal of time. 

Despite the current microwave culture of success, changing careers and improving one’s well-being doesn’t happen overnight. 

My journey from sales and marketing in the music industry to developer began back in October 2014 in Brooklyn. 

It took 10 months and I estimate ~1400 hours of self-teaching to get my first full-time developer gig in Philly.

I firmly believe that anyone, no matter their background, can do this.

By telling my story, I hope to encourage those currently in the trenches of change moving from one career to another and also inspire those that have crossed over to share their stories. Sharing is caring after all, right?

## Why do you want to Change?
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/vptuqssoyl2dmcpxp4hm.jpeg)

Begin with the end in mind.

I wanted to learn to code and change careers because I wanted to improve my financial situation and build solutions to problems. Economic mobility and being able to solve a problem for anyone anywhere in the world were the primary catalysts of change.

Clearly defining why you want to make a big move is incredibly important to help keep yourself motivated on a long journey.

Also, as a word of caution, if you’ve got a stable job that isn’t toxic and you ultimately want to work for yourself, becoming a developer and working for another company won’t make you much happier than you are now.

At the end of the day, a job is a job. 

If you don’t like the employer/employee dynamic now, that won’t change simply because you’re writing code for a living.

There are thriving communities of people, like [Indie Hackers](https://www.indiehackers.com/), that are trying to “Get Out” by building their own businesses and revenue-generating products.

One path is not better than the other. Just know what you want out of your new career and make a conscious decision.

## My Background

If you were terrible at math in high school, struggled to process complex topics quickly, and don’t have a college degree, you’re not alone.

I almost flunked just about every math class in high school but somehow graduated on time. I studied music composition in college and dropped out for financial reasons, so nope, no degree.

Don’t put yourself in a box or become discouraged just because you’re background doesn’t fit a certain mold. Stay the course. Finish the race.

## To Pay or Not to Pay for a Bootcamp

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/5hkrgrcdchkjx43zuhto.jpeg)

It depends on your personal situation.

When I began to learn how to code, [freeCodeCamp](https://www.freecodecamp.org/), as it stands today, wasn’t around. According to Wikipedia, it was formed the same month I started.

I applied and was accepted into one of the top coding bootcamps in New York City but decided not to attend. I ultimately did not want to add ~$18,000 of debt on top of all the student loans I already had. It just didn’t make financial sense for me personally, and it might not for you either.

There are many more [pros and cons of a self-teaching approach](https://www.freecodecamp.org/news/the-frustrating-answer-to-how-do-i-start-learning-to-code-a243fcf28720/) vs. paying for a more hands-on, immersive program. 

Assess your situation then make a decision.

## Learning Style

How you learn to code depends so much on who you are and how you learn. There’s no one size fits all answer. If you’re more of a visual learner, video content and live teaching could be ideal. Don't bang your head against a wall trying to get through curriculum simply because it’s free.

Does it work for you? If not, use another resource.

The way in which material is presented on one platform might not work for you, and that’s ok. I would still highly recommend immersing yourself in a community that can help you.

## Schedule
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/kmghkrfd9nu9xorva8yy.jpeg)

I’m not a morning person, but I got my best work done at 6 am.

There are 168 hours in a week. I spent 30–40 hours teaching myself how to code depending on what curveball life threw at me. I had a full-time job and an hour commute each way to work, which ate up about 50 hours a week.

This meant I had to make the most of my Mornings, Nights, and Weekends.

A big challenge for me was when life forced me out of my routine. I’d get really depressed because I missed a day of coding and it was always difficult to get back on track. I was fortunate to have a roommate at the time who was an engineer. He helped me push through whenever I felt like giving up.

Communities are invaluable spaces to get encouragement and to connect with people who have similar struggles. Do everything you can to find someone to hold you accountable and to remind you that what you’re doing is difficult but you can make it.

## Tools and Curriculum
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/0n6vtr5gnb779p9y84ra.jpeg)

The only thing I spent money on besides subscriptions and books was a computer. I purchased a Macbook Pro for ~ $1200 and still have it almost six years later. Macs are expensive, but you get your money’s worth. However, they definitely are not a prerequisite for learning how to code.

Cloud IDEs and Chromebooks are a great way to get started.

You can even [learn with just a phone](https://www.freecodecamp.org/news/how-i-went-from-programming-with-a-feature-phone-to-working-for-an-mit-startup-40ca3be4fa0f/).

Here are the resources I used and what I got out of each one.

- [Codecademy](https://www.codecademy.com/catalog) (HTML, CSS, jQuery, JavaScript)
- [Codeschool](https://www.pluralsight.com/codeschool) (JavaScript & jQuery)
- [Treehouse](https://teamtreehouse.com/) (Git & Github, Ruby, Dev Tools, REST, Networking, Agile)
- [Thinkful](https://www.thinkful.com/) (Mentorship, Portfolio, Interview Prep)
- [Eloquent JavaScript](https://eloquentjavascript.net/) (Algorithms, Functional Programming, Node)
- [Coderbyte](https://coderbyte.com/) (Programming Challenges)

## My First Job

I remember listening to the [Code Newbie](https://www.codenewbie.org/) podcast one day and hearing about someone that had participated in an Apprenticeship program. This got my wheels turning, and after days of research, I discovered a design agency in Philadelphia that had a similar program.

What was interesting is that the company’s main marketing website had no mention of the program. Apparently, I had found a dormant standalone page.

I figured it wouldn’t hurt to reach out, even if the program no longer existed. 

I sent a cold email to the founder expressing my interest in the company, my passion for programming, and my desire to contribute however I could. I came down for an informal meeting and I interviewed about a month later.

After an intense day-long interview, a few weeks later I got the job in August of 2015. This opportunity never would have come if I didn’t reach out, despite there not being an open position.

This was an unconventional approach but it paid off. I would also encourage those looking for work to apply for positions even if they’re looking for someone with more experience. You never know, you just might get a shot.

## Mistakes

Of course, I have made several mistakes along the way.

Some lessons learned:

- Don’t learn alone or in secret.
- Don’t be afraid to say “I Don’t Know” — you’re not an expert yet.
- Ask questions when someone uses a word or acronym that you’re unfamiliar with, like [SCP](https://en.wikipedia.org/wiki/Secure_copy_protocol) or [SSH](https://en.wikipedia.org/wiki/SSH_(Secure_Shell)).
- Teach someone who knows less than you, even if all you have in your toolbox is `console.log("Hello World")`
- Write about what you’re learning
- Don’t try to boil the ocean and [learn it all](https://github.com/mtdvio/every-programmer-should-know) in year one
- Build and break things, then write about it

## My North Star
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/nngzi7967243c2twv0r1.jpeg)

You’re going to need a mantra to keep yourself going during dark times.

Mine is simple.

Live. Love. Serve.

**Live** your life, not someone else’s. Just be your best self and don’t try to fit in. Remember, it’s ok if you say, “I don’t know”. Don’t act like you’ve got a ton of experience in this new field. Embrace being a beginner and eventually, if you stick with it long enough, a novice. Mastery is a life-long pursuit.

**Love** your close friends and family by sharing more intimately. Don’t make a career change behind closed doors.

**Serve** those that are less fortunate than you. If you made a career change successfully or you failed, share. We can all benefit from your experience.

I hope this helped you in some way. Feel free to reach out to me on [Twitter](https://twitter.com/danielkhunter) anytime. DMs are always open and welcome.

-DKH