This month marks my 20th year as a professional software developer. Over the years I’ve had a lot of opportunities to work on some pretty big software projects and meet some great people along the way. But I didn’t start out like most of the other developers I’ve worked in my career. I got my first real programming job when I was 19 and didn’t graduate college until I was 29. In those ten years I took night classes at Minneapolis Community & Technical College and later, after I moved to Chicago from Minneapolis, online classes at Metro State University. If you might be questioning the need for a four year degree to become a processional developer or maybe you have other blockers keeping you from getting your degree now, this is how I did it.
My first job was as an entry level/jr. developer at Wells Fargo in the Stock Options Services group developing Visual Basic 6 desktop and Classic ASP apps. Except for two computer classes in high school and a one year computer programming certificate from the now defunct Brown Institute, I had zero classroom computer science education at the time. That Brown Institute certificate is the same as a coding boot camp; a 12 month course where you focus on a variety of programming languages but never really getting into them enough to fully understand how they work. Looking back at that experience, as much as the organization promised we’d all have super awesome programming jobs at the end, I don’t feel like that adequately prepares someone just entering the work force to be successful in the software engineering space. So, a lot of my education came from reading books, getting the MCSD, create a few AOL Proggies and just building things on my own. I feel like I was pretty fortunate as I was hired with a non-existent computer science education and couldn’t even order a beer at team happy hours – I had a lot of cherry cokes in those days.
My dad is an old programmer who had been building my small hometown a water usage billing system in Visual Basic. He generously allowed me to hack away on a few components along side him to give me some real world working experience. I quickly added this to my resume – right above the one year programming certificate and my previous experience as a warehouse “manager” at Wick’s Furniture in Edina, Minnesota. I’m convinced that having this development experience on my resume is what enabled me to get an interview and later hired as a professional software developer without any experience or a four year education – or even a two year education. Before this job I applied to hundreds of entry level programming jobs and never heard anything back – which is hella discouraging. After months of applying to jobs and never hearing a peep I started get really down and thinking about backup plans. The thought of joining the Army even popped into my mind. That or maybe start looking at two or four year colleges. Then I got an interview for an entry level developer role at Wells Fargo. That interview came from a job fair my roommate convinced me to go to with him. I interviewed with a HR person, technology manager and the director of the business; they all decided to hire me. Coming from a non CS background with very little experience, getting that first job was crucial. The saying goes “you can’t get experience without a job and can’t get a job without experience” so after a couple years of development experience it was pretty easy to get job offers. Potential new employers start to look past not having a degree to see that any experience was enough to look past not having a degree.
There are so many senior developers and people in the business who took me under their wing to help me grow as a developer and person in those early years. It would be easy for me to say I got hired as a professional developer without having a four year degree all on my own, but that would be a lie as there were many people who made that happen for me; my dad, my roommate, the HR rep, technology manager, business manager, etc. I’ve since tried to reach out to the people who made it happen to say thanks for the opportunity but haven’t been able to find them online yet. They probably have no idea how much their decisions meant to me then and how much they do today.
Every now and then I’ll be talking to someone at a party who isn’t happy with their job and eventually they’ll ask if they can pick my brain on how to get into programming. Many of these people are looking to get started in development as a career without a formal CS degree or previous development experience. My answer is always to just build something by solving a problem you have or a problem you can see. You’ll learn a lot building that first app or website and you’ll have something to put on your resume. There are so many resources online to learn the concepts of programming, but you’ll never really get it until you try to build something on your own. If there is an idea you have or an open source project you’re passionate about, then I’d recommend trying to build that app or website or get involved in that open source project.
I learned a valuable lesson then in taking chances on people and how getting a small job opportunity can be the break someone needs. I try to pay it forward when I’m working with younger developers or if I have a gig I can bring on a more junior developer to help them gain experience.
Tips getting your first programming job without a four year degree:
- Build something. A snow emergency website or tamale tracker or playlist generator.
- Create a Github profile and start pushing code from those projects to your repositories.
- Create a portfolio website to present yourself as a professional developer and display the different projects you’ve worked on – open source or your own. The more you can show off your skills the more likely you can set yourself apart.
- Update your resume with your portfolio, links to the sites/apps/open source projects and your Github profile.
- Network like crazy while linking to your portfolio whenever you can.
- Join local tech meetups.
- Join local tech Slack groups. They usually have a #jobs channel where people will post jobs and some of them are for entry level developers.
- Reach out to other developers to ask questions or advice.