I came across a Tweet saying "You don't need a degree to become a hireable programmer", which made me think deeper about that old discussion. So, do you need a degree to become a good (or as the author of that Tweet puts it "hireable") developer?
Let me tell you my take on that topic.
I did my degree (B. Sc. Computer Science) back in 2014 after I failed being an apprentice at a company after school.
That alone might mean I am a bit biased on the topic. I really enjoyed my time studying and I learned a lot of useful skills besides the subject along the way, mastering studying independently and efficiently , as well as organizing time and meeting deadlines proved useful countless times since then.
There's also the in general overlooked fact that many fundamentals in computer science are ignored in bootcamps or by self-taught programmers. And yes it is indeed not necessary to know exactly how a computer works or to be able to program a CPU on an FPGA-Board. Higher Mathematics are also frowned upon by a big part of the community and a lot of real-life software especially in web development doesn't need it. But it definitely helps.
Those basic little (and bigger) things can help to understand what's really going on under the hood of pretty much everything and ultimately might even be the reason why you finally find the solution to a really hard to figure out problem.
At my job there were countless opportunities to use that kind of knowledge for example to optimize performance of a service.
A lot of people mentioned that you can learn all of this online. Of course you can. But you're on your own trying to build up a curriculum that's relevant and helpful. In a degree that structure is given to you, building necessary skills in an order that makes sense. I see a lot of lost people trying to learn everything at once. The lifes of these people would probably be much easier if they can just concentrate on learning and not on finding out a structure and what to learn.
There are sites that help with that of course. And not everyone has that kind of struggles. And not everyone can be a good programmer/engineer without a degree, also.
Conclusion
So I can't support the people that think a degree is useless or not needed after all. If your goal is solely to be "hireable" (a very strange goal in my opinion) than of course, that is possible without a degree and even without a deeper understanding of how computers or software in general works. But it'll never hurt to be educated and for some people, like myself, it might even be the better way to do a degree if possible.
Top comments (6)
I think the bottom line is:
Do you neccessarily need a degree? No.
Will it help with landing a progammer job? Yes.
With how saturated the Junior Developer market is right now, having a degree would most likely elevate your job application over those with just a highschool education or bootcamp certificate.
Yea, and those same fundamentals are also ignored by a lot of students in university. I can teach the fundamentals to a self-taught coder that somehow missed learning them, but nothing can be done with someone that ignored their chance to learn and still wants to be hired just because they have a fancy piece of paper with their name on it.
Someone that wants to learn and be a good coder will learn and be a good coder regardless of self-teaching or getting a degree. And someone that doesn't want to learn won't learn no matter how many classes they sit through or pieces of paper they get their name on.
Especially if you are trying to be "hireable", you should try to get a degree, because companies will prefer it, I guess, but it can be different for some countries.
The statement, that you do not need it also feels a lot like an excuse, but again I can be wrong.
I personally decided to not go pursue a CS degree when most others would've, such as yourself, because I believed the cost of getting that certificate (non-monetary + monetary) to use it to help you land a software developer/engineer job was not well worth it - at least not for me.
It may be true that the theory that you learn at college/university does give you a solid, refined understanding of the principles of software engineering that you are applying to your work, however this doesn't mean necessarily that the one who doesn't know the theory can not learn it as well by other means. For instance; online courses, "learning on the job", mentorship, etc.
I can't add much to this topic of discussion, since I've never worked as a software developer/engineer, but I do have a CS background (high school) not that it's really that relevant - only about < 20% helped me understand key concepts in my chosen field of software development. So, really I think it comes to just to how much of a drive an individual has, who wants to really, in the end of the day, learn how something works "behind-the-scenes".
SIDENOTE: I suggest reading this book called "Mastery" by Robert Greene - it covers this scientist who never went the traditional academia route but became one of the greatest scientists of all time
Degrees have become optional because its so easy to become self taught and progress far in this field.
Yes basically most companies require a associates or bachelors I have a lot experience but applying to programming jobs was hard because I didnβt meet ther degree.
No you donβt.