I get asked about this so much at meetups and on Twitter that I decided to write a post about it!
I’m a self-taught software engineer with a heavy background in frontend development. Now an engineering manager at Creative Market and a Director of Women Who Code DFW.
I dropped out of college for the last time when I was 22 due to financial hardship. I’ve dropped out of college 3 times in total, always because of money. I wasn’t totally comfortable with student loans, and submitting a FAFSA is complicated when you’re estranged from your parents.
Dropping out of school was something a lot of well-meaning people in my life warned me against. But ultimately, it turned out to be one of the best things I’ve ever done for my future. Dropping out of school challenged me to think about a future that wasn’t reliant on having a degree and forced me to take an active role in my own education.
This path isn’t for everyone. But if I sent you this article, it’s probably because you were asking me about becoming a self-taught dev. This is how I did it!
1. Purposeful Learning
What I mean by purposeful learning is that you need to start with the end result in mind. Don’t wait until you’re hunting for a job to begin combing through job boards. Sign up for Google alerts and newsletters. Send them to a filter in your inbox. Then look through them consistently and identify the jobs that you’d like to have. What are they looking for? How can you become the person they want to hire?
I know it’s overwhelming when you’re staring at a slew of jargon and keywords. They’ll become less daunting and more familiar with time, but only if you continue to expose yourself to them.
Don’t wait for someone to draw you a map to your dream job. Identify the jobs you’d like to have, and identify the skills necessary to get that job. Then, go learn those skills. When you start with the end result in mind, it’s much easier to focus and identify an action plan.
For me, this way of thinking about my career was new. For the longest time, someone had been there in my life, drawing me that map: Get good grades. Get the right degree from the right school. Then get an internship at the right company. At the end of all of this, is the dream job!
Not only is this not true of college grads in most cases, it doesn’t even apply to people who are aiming to self-teach. You need to train yourself to think with the results in mind, and to create that path for yourself through the skills that you choose to learn and the way you choose to spend your time. Curate your job training with intention; nobody else is doing it for you.
2. Consistent and Authentic Networking
Going to tech meetups was one of the most important things I did while I was learning. For a while, I was attending 2–3 events a week. It was exhausting; it took everything that I had in me not to drive home after work instead of going across town to meet with people. But networking served a few important purposes:
- It taught me how to market myself. Practice makes perfect. And this shy, introverted developer used to hate marketing herself to employers and companies. But it’s a necessary skill. If you’re trying to move forward in your career and you’re not actively trying to improve in this area, you’re doing yourself a massive disservice.
- It exposed me to other developers and developer-centric conversations around current technologies, companies in the area, and job/industry related challenges. Before I actually went to events and interacted with other developers, a developer was just this mythical person to me. I didn’t know any of them, and I had no concept of what a day in the life of a developer looked like. Though every developer’s experience of the industry is different and can vary due to all sorts of reasons — from gender to age to race to experience level — there are some collective experiences that we all share. Some inside jokes we all smile at and understand. And for me, tapping into that culture was crucial for getting ready for my first job.
- It exposed me to job opportunities. This is a big one. Managers and recruiters would sometimes attend the events I went to, and I always made sure to connect with them. But more than that, the other developers became a source of opportunity for me. People notice when you’re committed — when you attend an event consistently, when you participate passionately in conversations and ask questions. You begin to stand out; people begin to remember your name. And before you know it, someone knows a person who knows a person who’s hiring, and they’ll put in a good word for you.
This is why I stress that you have to be consistent and authentic. You want to find communities that you actually mesh with, people you enjoy spending time around, and a message or topic that sparks your passion. Don’t be the person who shows up one time with a stack of resumes and scrolls through Instagram all night, or whose eyes glaze over as soon as the other person starts talking about their passion project.
I’m now on the other side of networking events in a planning and organizing capacity; I can spot the fakers from a mile away. So can others. Networking is about forming meaningful connections. It often results in career benefits, but if you come into an event with an obvious agenda on your mind, you’re not going to reap those benefits. So do your best to be present, and to be your authentic self.
3. Discipline and Patience
I know that this last one is going to sound cliche, but here it is. You are learning an entirely new career. You’re learning a really tough career. Programming isn’t an easy thing. It’s cognitively demanding and has a steep learning curve depending on which language you pick up first. Documentation can be difficult to access and process, and debugging on your own without anyone to immediately bounce ideas off of like you would have in a classroom or a workplace can be really frustrating.
So my last piece of advice is to be disciplined and patient. If you are like me, you’re changing directions because you are desperately trying to get some traction in your life — whether that’s financially, or just in terms of career satisfaction and growth. I understand that it’s hard to wait. I know you want a dev job yesterday. But it would be much better to learn a little every day than to try to take a crash course and drop it midway through, never to pick it back up again. The people I have seen burn out are those who had unrealistic expectations both of themselves and of the work.
Set a studying schedule and hold yourself accountable. Tackle curriculum iteratively and strategically. Build on what you learned the day before and focus on learning one or two things at a time, and learning them really well. When you’re self-taught, you have to do this because nobody else is doing it for you. Design your days with your educational goals in mind. Whether that is waking up early, staying up late, or dedicating entire weekends to coding, you have to make that decision and follow through with it. This is not an overnight process. You are trying to do something that is hard; it’s not going to feel good all of the time. It’s up to you to push through that.
There’s no magic formula to succeeding as a self-taught developer. In a lot of ways, things can seem stacked against you. You don’t have the network and support you might have at a traditional university or even at a code camp. It takes a lot of discipline and a very clear vision — something that can take time to craft if you’re not familiar with the industry and aren’t sure of what you want.
Self teaching isn’t for everyone, but I’m living proof that it can and does work. I didn’t get lucky; I faced a lot of challenges in my late teens and early twenties. For a while, it felt like the universe was conspiring against me and my attempts to venture into adulthood. I made it through by being disciplined and persistent.
Someone on Twitter just asked me if it’s “too late” for her to learn how to code. My answer is that it’s never too late. The industry is thriving and the opportunity is out there. Your primary limitation is yourself, and the beauty of this is that your outcome is largely up to you.
We’re always looking for amazing people to join the Creative Market team (and we’re hiring engineers right now!). We value our culture as much as we value our mission, so if helping creators turn passion into opportunity sounds like something you’d love to do with a group of folks who feel the same way, then check out our job openings and apply today!
Originally posted on caree.codes on July 19, 2018.