Is it time to break with the tradition of hiring fresh college graduates and go in for novel methods of recruitment? Does the background of developers influence the value they bring to the table? What is more useful, a traditional college degree or certifications from coding boot camps?
The fact that the likes of Steve Jobs, Bill Gates, Mark Zuckerberg, and many other successful millionaires and billionaires do not have a college degree gives the general public an opinion that a degree is not in fact mandatory to be a successful entrepreneur. Also, given the fact that the aforementioned millionaires started out developing software adds to this opinion. But what is the real picture in the present-day world?
Barring a few outliers, if we look into the developer community at present, we see that more than 75% of them hold a college degree (Source: Stackoverflow). This brings us to the question, is it mandatory for software developers to have a bachelor's degree?
The essence of coding
Coding is an art. Writing a good code that completely fulfills the product and system requirements without proving to be heavy on resources (like computing power and memory) is a rare skill that can be acquired through critical thinking and regular coding practice. A creative developer can come up with more than elegant ways to achieve the objective of a smooth functioning system.
However, one cannot be a skilled developer overnight. One has to study the principles of programming and the programming language before venturing out as a software developer.
What does a college degree have to offer?
With structured courses and access to experienced faculty, a college is a good place to learn the ins and outs of the area that you have chosen. Coders traditionally earn a degree in computer science, computer engineering, or software engineering before venturing into the software industry.
The experience from college helps the developers to deliver results within the agreed timeline (all thanks to the projects and assignments at college). They also come exposed to other areas related to programming languages like networking, requirement management, and business management. This comes to the benefit of employers as such broad knowledge makes the developers versatile to take up different roles in the organization at different points of time.
What are the alternatives?
College is not the only place to learn to code. With the infinite tutorials available online, anybody with an interest to learn can become a self-taught coder. In addition, coding boot camps equip the learners with the principles of coding in the programming language of their choice.
The courses are tailor-made to suit the requirements of the current software industry. Hence all the subjects taught here are guaranteed to be of use on the job.
What’s the verdict?
It is unfair to compare the backgrounds of developers and assess which one of them is better. Both have different skill sets that are useful in entirely different ways.
From an individual’s perspective
The ideal choice for one would be to first get a college degree and then get certified in a coding boot camp. This holistic approach will make one the most desired candidate given the vast knowledge one acquires in the due course of earning a degree.
However, for someone who could not get a college degree for some reason and yet wants to pursue a career in the field of software engineering, committing to a coding boot camp is the best way forward.
Whatever be one’s academic background, learning should never stop and one should continuously upskill oneself by availing different courses from the internet. Ultimately the openness to learn new skills, the speed with which one adapts to various platforms, in-depth know-how of one’s domain decides one’s growth in the software engineering domain
From an organization’s perspective
The choice depends totally on the role. If the organization is looking to make an MVP/prototype, a self-taught coder or should be sufficient to do the job.
But for the role of a system architect or a product engineer, it is safer to opt for someone with a college degree and some years of extensive coding experience.
Also, when a developer possesses skills like an ability to learn independently, specializations in niche areas, and excellent collaboration skills, their background is of little importance to the organization.