You will see many different arguments on whether developers are required to have Computer Science (CS) degrees. People saying "YES" you must have a Computer Science degree, while others say it is the experience that matters most. Well, they are both right.
When I first started coding, in the days of using tables for layouts, I was learning by looking at online tutorials. Without these, I would have never created my first hand-coded website. These were a valuable source to me, and have still remained a valuable source of learning.
Making the step into becoming a developer full-time, I realised there is so much more I needed to learn. I had to improve my foundation so I could build upon that. This is where my CS degree came in. I could not afford to go to university full time so decided on studying part-time.
Studying part-time, I believe, gave me a greater benefit as not only was I working towards the degree, I was getting valuable work experience. Being around people at work that has vast amounts of knowledge was allowing me to ask questions about what I was learning in my degree, and get real-world answers.
The CS degree gave me a greater foundation that I feel I was getting from doing tutorials online. Sure, I learnt languages which I probably will never use again, but, the logic around those languages and the paradigms they conform too are important aspects of coding. Being exposed to these languages helped me focus on which ones I enjoyed working with and the direction I would like my career to take. When I first started, my main goal was creating websites and I was a little bit more design focused. As I've gone through my degree I have changed to be more focused on software and providing the user with the service they require. Before people step in and say "a good system needs both good UI and UX", I know, I have just changed my focus from UI to UX.
Since finishing my degree I have continued my learning using online courses, but without the knowledge gained from my CS degree, I feel I would struggle to understand some of the concepts as easily as I do now.
All in all, I believe it is good to have a CS degree but I do not take away the real world experience I have gained. With so many more online resources new developers can gain the same knowledge as someone with a CS degree. One issue of learning this way, unfortunately, is when you start applying for jobs, as many companies require a degree. One of my previous companies hired me without a degree and when I came to hire new developers I was told they must have a degree. Due to this, I believe they missed out on hiring some great developers because they did not have a degree.
If you enjoy coding, and learning, this will never stop you finding a job within this industry and not having a degree will never stop you. If you have the time and resources to attend universtiy, whether fulltime or part-time, I certainly recommend it.
Top comments (1)
I agree with you completely. I got a degree in CS when I realized that all I wanted to do was code. At the time I didn't really consider getting hired I just wanted to understand how software worked from the lowest level to the user experience. In the degree I was in we started with a high level language for a single class (C#) then we went down to C++ to learn the intricacies of memory management, threading, etc. Our first algorithm and data structure classes were in C++, then we had to learn assembly. After the initial algorithm gauntlet, we were encouraged to use any language we wanted for the theory classes. I learned more in exploring the ways that different languages played middleman between the developer and the machine than I would have studying theory or languages on my own. Given clear goals, guidance, and free range brought to light the similarities between all languages. Doing this definitely reinforced the idea that the language, structures, and algorithms were just tools there for us to come to an end goal. Without the guidance of the degree I don't think I would have been nearly as ready to jump into a developer position as I would have had I studied on my own.
The CS degree I did a lot of devs would say was lower level than they would want, but with the understanding of how everything works from metal to face gives insight to how we interact with hardware that can be taken to a higher level and expanded on.