Do Software Developers Really Need Degrees?

When I first started out my career as a software developer, I didn’t have a degree.

I took my first real job when I was on summer break from my first year of college. By the time the summer was up and it was time to enroll back in school, I found that the salary I was making from that summer job was about what I had expected to make when I graduated college—only I didn’t have any debt at this point—so, I dropped out and kept the job.

But, did I make the right choice?

Do you really need a university degree to be a computer programmer?

The difference between education and school

Just because you have a college degree doesn’t mean you have learned anything. That is the main problem I have with most traditional education programs today. School has become much more about getting a degree – a piece of paper – than it has about actually learning something of value.

To some extent, I am preaching to the choir. If you have a degree that you worked hard for and paid a large amount of money for, you are more inclined to believe that piece of paper has more value than it really does.

high school students hands up in computer class

If you don’t have a degree, you are probably more inclined to believe that degrees are worthless and completely unnecessary—even though you may secretly wish you had one.

So, whatever side you fall on, I am going to ask you to momentarily suspend your beliefs — well, biases really — and consider that both views are not exactly correct, that there is a middle-ground somewhere in between the two viewpoints where a degree isn’t necessarily worthless and it isn’t necessarily valuable either.

You see, the issue is not really whether or not a particular degree has any value. The degree itself represents nothing but a cost paid and time committed. A degree can be acquired by many different methods, none of which guarantee any real learning has taken place. If you’ve ever taken a college course, you know that it is more than possible to pass that course without actually learning much at all.

Now, don’t get me wrong, I’m not saying that you can’t learn anything in college. I’m not saying that every degree that is handed out is a fraud. I’m simply saying that the degree itself does not prove much; there is a difference between going to school and completing a degree program and actually learning something.

Learning is not just memorizing facts. True learning is about understanding. You can memorize your multiplication tables and not understand what they mean. With that knowledge, you can multiply any two numbers that you have memorized the answer for, but you would lack the ability to multiply any numbers that you don’t already have a memorized answer for. If you understand multiplication, even without knowing any multiplication tables, you can figure out how to work out the answer to any multiplication problem — even if it takes you a while.

You can be highly educated without a degree

Traditional education systems are not the only way to learn things. You don’t have to go to school and get a degree in order to become educated. Fifty years ago, this probably wasn’t the case — although I can’t say for sure, since I wasn’t alive back then. Fifty years ago we didn’t have information at our fingertips. We didn’t have all the resources we have today that make education, on just about any topic, so accessible.

A computer science degree is merely a collection of formalized curriculum. It is not magic. There is no reason a person couldn’t save the money and a large degree of the time required to get a computer science degree from an educational institution by learning the exact same information on their own.

Professors are not gifted beings who impart knowledge and wisdom on students simply by being in the same room with them. Sure, it may be easier to obtain an education by having someone spoon-feed it to you, but you do not need a teacher to learn. You can become your own teacher.

In fact, today there are a large number of online resources where you can get the equivalent of a degree, for free – or at least very cheap.

Even if you have a degree, self-education is something you shouldn’t ignore—especially when it’s practically free.

You can also find many great computer science textbooks online. For example, one the best ones is: Structure and Interpretation of Computer Programs – 2nd Edition (MIT Electrical Engineering and Computer Science)

So, is there any real benefit to having a degree?

My answer may surprise you, but, yes right now I think there is.

I told you that I had forgone continuing my education in order to keep my job, but what I didn’t tell you is that I went back and got my degree later. Now, I didn’t go back to college and quit my job, but I did think there was enough value in having an actual computer science degree that I decided to enroll in an online degree program and get my degree while keeping my job.

degree

Why did I go back and get my degree?

Well, it had nothing to do with education. By that point, I knew that anything I wanted or needed to learn, I could learn myself. I didn’t really need a degree. I already had a good paying job and plenty of work experience. But, I realized that there would be a significant number of opportunities that I might be missing out on if I didn’t go through the formal process of getting that piece of paper.

The reality of the situation is even though you and I may both know that degrees don’t necessarily mean anything, not everyone holds the same opinion. You may be able to do your job and you may know your craft better than someone who has a degree, but sometimes that piece of paper is going to make the difference between getting a job or not and is going to have an influence on how high you can raise in a corporate environment.

We can’t simply go by our own values and expect the world to go along with them. We have to realize that some people are going to place a high value on having a degree—whether you actually learned anything while getting one or not.

But, at the same time, I believe you can get by perfectly well without one – you’ll just have a few less opportunities – a few more doors that are closed to you. For a software developer, the most important thing is the ability to write code. If you can demonstrate that ability, most employers will hire you—at least it has been my experience that this is the case.

I have the unique situation of being on both sides of the fence. I’ve tried to get jobs when I didn’t have a degree and I’ve tried to get jobs when I did have a degree. I’ve found that in both cases, the degree was not nearly as important as being able to prove that I could actually write good code and solve problems.

So, I know it isn’t necessary to have a degree, but it doesn’t hurt either.

What should you do if you are starting out?

If I were starting out today, here is what I would do: I would plan to get my degree as cheaply as possible and to either work the whole time or, better yet, create my own product or company during that time.

I’d try and get my first two years of school at a community college where the tuition is extremely cheap. During that time, I’d try to gain actual work experience either at a real job or developing my own software.

Once the two-year degree was complete, then I’d enroll in a university, hopefully getting scholarships that would pay for most of my tuition. I would also avoid taking on any student debt. I would make sure that I was making enough money outside of school to be able to afford the tuition. I realize this isn’t always possible, but I’d try to minimize that debt as much as possible.

What you absolutely don’t want to do is to start working four year later than you could be and have a huge debt to go with it. Chances are, the small amount of extra salary your degree might afford you will not make up for the sacrifice of losing four years of work experience and pay and going deeply into debt. Don’t make that mistake.

The other route I’d consider is to completely get your education online – ignoring traditional school completely. Tuition prices are constantly rising and the value of a traditional degree is constantly decreasing – especially in the field of software development.

If you go this route, you need to have quite a bit of self-motivation and self-discipline. You need to be willing to create your own education plan and to start building your own software that will prove that you know what you are doing.

The biggest problem you’ll face without a degree is getting that first job. It is difficult to get a job with no experience, but it is even more difficult when you don’t have a degree. What you need is a portfolio of work that shows that you can actually write code and develop software.

I’d even recommend creating your own company and creating at least one software product that you sell through that company. You can put that experience down on your resume and essentially create your own first job. (A mobile app is a great product for a beginning developer to create.)

What if you are already an experienced developer?

Should you go back and get your degree now?

It really depends on your goals. If you are planning on climbing the corporate ladder, then yes. In a corporate environment, you are very likely to hit a premature glass-ceiling if you don’t have a degree. That is just how the corporate world works. Plus, many corporations will help pay for your degree, so why not take advantage of that.

If you just want to be a software developer and write code, then perhaps not. It might not be worth the investment, unless you can do it for very cheaply—and even then the time investment might not be worth it. You really have to weigh how much you think you’ll be able to earn extra versus how much the degree will cost you. You might be better off self-educating yourself to improve your skills than you would going back to school to get a traditional degree.

Related Whitepaper:

Java Essential Training

Author David Gassner explores Java SE (Standard Edition), the language used to build mobile apps for Android devices, enterprise server applications, and more!

The course demonstrates how to install both Java and the Eclipse IDE and dives into the particulars of programming. The course also explains the fundamentals of Java, from creating simple variables, assigning values, and declaring methods to working with strings, arrays, and subclasses; reading and writing to text files; and implementing object oriented programming concepts. Exercise files are included with the course.

Get it Now!  

3 Responses to "Do Software Developers Really Need Degrees?"

  1. David Vonka says:

    Well, I still think that a good technical degree actually improves your thinking. If you want to learn to code in a set of languages, then computer science may be an overkill. But I usually find that this very particular how-to kind of knowledge is not the greatest problem in the people I hire. There is this generic technical problem solving skill, some intangible ability to analyze and handle a problem, which is often missing and which I believe really improves if a university forces you through three semesters of graph theory or electrical engineering. You can do it yourself, but you are very unlikely to manage.

  2. Mvelo Walaza says:

    I fully agree with David! Even though formal education may seem useless sometimes, it really is beneficial when it comes to problem-solving. Companies want to employ a person with some degree (no pun intended) of integrity, i.e. someone that can at least manage to complete a 3-year degree. If I (as an employer) had to choose between a person that has a 3-year degree and a person that doesn’t have one – with the same proven abilities – then I’d definitely go with the one that has a degree. So my verdict in this topic is: Yes!! Developers do need degrees!!!

  3. Roland Awemo says:

    Thank you very much for this very insightful article. I think the response to this article has been underwhelming, considering that every software engineer/developer currently in the field must have confronted this problem before. Being a degree holder myself (B. Sc.), and currently in the process of attaining my Masters naturally makes my opinion obvious, SOFTWARE ENGINEERS do need a degree.

    The most important thing for a software developer is not writing code, it is solving problems. You may be working on a project which attempts to solve a given problem. You obviously do not jump into the coding part immediately, but rather analyse the problem and think of a solution before converting this solution into functional good code/programs. This is exactly what a good degree program does. You are expected to do a number of courses and solve problems within these courses. While you may never need the specific material treated in this course, the ability to analyse a problem is what you take from these courses. This further strengthened by projects, internships and dissertations which enable you to select a specific field/topic and work on it for lenghtened period of time.

    There is also the problem of discipline and organization. Self learning requires massive amounts of discipline and organization which is not always easy to attain. Even if you were disciplined, the structure of a degree program and the facilities provided would be difficult to attain individually.

    Most students nowadays also have student jobs (at least in Germany) where they can already learn programming and coding in the real world. This, coupled with a degree is a very compelling argument for going the academic route.

    And with education being FREE here in Germany, having a degree is actually a better option.

Leave a Reply


× four = 12



Java Code Geeks and all content copyright © 2010-2014, Exelixis Media Ltd | Terms of Use | Privacy Policy
All trademarks and registered trademarks appearing on Java Code Geeks are the property of their respective owners.
Java is a trademark or registered trademark of Oracle Corporation in the United States and other countries.
Java Code Geeks is not connected to Oracle Corporation and is not sponsored by Oracle Corporation.

Sign up for our Newsletter

20,709 insiders are already enjoying weekly updates and complimentary whitepapers! Join them now to gain exclusive access to the latest news in the Java world, as well as insights about Android, Scala, Groovy and other related technologies.

As an extra bonus, by joining you will get our brand new e-books, published by Java Code Geeks and their JCG partners for your reading pleasure! Enter your info and stay on top of things,

  • Fresh trends
  • Cases and examples
  • Research and insights
  • Two complimentary e-books