How Do You Get Into Tech?
By: Mike Oliver
Tags: Mobile App Development, Software Development, Engineering

I’ve received this question in one form or another multiple times over the past few years. Most recently, it was posed to me in the following way on LinkedIn:

This is the exact question posed to me by a new connection on LinkedIn

It’s an interesting question that I have strong feelings about, as I find it very rewarding to help people learn coding and software engineering. What follows is my response to the question above, largely unedited and purposely written as somewhat of a live blog post. My hope is that this was not only helpful to the person who asked, but also insightful for anyone else interested in becoming a software engineer. Enjoy!

As a hiring manager, the thing I care most about with people starting their careers in tech is actual experience. I know that sounds counterintuitive; “How am I supposed to get experience when I’m looking for my first job / starting my career / just graduating?” The reality is that tech and education have evolved to a point where getting at least a little experience before looking for your first full time job is well within reach.

First and foremost, if you’re looking at a school or program for technology, look for a program that prioritizes getting experience in school. I will freely admit that I am bias towards Northeastern’s computer science program as I am an alumni, and have had tremendous success on the hiring side at Runkeeper and past companies. Bias aside, it’s a program where you get 18 months of full time on the job experience BEFORE you graduate. At the right co-op, you experience everything an entry level engineer would when they get out of school, but you’re experiencing it IN school. You now have a leg up on everyone else graduating trying to get a job. There are many other collegiate programs that have similar co-op experiences. Some of the best engineers I’ve worked with have been from WPI, where students are allowed to set up co-op jobs as well. Quite frankly, I’m more optimistic of resumes with Northeastern or WPI on them than I am of more prestigious schools with less real world experience.

A lot of people are trying to get into software engineering despite having a non CS background (which frankly I think is great, as there’s a lot of work to go around and not enough engineers to do it). I’m less familiar with the accelerator programs and boot camps out there that offer 5 or 10 week intensive training sessions, but I will say I’ve seen candidates go through some that really don’t finish with the chops to start a full time gig. Their biggest issue is the same as many university programs — they teach some of the basics of coding without giving them any real world experience. I won’t tell you not to go to one of these places, as I do think the basics of coding are important. But I’ll also say it’s important to find ways to supplement the basics of coding with more real world environments.

So you’re done with school, and maybe you’re done with or don’t want to do an accelerator program, how do you get experience now? The reality is, we live in a world where the barrier to creating and distributing a technical product has dropped to near zero. Want to be a web developer? Make a website! What’s stopping you? I mean what’s REALLY stopping you? There are so many services out there now to help people create websites, across all levels of technical abilities. Trying to become an Android engineer? Where’s your Android app? Android Studio can be downloaded relatively easily, and if you have an Android phone there’s nothing stopping you from build an app on your phone. If your passion is iPhone, you need a Mac, but the barrier is similarly low. I am continually amazed with all the interviewing of mobile engineers we do that candidates don’t take out their phones and SHOW me what they’ve built within 5 minutes of the interview (PS — if I am interviewing you for a job, this is a great way to stand out and be more likely to get an offer). You say contributing to open source is an important part of a job you’re interviewing for? What are the open source projects you’re contributing to now? It’s open source! No one is stopping you! Regardless of how big or how small your project, showing this real experience says a lot about you. It says your committed to working with code. It shows what you have a passion for. It shows you’re a serious candidate.

Now, it’s worth calling out why I prioritize all this experience so much. Simply put, a professional software environment is vastly different that the coding tasks you complete in the educational world. You will gain experience in software process in a co-op or internship that you will never gain working on a group project with 2 other students. You will pixel push and polish your own project in a way you wouldn’t on a class project. You will understand what it’s like to work with a massive code base of hundreds of thousands of lines of code that you’ll never experience in the class room. How you manage these tasks are a far better barometer of your likelihood to succeed as an engineer than anything else I’ve seen.