Do You Need a Degree to be Hired to Develop Software?
I retweeted a link to Here’s a Thing: There’s No Correlation Between a College Degree and Coding Ability. I was a bit surprised by some of the reactions to that link.
One colleague said, “I question whether people who wait until a college assignment to learn to code have the same obsessive interest in the topic.”
I was quite surprised. Back when I went to college, people didn’t have access to computers except in school. And, what about those of us who only discovered programming by accident, say our sophomore year in school (me), or a few years later (another colleague)? Would a hiring manager penalize us for not knowing about programming when we were 12?
Do developers need an “obsessive” interest in programming? I don’t think so.
When I hired developers, I looked for a number of preferences, qualities, and non-technical skills:
- Ability to learn our system fast
- Ability to get along with the rest of the team
- Ability to take feedback and provide feedback
- Problem-solving abilities in several domains: ways to look at both technical and non-technical tradeoffs
- More things depending on the role and environment
Of course, I looked for technical skills also:
- Ability to explain their code to me and others
- We always did a technical audition, so we could see somebody’s technical skills at work
- Ability to explain how their code fit into the whole of the system they were working on at the time
- More things depending on the role and environment
In all the time I hired developers (about 10 years), I never made a college degree a requirement. Nor did I make obsessive interest in coding a requirement.
One guy came into my (quite technical) software testing team via the IT group. He had a high school diploma. He’d been automating scripts for IT and was looking to expand his skills.
He automated everything he had to do more than once. He was fast. He was great. He was a sponge. He learned everything we could teach him, and then he taught the rest of us.
I’d been giving him raises all along because he proved his value. I tried to give him a specific raise because he was worth it. HR didn’t let me because he had no degree. I ranted and raved, and lost that battle. By this time, he’d worked in our group for a couple of years. I suggested he consider a bachelor’s degree. Not because it would make him more marketable. But, because it would allow me and any future managers to pay him what he was worth.
I had a colleague at a previous job who had no degree. He was a whiz at embedded systems. He was terrific at discovering the technical details that would make or break a system. He was great at coding, at iterative design, and incrementally building things that were resilient. I’m not sure how he got into software, but he was great at it.
I’ve also seen people with and without degrees who have no idea about the hardware architecture that they work on. I’ve seen people who had no idea how to design for performance or testing. They had degrees from accredited universities. Often, their degrees were much newer than mine (1977).
A degree is a sign of perseverance. It has little or no bearing on whether someone’s code will work. (See Hiring Geeks That Fit for other suggestions of what to filter on, aside from degrees.)
If you make a degree necessary for your candidates, you are unnecessarily filtering some great people out. Why do that?
Your career has taken some path. Don’t think everyone else’s career should take the same path. We are all wonderfully unique. Hire for uniqueness, and you might just create a great team.
Reference: | Do You Need a Degree to be Hired to Develop Software? from our JCG partner Johanna Rothman at the Managing Product Development blog. |
Hello Mam,
Its Really Useful Article.I am Not a Degree Holder. I Pursued Only Dip.CS&Eng.But I have Passionate About CS.I want to do something in this Stream. I Really Got Inspired by Your Article.Thank You.
Hi Prashant, I’m glad you like the article. Keep learning!
Yes Surely.
I strongly disagree with your opinion. Probably you do not hold a Computer Science degree thus you cannot possibly know what is taken care of in good universities. The difference between (a) a degree-holder-in-Computer-Science-developer and (b) Mambo-Jumbo-Black-Belt-Ninja-Coder-developer is that (a) the first is like an approved, quality checked & assessed (by nation, university, college teachers, examinations, projects etc. etc.) naked special forces commando who has learned-how-to-learn and is now trying live in the wild forest of software development. (b) the second one has no previous “serious” assessments / qa-tests (except certifications given out by private-serious-companies) but has specific assets/skills: wears… Read more »
Hi DP, I do happen to have a BS in Computer Science with a minor in Math. I also hold a MS in Systems Engineering, with a concentration is software engineering. However, that is not why I have this opinion. I have this opinion because of my experience, as a developer, tester, and hiring manager. The medical profession has certifications, based on experience and testing. The software industry has no such certifications. There are plenty of certs based on testing. None based on experience. I have met people with a BS in Computer Science that I have since refused to… Read more »