When I left my full-time job at Sandbox Industries in the fall of 2013 to pursue Loop – a company that I had started there – on my own, I also planned to advance my programming skills. I spent a lot of time building Loop’s Ruby on Rails site at first, but over time I spent less and less time on the site to focus on operations, sales, and marketing. Even though I would have liked to spend more time building out the tech side of my business, I knew it was more important to get customers and make the business work.
Over time it became less fun to work by myself and I started thinking seriously about other options. I applied and interviewed for random jobs that came my way, eventually realizing that all of the most appealing jobs involved tech – data science, product management, software engineering, etc.
It became apparent that my interests gravitated towards technology and coding so I started exploring various coding schools: My boyfriend’s friend was getting his Master’s in Computer Science, I’d been hearing a lot about coding bootcamps popping up around the country, I’d discovered a few apprenticeships that seemed interesting, and last but not least, I knew it was possible to learn to code on your own.
I am currently enrolled at the University of Chicago for my Master’s in Computer Science. While I’m not sure it was the perfect decision to go back to school, here’s how I arrived at that choice:
Teaching Yourself to Code
Pros: Free; you can probably do this while working at a 9-5 job; you have tons of flexibility.
Cons: You have to be super self-motivated; you also have to know how to set up various programming environments – you can definitely google how to do this but I run into problems almost every time I try to follow online instructions.
Why it wasn’t for me: I consider myself very self-motivated. Heck, I’ve started a couple companies. But I’m also involved in a lot of extracurriculars like friends and volleyball. At the end of the day I didn’t think I would be able to force myself to sit down and code instead of hanging out with friends. I also wasn’t sure how easy it would be to get a job in the future with ‘self-taught coder’ on my resume. Finally, I also wanted guidance, someone to tell me if I was doing it right, and a network of friends/coders.
Attending a Bootcamp
I strongly considered applying to Dev Bootcamp, Hack Reactor, and Hack Bright Academy (girls only).
Pros: Focus — you learn a few programming skills in a short amount of time. It also doesn’t cost thaaat much, somewhere between $10k-$18k. And they all have a career day where you are likely to get a full-time job. Hack Reactor had impressive hiring stats (99% hiring rate with avg salary of $105k) which was particularly appealing.
Cons: While it doesn’t cost that much, you still have to have an extra $15k to spare. That’s a big chunk of change for someone my age. You also can’t work on anything else why you go through the program due to the time commitment. I also have the feeling that ‘everybody’s doing it’ and was concerned that the market is quickly becoming saturated with bootcamp grads. Finally, these programs need to fill seats so I have a feeling they take most people who apply, rather than adhering to high standards.
Why it wasn’t for me: The biggest reason is that I’m not sure I want to strictly be a software engineer. I wanted to gain a more solid foundation than just a few weeks of code because I might want to be a data scientist or a product manager.
Working as an Apprentice
I did this! It was amazing! I met Paul Pagel, 8th Light’s CEO, very serendipitously. A mutual connection introduced us at the right time in my life, I applied, completed their coding challenge, and was brought on as an 8th Light Student Apprentice. However, I didn’t continue down this path…
Pros: Learn for free, or better yet, get paid to learn! Experience what it would be like to be a software engineer. Learn industry best practices. Receive guidance from a knowledgeable mentor.
Cons: While you could catch up to some of your peers with computer science degrees, it might take a long time or you might never really catch up. You probably won’t spend time learning advanced algorithms or discrete math on your own and you probably won’t learn them in a work setting. I felt like I could become a pretty good software engineer by following the apprentice path, but I wasn’t sure I would ever be ready to work at a top firm like Google or Apple (who knows though?), and I wanted to set myself up to do anything I want in the future.
Why it wasn’t for me: If you want to be a software engineer and you have the opportunity to work as an apprentice I think you probably should. Every firm won’t hire beginner programmers, but some will. And others, like 8th Light, might hire you after you’ve taught yourself the basics. I worked at 8th Light for a summer as a student apprentice, which definitely WAS for me. I didn’t stay there because I wanted to gain a better computer science foundation for the long haul and I wasn’t quite ready to commit to being a full-time software engineer.
Getting a Master’s in Computer Science
Pros: Learn a lot. Gain a good understanding of the field. Deep dive into topics you care about. Get access to smart professors, classmates, alumni, internships, and so many university resources. Obtain a degree that will hold some weight with most employers (hopefully? maybe?). Get some student discounts (hello amazon prime)!
Cons: OMFG why does it cost so much? It takes 1-2 years (which is not that long in my opinion but some people think it is). Stress, exams, and required classes you might not care about. You might be learning old stuff since cutting edge technology is more likely found in industry. Did I mention that you’ll be a poor student again?
Why it IS for me: I decided to go back to school to get my Master’s in Computer Science because I plan to be working in technology for a long time and I want to build a solid foundation. I like to believe that gaining the degree will help me for years to come. Plus, I’m going to a good, diverse school and with that I hope to be surrounded by intelligent professors and students who challenge me. I am buying myself (and spending lots of money doing it) time to explore and figure out what I really want to do. Right now I believe I want to work in data science but maybe I’ll change my mind after going to classes, listening to one of the many impressive speakers they have lined up, or hacking with some of my fellow classmates. Maybe I’ll land an incredible internship that will change the course of my life. Or maybe I’ll just realize that all along I’ve wanted to be a software engineer at a great company like 8th Light… but at least I’ll have given myself some time to come to that realization. And hey – it’s just money, right?