A question I get asked a lot by the people I coach is, “Should I go back to school?” They often ask this as they struggle to navigate the ridiculous interviews companies put them through. So, should they go back?
Before I end the article right there, let me put a few more words about what education provides and doesn’t in terms of a software career.
Learning for Learning’s Sake
Some people do love to learn new things and benefit from the structure that a class provides. If that’s you, then there is absolutely nothing wrong with going back to school.
I enroll in several classes a year from various people because I think it’s part of my job to keep learning and growing. What I don’t do, though, is use the idea that I haven’t taken a class as an excuse for my current struggles.
Foundational Computer Science Knowledge
Here’s a big benefit for people starting their career. Many technical interviews are based around the core curriculum that is a part of most CS degree programs.
They focus on candidate’s knowledge of:
- Data structures
- Concepts like Threading, Object-Oriented Programming
- Big-O Notation and theoretical efficiency
Each of these items has a significant depth to them, and people with that knowledge from a traditional school have an early leg up as they’ve learned these concepts in school.
The problem is that most of this knowledge does not come into play on the job, so it serves only as a gate to keep people from different backgrounds out of a job.
You can learn the core elements of these topics well enough to get a job. It happens all the time. Signing up for another program because you don’t have a traditional CS degree is a bit like hitting a fly with a sledgehammer.
Role and Compensation
Aside from highly specialized fields, degrees or credentials aren’t a significant factor in your pay or roles available. Companies far more heavily weight your skill and previous experience.
So if you believe a Master’s will earn you a better position or higher compensation, there is no guarantee here.
As I said, though, there are some specializations where higher education does matter. Some examples are:
- Data Science
- Artificial Intelligence (Not current popular versions)
- Video Game Development
The last one is a bit interesting as this isn’t the same as going to school to make video games. Video game companies value people with higher education in things physics or graphics as these are not commodity skills or knowledge and the game industry uses them heavily in their engine development. Want an example? Think of a video game where there was a cape flowing in the wind. I know personally of a Ph.D. student that was hired for their work in cloth simulation. They helped make capes look real.
Far more often, there is a certification market backing specializations. So if you are interested in that, look around for the jobs you want and see if they’re seeking out certifications. That is often a cheaper route to get past the qualification gate.
Some bad news here is that even though developers don’t need formal education, hiring practices still place a high value on a degree from an institution.
Notice I said a degree and not a computer science degree?
For many companies, a candidate with a degree checks a box for them in terms of eligibility. It isn’t a deal-breaker, but it helps. It doesn’t matter what your degree is in either. So long as you have one.
This makes a big difference for career changers. The thought of going back into a school program after they’ve done that and had a career is nauseating. That degree from another time is just as good.
If you don’t have a degree, all hope isn’t lost. You need to focus on the core elements of getting a job. Leverage your network and put something in front of people to show them you’ve got the skills and drive to make it. Your network will help you bypass ridiculous checks for a degree, and then it’s up to you to show them you’ve got it.
School is wonderful, and I hope people never stop learning. If, however, you think going back to school will get you that next job or promotion, think again.