That said, I think the degree holders were better candidates usually, but I strongly suspect it wasn't because of the education. Colleges attract people who are good at carefully following complex instructions, have a healthy respect for authority, and can delay gratification in the extreme. They are also experts at navigating a system from within. The degree acts to filter out people who are too independent to fit well within a hierarchy.
I don't think I ever noticed much difference between different kinds of degree holders aside from a broad separation between analytical degrees and humanities degrees, which again might have had more to do with the initial filter than anything taught in the classes.
What does these qualities have to do with being a effective software developer?
> The degree acts to filter out people who are too independent to fit well within a hierarchy.
Wouldn't people that fall into the category of "free-thinkers" make for better engineers — or at least engineers that are more capable at creating novel solutions to hard problems?
Lack of healthy respect for authority typically means more fights about who will do which task and more likely to unilaterally refuse to follow random parts of code standards. It may mean refusal to close jira tasks or open them. It may mean that analysts have much harder time to convince that one person to do what is needed, again.
Software development is typically strongly team work and requires quite a lot of coordination among people with opinions. When one person decides he does not accept authority of analyst, architect or manager, yes there are consequences for whole team.
No. However "freethinkers" can launch their own companies. It is like people say that Steve Jobs would not get hired at Apple today as if it were some great insight. It is simply company is looking for a set of skills and willing to pay money for it. SJ would rather launch a new company "Apricot' instead of working at Apple.
Besides 'freethinker' is just an euphemism and part of linkedin cliches nowadays. And the definition of free is anyway restrictive and bound to cultural and societal norms.
There's a strong selection bias at work - people with good administrative skills and communication skills are much more likely to go to college in the first place. We need to be asking if those people needed to go to college to develop those skills.
In my experience at university, mostly the people who were the strongest - the people you wanted on your teams - were strong right from the start. They had some inherent skills which university developed and honed, but didn't create.
Agreed, but a university education reveals those people to me in a way that other evaluation criteria I have will not. I have lots of tools to evaluate whether a person has basic skills, but relatively fewer to determine whether they can do that other stuff. This is especially true as the reference and employment verification process is more limited than it used to be. Most companies I call can't tell me "don't hire this person" like they did 15 years ago.
It doesn't help that, working for the government, I have limited options once I do hire someone. I am under pressure to make the right decision the first time since unmaking that decision is a great deal of painful time and effort. I suspect a number of mid-level managers like myself are in that position, which is why the degree continues to carry so much weight.
I'm biased in some ways as someone with a philosophy degree, but I've easily run rings around CS grads, and seen some who have absolutely no capacity to program. Most of the non-cs programmers have A degree, just not a CS degree. Often technical, I've known chemistry degree, engineering, architecture.
I think you're right in guessing that it's your culture pushing out the good non-CS grads rather than they're better. Be interesting to hear if you do the typical American white-boarding algo nonsense that YAGNI.
This generation might be different as CS became an obvious choice for the sort of people that may previously have chosen a wider range of subject. I think it's a shame as ultimately I see a CS degree as a waste of time, I've studied the concepts myself thinking myself deficient and never actually found any value to the lessons apart from intellectual curiosity.
The parent post didn't mention computer science.
There's probably a survivorship bias of some sort.
You're probably not interviewing for someone to write a bleeding edge piece of software, so you're probably looking for someone who's capable of showing up, writing some code and not killing anyone.
I've found the reason people got the degree to be a bit more telling. The best performers were those who felt their knowledge was limited and wanted to gain more of it. The worst performers were those who got the degree and thought the whole programming part was behind them.
In my (limited) experience the answer is definitely yes. Not only do they have more exposure to the concepts we need them to understand (if not necessarily the specific tools), we have just had better luck with them as employees in general. They are more likely to do small things, like all the administrative overhead that's part of a job: responding to requests in a timely manner, having good written communication skills, showing up to meetings on time, etc. I am the first to admit this is a small sample size and a lot of the cultural fit could be that the workplace is already filled with college educated staff, but I'm curious what your experience is after the hiring process is over.