Do I need a 4-year degree to get a developer job?
Tags: codenewbie, coding, beginners
Published: 2024-04-30 12:28:37

> I'm Fahim, a software developer turned tech founder. This article is part of my series: The Developer’s Launchpad. I'll share my top lessons, hacks, and best practices for learning how to code and launching a new career — things I wish I would've known earlier in my journey. If you're starting out your own coding journey, this series is for you.

With so many online courses, bootcamps, and other resources for learning to code available today, I often get asked this question: 

_Do I even need a degree to get a developer job?_

I got a Computer Science degree before I landed my first job as a software engineer. For me, the degree was certainly worth it — and I'll share what I gained from the experience today. However, **things have changed significantly** since I was a programming student 25 years ago. The upshot? Getting a degree is **no longer necessary** to start a coding career. 

If you're on the fence about pursuing a programming degree, I'll share my two cents on making that decision — and some tips for success if you choose not to take the academic path. 

# Was my 4-year degree worth it?

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9o1paz3umtzwo7xiyclv.png)

Today I'm a tech founder and CEO. Before that, I had the honor of being a software engineer at both Microsoft and Facebook. But many tech founders and CEOs are self-taught — including ones who learned to program when I did in the late 90's and early 2000’s.

So, if other people got to similar places in their career without a degree, was getting one worth it? 

I have two answers for this:

1). For me personally, yes, it was absolutely worth it. 

Among other benefits, my university years gave me a **strong foundation** for the rest of my career. It also gave me a head start with skills that I wouldn't have been able to develop on my own as easily, such as teamwork and collaboration. 

2). It was worth it **because of my circumstances**.

If my circumstances were different, I might have done things differently. 25 years ago, there was no guarantee that I would be able to get a job without a degree. This was especially the case because my goal was to move to work in the US, and the immigration requirements included a university education. 

If I were learning to program today, I might choose not to get a degree. 

20 years ago, many companies required (or at least preferred) a 4-year degree to become a developer. But since then, those requirements have relaxed, and you can [become a programmer without a degree](https://www.educative.io/blog/how-to-become-a-programmer-with-no-degree?utm_campaign=learn_to_code&utm_source=medium&utm_medium=text&utm_content=&utm_term=&eid=5082902844932096). 

So, while it was personally worth it to get a degree, it's definitely an optional route for anyone aspiring to learn to code today. Let's consider some of the pros and cons of the academic route.

## Benefits of a 4-year degree
4-year degrees in academic programs have various benefits. 

When I started university, I didn't know much about programming. I had learned some rudimentary programming in high school, and managed to pass some exams through rote memorization.

It was in undergrad when I fully grasped programming though — and fell in love with it. Along the way, I gained many skills, built a network, and found mentors through my professors. 

We started doing individual assignments and projects, then moved on to projects that simply couldn't be built alone (similar to the real world). These group projects were invaluable opportunities for us to see what it's like to work on a team. We started using **collaboration** tools and understood how to **communicate** with each other and work through disagreements. 

This being said, I don't mean these skills CAN'T be learned on your own accord. Universities do **facilitate these opportunities** through their requirements and curriculum. However, outside of a university, you need to take it upon yourself to find opportunities to collaborate with others (for example, [contributing to open-source projects](https://www.educative.io/blog/contribue-open-source-python-project) is one great way to do that).

## Why might you NOT choose to get a degree?


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t0sn0bajdfckpu3orf8t.png)

Despite their benefits, university programs have some very particular requirements. Whether or not a degree is right for you will depend on a few factors.

First of all, they're **expensive**. While there are some opportunities for scholarships and financial aid, not everybody is able to find the resources to pay for tuition. Jumping into a program and taking out loans can be a very valid cause for hesitation, especially if you're unsure that programming will be a good fit for you.

University programs also require a huge **time investment**. Learning to code in a 4-year program is like a full-time job in and of itself. Regardless, learning programming takes a lot of time, but if you're a student with other commitments, like family, work, or otherwise, your schedule will feel tight (and some things may have to be put on the backburner).

While some programs can be flexible and self-paced, many traditional programs are not, and this can make it hard to accommodate every student's **learning needs**. University programs will have you learn **set topics in rigid timeframes**. Some students may need more time to get comfortable with one topic before advancing with the curriculum. However, because they can't control the pace of their program, many students end up fumbling through topics with a weaker understanding (which, unfortunately, does come back to haunt them).

These are among the many factors that will affect your decision to commit to a university program. If any of these factors apply to you, there's no shortage of alternative resources for learning to code today.

## Alternatives to a computer science degree
If you're not feeling confident that a [computer science](https://www.educative.io/blog/hardware-vs-software-components-computer) degree is right for you, there are alternative routes through which you can learn to code.

Two main options come to mind.

**The self-taught route**

Being self-taught means that you're leading yourself through your learning journey, as opposed to being enrolled in a [coding bootcamp](https://www.educative.io/blog/what-is-a-coding-bootcamp) or university program. It's easier than ever to be self-taught now, as you can learn from various resources, such as [online courses](https://www.educative.io/blog/learn-to-code-online), tutorials, and books. 

Being [self-taught](https://www.educative.io/blog/self-taught-coding) has benefits — as an independent learner, you can have full flexibility to decide when and how you learn the necessary material. While some resources are paid, you can also find free materials to learn from. 

**The bootcamp route**

Like university programs, [coding bootcamps](https://www.educative.io/blog/coding-bootcamp) offer a structured curriculum focused on all the programming skills you need to be "job ready." They can be online or in-person. Compared to university programs, they are accelerated programs that can teach you all the relevant skills you need in a shorter period of time than in a university program. 

Most bootcamps are paid, but they are a great option if you're motivated by deadlines and want the structure of a set curriculum. 

> At the end of the day, [every developer has to be self-taught](https://www.educative.io/blog/tips-self-taught-developers), because you'll always need to learn new skills to keep up with the industry. So whichever of these options you choose, you'll also need to develop an independent learning practice at some point by leveraging all the resources available out there. 

If you have the passion, but don't have the means to get a degree, there's **nothing stopping you** from becoming a programmer. 

In fact, depending on how much time you have to commit to learning, you could even start your developer career earlier than you would if you were confined to a 4-year program. Depending on when you start, you could even land your [first developer job](https://www.educative.io/blog/10-jobs-for-junior-developers) in 1-2 years.

## If you don't need a degree, what DO you need?


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5oohqn7eqc1eynt21ayu.png)

It's important to start your programming education by building a **strong basis in logic and problem-solving**. Problem-solving is the basis of programming, and learning how to problem-solve in sequential steps is what we mean when we say "learn to think like a programmer" at Educative. Even if you're going to be in a university program, it's a good idea to start with this strong basis, as all of the programming skills you learn will build atop [logical problem-solving](ttps://www.educative.io/blog/how-to-learn-logical-reasoning).

As I mentioned earlier, getting a degree has some great benefits — especially in facilitating opportunities to work on projects and collaborate. If you're not getting a degree, you need to **seek opportunities to build [projects](https://www.educative.io/blog/how-to-plan-a-coding-project)** and work with others. 

If I had to choose between either skill when hiring a self-taught programmer, I'd choose proven ability to build a product over working with others. At the end of the day, teamwork skills can be gained on the job, but to hit the ground running, a developer needs to come in with the initiative and drive to be able to build and complete projects. Be sure to build your portfolio with a variety of projects with varying difficulties. Whether you build websites, mobile apps, or contribute to open-source projects, a strong [portfolio](https://www.educative.io/blog/projects-launch-announcement-build-your-portfolio) will help you get visibility and gain notice from potential employers.


# Whatever you do, start early if you can 
If you have the opportunity and the resources to get a 4-year degree, and you want to learn in an academic environment, go for it. There are certainly many benefits to reap. 

That said, if you want to become a programmer, the degree is not required. 

University programs aren't the right choice for everyone. Luckily, there are so many alternatives to traditional academic routes now, and companies are happy to **employ you whether you're self-taught or coming out of Stanford**. 

However you choose to learn, start early, practice often, and don't give up. 

> As a reminder, you can find online courses, Skill Paths, and projects specifically for beginners on Educative. Check out our [Learn to Code resources](https://www.educative.io/learn-to-code?utm_campaign=learn_to_code&utm_source=medium&utm_medium=text&utm_content=&utm_term=&eid=5082902844932096) to learn everything you need to go from your first line of code to your first job.

Happy learning!

## More from The Developer's Launchpad
* [Which programming language should I learn first](https://www.educative.io/blog/first-programming-language)
* [5 things I wish I knew before I learned to code](https://www.educative.io/blog/things-i-wish-i-knew-before-learned-to-code)
* [3 new obstacles for aspiring coders in the age of AI](https://www.educative.io/blog/obstacles-aspiring-coders)