Relevance of a Formal Comp-Sci Education in Software Engineering: Is College Worth It For Software Engineers?
With the vast expansion of the software world in the last decade, software engineering has risen to be one of the most demanded jobs in the U.S. In fact, U.S. News & World Report placed software engineers as the No. 1 best job of 2023, and the U.S. Bureau of Labor Statistics has projected a 25% growth in the profession over the next 10 years.
The prosperity of this field has naturally brought high levels of competition among aspiring students who want to enter the workforce as software engineers. The typical entry point for these students is pursuing a computer science degree in college. However, a growing rumor in the tech industry is that a CS degree is not necessary at all to land a job as a software engineer and be proficient at it.
There are many zero-to-hero career stories circulating all around the internet, with someone going from supposedly “never having written a line of code” to being hired by tech companies without any formal education. In this article, a real software engineer shares her story of being offered a job by Google after only a year of going through a coding bootcamp with almost no prior experience in computer science, and this article is another story of a former chemical engineer completely flipping his career to software engineering in just nine months while working full-time and being self-taught without even receiving bootcamp training.
These are not the stories of exceptional geniuses. It is stressed by all coding bootcamps that anyone with no prior experience can become technically skilled enough to become software engineers just in the span of a couple of months or at most a year through their programs, with some bootcamps even promising to fully refund tuition fees if you are not hired after graduation. The top coding bootcamps boast job placement rates of 80-90% according to reports from the Council on Integrity in Results Reporting (CIRR). And even without the help of bootcamps, it is possible to completely self-teach the skills. Austin Tackaberry, the self-taught software engineer from one of the aforementioned articles, states in his article that “the more [he] read about [coding bootcamps] online, the more [he] realized that you can totally learn it all on your own if you are committed and focused.”
This trend of self-learning over receiving formal education actually seems to extend as far as being the case for the majority of software engineers. A survey of over 50,000 developers from 178 countries on Stack Overflow, one of the most popular forums for developers, shows that 69.1% of all developers are at least partially self-taught, and another survey from HackerRank follows the same narrative with about 65% being at least partially self-taught and 27% of developers claiming they were entirely self-taught. The survey from Stack Overflow also reveals that only 43.3% of developers have a B.S. or B.A. degree related to computer science.
While this lack of formal education may be a shocking fact to most other fields, the tech world has generally come to accept this trend with software engineers. Google, Apple, IBM, SpaceEx, and other tech companies do not require college degrees in their employment. So, is a CS degree completely irrelevant in becoming a software engineer?
Well, it is an on-going debate. Being completely practical, the four year’s worth of crippling debt and time commitment do not seem to have their proportional payoff when it has been proven that you could obtain the same job and make the same living with just a fraction of the cost and time through coding bootcamps or self-learning. However, the other side of the debate reasons about the merit of having a deeper knowledge of computer science. The truth is that a software engineer will probably never need the majority of the theories covered in a computer science degree, but having that knowledge does technically make one more capable of solving advanced problems, even if the problems are impractical of being real-life issues. Furthermore, computer science is intellectually enlightening, and studying the field allows you to uncover and appreciate one of humanity's peak ingenuities.
So while a CS degree may not be necessary, a fair argument can be made that it is still a relevant aspect of being a software engineer. It may be best for the individual to decide. Overall, the unique opportunities and paths provided in the career of software engineering is a nice break from the monotonous sequence of formal education in all the other fields, and I am excited to see how the field evolves in the future.