I know what you're thinking. Every self-taught developer thinks that a degree doesn't matter, but they can't really talk because they don't know what their career would look like if they did get the degree. In that regard you would be correct, but when I say a CS degree doesn't matter I don't quite mean it the way you probably think. I'm not going to step up on my soap box and crap all over the education system, rather I'm going to talk about the mentality of a self-taught developer who has a passion for creating great software and how not having a degree is actually a good thing for someone like me.
If you don't know and haven't guessed already, I'm a self-taught developer. I started writing code in the 7th grade in an after school class and I've been writing it ever since. Expressing my creativity through software has been a passion of mine since long before I realized I could make it my career. For someone like me, software is the backbone of my life, and I don't just mean writing code. The entire creative process that is involved in the development of software gets me excited. Some people express themselves through paint or music, but my canvas is the web and I paint with many different kinds of brushes.
When I finally did realize that my passion could be my career I was pretty ecstatic. I immediately ran off to Neumont University in South Jordan, UT after I graduated high school; I didn't even take a summer break. At first college was everything I had hoped it would be. For the first time in my life up to that point I got to be around others who shared my passion. I was pleased to find out that I was already familiar with most of what we were learning and keeping up with it was hardly a challenge. That is, until I wanted a challenge.
Half way through my first year at school I started to get antsy. I was paying out the nose to learn things I already knew much of the time and I was reading ahead of most of my classes. Both fortunately and unfortunately if I'm not excited about my work then my attention slowly starts to wander. I wanted to get out there and build something worthwhile that wasn't going to be useless after I turned it in to the professor. As I sank money into books and other materials the feeling that I was spinning my wheels grew stronger and stronger. After my first year of college I left to start my own company.
At first my own company was exactly what I wanted and I maintained my business for several years, doing work for small businesses all over the valley. It was exciting to be able to give so many small business owners the web presence they desired and be able to put food on my own table at the same time. Making my own hours while creating awesome software was a great experience and it taught me so much more than I ever learned at Neumont. However, I eventually grew tired of being a lone wolf and decided that a fixed paycheck, health benefits, and getting to work with a team of passionate developers sounded like an exciting next step in my career. Of course not having a degree made this a lot harder for me to accomplish.
Without a degree the software industry can be a brutal landscape. It is fairly difficult to even get a company to call you back without that piece of paper to sum up all of your knowledge and expertise. Of course most people today recognize that a degree is hardly an accurate indicator of a person's abilities or how well they would fit into a company, nevertheless it is often used for exactly that. I have been told directly by several companies that a degree is the first line of defense against incompetent applicants. For the first time in my career I began to regret my decision to leave college early.
Some programmers are happy to simply get their degree and find a job where they can sit quietly in the corner tapping out lines of code until the cows come home. For someone like that, having a degree is crucial because it opens up so many options for them. There are plenty of companies that will provide that exact environment for the introverted developer and the degree opens many of those doors that would otherwise be closed. But for someone like myself, that is simply not enough; we are not the stereotypical introverts that programmers are often depicted as. We crave challenges and love to share our passion with like-minded people. What I didn't realize about the state of the software development industry was that companies who filter out potential employees by one piece of paper are actually doing developers like myself a favor.
I'm opinionated about my working environment. I like leadership positions because I have a say in the creative process. I care deeply about software as a whole, not just writing code. Not unlike the artist that wants to produce an album their listeners will appreciate and enjoy, so do I want my end-users to see the passion that went into the development of their favorite web applications. Does it really make sense for someone with these values to work for a company that thinks they know everything about you based on one data point? Of course not, and the companies that do this type of screening are actually helping you out. They are letting you know that all they really want is someone who can write code and a degree is probably an adequate way to gauge that. If they were after someone who was passionate about the entire process from top to bottom then they'd be putting in the time to find that individual because those traits are not something you can determine from a degree.
The lesson here is that the employer does not hold all the power in the hiring process. It can be easy to forget that you are interviewing the potential employer just as much as they are interviewing you. A lack of degree might be a red flag for an employer, but their red flag is your red flag as well. They want a code monkey and your degree lets them know that you can at least be that. Not only is it a sign for someone like myself that I probably don't want to work there anyway, but it's also a motivating factor for me to get creative when looking for jobs.
So many people go through the same old process when they apply for jobs. They end up as just another résumé in a file somewhere. Without a degree I'm forced to find creative ways to show the working world that I know my stuff. I have to find ways to break down the formal barriers that have been established for ages and demonstrate to the companies that care about hiring passionate employees how capable and invested I am in my work. All of my success when searching for jobs has come from something beyond just the standard résumé. This blog alone has been responsible for a few phone calls. I say a few because believe it or not, most companies never find out I even maintain a blog despite how easy it is to find; it's even in the signature of emails I send.
It's rare that someone finds my blog, Github, Stack Overflow account, etc and learns a little about me before contacting me. When it does happen I consider that a huge bonus for the company looking into hiring me. I pay much more attention to companies who's hiring managers do their homework. If a hiring manager goes out of their way to find the right person then to me that says something about not just the hiring manager but the company as well. They obviously care about hiring the right people to come in and do more than just write code. A company that goes out of its way to find great employees really cares about creating a great product. As someone who wants to work in a creative environment with people who are equally passionate about their work, this is a huge indicator that I should take a serious look at the opportunity.
Of course there are always exceptions. There are companies who filter by degree that probably are passionate and really do care about hiring the right people. There are probably also companies who do their research and take the time to hire the right people but that do not have a great environment to work in. It's rare that you find a hard and fast rule that applies to everything, but in my experience being a passionate developer without a degree has actually helped me find places that care the most about having the right people on the team, and that's what it's all about.