Soft Reset

Advice, opinions, and revelations of a non-traditional Software Engineer.

Degree, Bootcamp, or Null

Jan 07, 2022   ·  4 min

Having a software-related degree or other formal training, while helpful, is not always necessary to secure a job as a developer or to be successful in it. In this post, I will discuss my thoughts on when a degree is beneficial, when it is not, and the pros and cons of each.


Looking for a first job in software with a related degree on your resume will help tremendously. Many companies (although this does seem to be changing in recent years) will prefer a degree over no degree and may even skip over your resume if a degree is not listed. Four+ years of an in-depth foundation of the tools you will be using throughout your career (programming concepts, data structures, algorithms, etc) is hard to beat. Additionally, many software-related degrees require internships, which is on-the-job training.

However, you need to be able to learn in a classroom environment to be successful in obtaining a degree. For me, that just was not the case. I have a very hard time sitting and listening to learn. There is also a financial aspect. Just in the time since I attempted a degree, prices have skyrocketed significantly higher than they already were. I do not see a lot of logic in starting your career buried in debt.

Boot Camp

Software boot camps are less expensive alternatives to a degree and can help in getting you started. The material provides a basic foundation (not as in-depth as a degree) and is typically oriented around web development and technologies, from what I have seen. They are typically a couple of months long and full time, so you would have to have savings to handle any existing financial responsibilities. The same ability to be successful with “classroom learning” applies to the boot camp as it does to a degree.

Null (No formal training)

First, just to clarify, I do not like the term “self-taught” for this option, as there is continued education required no matter which path you take, which often takes the form of “self-taught” on-the-job training as you need to use new technologies.

Just like needing the ability to learn in a classroom for a Degree or Bootcamp to be successful, you need the ability to learn on your own to be successful here, but there is flexibility as long as you have the dedication. A mix of books, online material, and free or paid courses from learning platforms like Coursera, Udemy, Pluralsight, and others play a key role here, and you can typically find the same material across all of the above mediums, so you can figure out which works best for you.

Finding a job is going to be more difficult, but I believe there are 2 key things to do to lessen the hardship:

  1. Throughout your learning experience, work on side projects in addition to the material provided by online learning platforms and post them to a repository like GitHub. You can then show some work you have done in place of education. (Note: this is also good advice even if you have formal training).
  2. You do not need to start as a developer. It might be easier to get your foot in the door at a company that employs developers by starting in a Tech Support or Testing roll first. Prove yourself there and work your way up. This is exactly what I did.


There is no right answer. Do what works best for you. There are costs, time, and difficulty considerations with all three. As long as you work hard for what you want, you can get there!

Leave a comment

Comments will appear after moderation.