In 2020 Admios received 685 dev applications and conducted 422 interviews. There are typically two paths our software engineering candidates take: they’ve been coding since they were teens and find jobs straight away or they enroll in a computer science degree (CS) from an accredited university.
Up until recently, having a CS degree was a prerequisite to getting hired at many tech companies, however the tides are changing. With Google, Apple, and more no longer requiring a college degree, is there value to enrolling in a CS program?
We spoke with some of our developers on both paths to see their perspectives and explore the differences.
CS Degree? What For?
Over the last 15 years, we’ve hired hundreds of software engineers, roughly 75% are completely self-taught and 25% got a CS degree.
Almost all of our employees have been coding since they were teenagers, and many actually do decide to enroll in a CS degree, some never finish. Once they start their studies they realize what they are learning online or by experience is more relevant than what is taught in university. This is particularly common in Latin America. The pace of change of software development is much faster than college education curriculum can keep up with. On top of that, there are plenty of well paying opportunities for skilled programmers.
“When interviewing candidates, I don’t even read resumes anymore. I dive right into technical questions and evaluate them on their skills and expertise.”
- Fercho De Vega, Admios Team Lead at Off the Grid
Read Fercho’s programming story to learn how he started messing around with QBasic at age 10. In fact almost everyone on his team doesn’t have a CS degree. They learned through bootcamps, tutorials, courses, and obviously lots of coding.
While there are plenty of self-taught developers, our employees that went through a formal CS degree had nothing but good things to say about it.
What I Loved About Getting My CS Degree
“I always knew I wanted to be a programmer but I didn’t know where to start. I loved the CS program at my university because it gave me a kickstart into what is now a career I love”
- Marcos Gil, full stack developer LatentAI
While there are plenty of bootcamps and alternative coding schools, a CS degree is the best option if you want to learn to be a programmer and have the college experience.
Developers that go through a university CS degree tend to get exposure to more theoretical and “under the hood” concepts that a self-learner may not spend time with. Typically these are dedicated classes that include:
- Discrete mathematics
- Statistics
- Building and analyzing algorithms
- Detailed understanding of Databases and Operating Systems
- Metaheuristics and framework for solving combinatorial optimization problems
“In school there is a lot of theory to learn before you get to code,” said Fernando Figueroa, an Admios developer on the Anaplan team. “At first this was frustrating, but now when I run into recursion problems, I’m glad I know the theory to help me design elegant solutions.”
In general, CS degrees tend to have a focus on mathematics, statistics, and algorithms, making them valuable in the ever growing fields of AI and ML.
“Sometimes I can tell if someone doesn’t have a CS degree because parts of their code might not be as optimized as someone who has some basic statistical knowledge taught in most CS curriculum,” Marcos commented. “It’s not that these are bad developers, just that they have different skill sets due to their learning path.”
Some of the reasons our developers didn’t like their CS programs included:
- 1 hour commute everyday to class
- Expensive, especially if you’re not working
- Required to learn the basics of everything, such as networking, even if you aren’t as interested in it
- Some curriculum topics are useless filler and didn’t provide much value to the students.
So What Type Should I Hire?
One career path is no better or more advantageous than another, both produce very skilled software developers. So much depends on the interests, work ethic, experience, career goals, and personality of each developer. That said, there are a few patterns we see between the two which might be a better fit for your company, product, and needs:
- CS devs tend to have a better understanding of theory
- CS devs tend to have more experience in mathematics, statistics, and algorithm analysis
- Self-taught devs tend to have a longer history of coding, especially if they started at an early age. CS devs might have started coding in college.
Part of the Admios hive mind philosophy is to hire developers with a wide range of backgrounds and career paths so we can collectively share knowledge with each other and our clients. We’re blessed to have extremely talented developers on our team that are both self-taught and completed formal CS programs
If you’re interested in learning more about how our talent pool can help your engineering goals, click here to get in touch.