I've long suspected that much of what the algorithm testing craze (and other grilling on "strong CS fundamentals") in the current default hiring process boils down to is -- they just want to have some kind of vague reassurance that the people they're hiring are somehow "better" than the folks the other companies are hiring.
Even if the standards of "better" (and they means of measuring it) are - when we think about it - pretty dubious.
(To head off some of the tangential discussion that would otherwise likely ensue from what I just said: I don't dispute the value of doing some algorithm testing -- the point is that a lot of places seem to overtest these days, and it seems also that the only reason they're doing it is because they think that's what other companies - or at least the ones they'd like to fantasize that they're emulating - are doing).
And since that became the standard from the beginning, it's what remains now.
1st Tier schools a Bachelor's degree holder has most of the fundamentals of mathematics within computer science. Complexity of algorithms, complexity of operations on various data structures, models of computation, problems that can be solved with different models, etc..
20 years on from going to school it took me a long time to figure out a lot of schools don't cover almost all of that until you're working on a Master's degree or Ph. D. It's really surprising.
I think some of CS questions in interviews are because the degrees are so variable. I don't think this is a problem when you're hiring a Mechanical Engineer or a Civil Engineer who is licensed. All the schools need to teach to a uniform enough standard that their graduates can pass the licensing requirements.
CS is a mess. The Top Tier schools seem like they may be so much better that a Bachelor's degree is worth more than a Master's degree from other places.
I think it's hovering around medicine. Where there is a seemingly art form to deal with the realities of our too complex biology.
> They couldn't find any of the fancy CS degree folks
Fascinating.. I wonder if their creating a high barrier of entry actually backfired and caused them to hire less competent people?
My hypothesis: people with CS degrees are fairly high in demand, and on average are qualified to get much "better" jobs than customer support. This being the case, if you require a CS degree, you end up with predominantly the people who were unable to get a better job elsewhere, who are less capable whether it be due to motivation, intelligence, or something else.
Note this completely assumes that software engineering jobs have better compensation/benefits than customer support and I acknowledge I don't know your previous employer's specific case. I also don't want to knock any customer support people, so I hope you will excuse my liberal use of the word "better": I only mean better in terms of compensation and I understand there are more important things than money.
Depends on the exact question; degrees trigger Berkson's Paradox [0]. If you do a survey of company workers doing [task X] then there will be a negative correlation between formal qualifications and competence. That is because all the the uncertified individuals doing the task will have gotten in by being very, very good at it but the statistical outcome is that the certification becomes a negative competence signal.
Such as this anecdote, in fact.
[0] https://en.wikipedia.org/wiki/Berkson%27s_paradox could be considered a variant of https://en.wikipedia.org/wiki/Simpson%27s_paradox
A property manager told me once that if you are having problems finding good tenants that you should lower prices. Perhaps counterintuitive, no? He claimed that it opens you up to a much larger pool of people that allows you to discover better tenants.
A poor family can make better tenants because they need the place to function and need a stable home. A rich college student with rich parents will sue you to death over anything if they choose to break the lease or a dispute arises.
Anybody who's heard or increased the rent like that must be in a rather prime location, definitely not in the country side for sure (little jobs and little tenants there).
1. The hands-on subjects will be very easy for obvious reasons
2. The theoretical subjects are going to be extremely interesting to you, because you will be able to investigate the theoretical basis of things that you've learned from experience - when a subject is very interesting to you, automatically it's less hard to study.
3. Studying at a relatively mature age is actually awesome! Studying feels more like a privilege and less like a chore. And the interaction with younger students is probably not going to be as hard as you think.
I took some time to take a class for a career change and I LOVED IT, i was shocked how much I enjoyed it, but don't have the time / resources to go all in at this time.
I completely echo your sentiment about taking classes at a mature age being completely different. I was not a good young student but I found myself excited EVERY DAY for class when I was going. It was so much fun. There were a few of us older students and we were always excited with a handful of younger students.... the rest of the students looked like they were greatly inconvenienced by going to class (admittedly I probabbly did too at that age).
The difference taking classes now vs then is night and day for me.
There was a core group of us who worked together a lot showing up early / staying to help each other, and it was about 30% older and 70% younger and it was a great experience.
For context, I went to school several years later in life than most undergrads, but I wasn't a developer during the intervening years. I came into university with nothing more than a hobbyist's knowledge, but through continued extracurricular activities and paid internships, I kept myself perpetually well ahead of the curve.
1. True, and the ability to complete over-engineer undergrad CS projects just because you have the time to do so is often a lot of fun.
2. Didn't work that way at all for me. I already had a better theoretical understanding than the undergrad curriculum was designed to teach me, so I was constantly bored. I didn't even do particularly well in the theory-focused classes because tests often asked to regurgitate what the class taught rather than asking for an explanation of the theory that was the subject of the class.
3. I find this one utterly baffling. How anyone could consider studying (as distinct from learning!) a privilege is totally beyond me.
There’s a world of difference between a college degree with no experience and no college degree also with no experience. There’s a significantly smaller difference between a college degree with ten years experience and no college degree with ten years experience.
There is a world of difference between work and a degree, particularly in the UK where a CS degree varies widely.
It’s a surreal experience to be teaching people who on paper blow me away on academic qualifications on the other hand I’ve decades of producing code that produces value, experience with business side of things and knowing how to get stuff done mostly on time and mostly on budget which by the standards of our industry is pretty good.
Not the only one at my company either, the senior dev/tech lead side of things is about 50/50 degrees/no degree depending.
The CTO and Head of Software Engineering are firmly on the a CS degree is only a weak signal at best that someone will make an effective commercial developer.
Not like we are doing crud of the week either, we have VR division, are solving complex problems and have about 4K employees (only about 100 devs though).
Can corroborate this experience, however I do not think it has much to do with having a degree as much as it does with having the motivation to learn and excel. Our industry has people who are in it to just coast through life as safely as they can, and it shows in the interview and the day-to-day work life.
In my limited experience, the feistiest of developers have been those who have learned how to code well, and ship software at an age before they set out to do their degrees (and still went and did a traditional, 4-year CS degree).
I have had a great pleasure of working alongside some of them, and to this day I have yet to see this level of aptitude be matched by people who got into CS as a matter of course for a job.
And to pre-empt the inevitable "5 years experience is just as good," that 5 years can't come unless you either a) got that degree 5 years ago to get a job for that experience, b) managed to befriend a hiring manager, or c) started a company.
What an applicant can or can't do means nothing if they don't make it to the part of the hiring process where they can demonstrate it, at least without blatantly lying on their resume.
At this point with my CV no one even asks about academics and hasn’t for a decade or so, the work/references speak for themselves.
I’d hate to be young in this market though which is why I’m so happy a good chunk of my time is/will be spent on the mentoring side.
Helping people get started in a rewarding career is itself rewarding.
I also assume that very few places are actually verifying educational credentials.
Minimum requirements
- 4 year degree
- 5 years experience
Interview:
- What are some of your major accomplishments?
---
Applicant A (me, the following scenario is literal copy pastes from email exchanges, with identifying information changed):
No degree, 13 years direct experience
Company: "Hope all is well, Ryan! I wanted to extend a virtual wave and thank you for your interest in joining our team. You obviously have many of the skills we're looking for. However, for the -job title I applied to- role we require a BA/BS degree as well as previous experience in a broker role doing entries and customs classifications."
At this point I forward the email to a friend
Some days later, after friend shot the CEO an email semi-chastizing him for demanding degrees
Company: "Hi Ryan,
My name is -name-, I run Commercial Recruiting at -company-. I was hoping that I would be able to connect with you next week as I would love to chat about the -job title- role in -city-. We have made so recent changes to our role requirements and looking at your background, I think you could be an excellent fit!"
Applicant interviews: asked "what is your superpower?" "what sort of major projects have you worked on?" "What major career accomplishments have you made?"
This was for an entry-level position that I've been doing longer than the company has existed...
Company: "Hope you're doing well, Ryan. I wanted to drop you a note to let you know that after discussions with the team, it seems we’re not quite the right fit for your skills at this time. " email received WHILE I was on the phone doing the interview, minutes before it concluded.
--
Hypothetical applicant B: successfully exited a company unrelated, with no degree, and no experience in the field
Company: "hey, you sold your company for xx million, well you're probably not right for this position but congrats you're our new president of enhanced quantum user AI learning experience! Congrats, uh, you're the first person in that division, we were really impressed with the AI company you sold to Megacorp, here's 20 million in VC money, make is some AI!"
--
Hyp0thetical applicant C: has a degree, has no experience, has unrelated experience in CS
Company: "hey, could you describe that project you mentoned in your CV, it sounds really neat. We see you also dod coding for XYZ Company, well you don't have any experience doing the job but that's ok we can teach you and it'd be great because you can go ahead and tell us how to improve our systems and possibly even do some of the coding yourself, congrats you're hired! Seriously though, don't worry, the complex legal paperwork and ever changing regulations isn't that big of a deal we'll just have someone help you for 6 months and check all of your submissions"
Well, besides the hordes of employers who would jump at the chance to hire somebody who graduated from mit with a 4.0 you mean...
I suspect it is small as a % of employers, but their interest / pay may make it very much worthwhile.
I wish I had the time to go back to school and get one. I would do it if I could afford to do so in a heartbeat. I wasn't a very good student in my early years, but during a career change took a class and found I loved it, but that time has passed for me for now (kids and career obligations for now). And honestly after I changed careers to a more coding centric career I certainly see the value.
I do think the differences you describe VERY MUCH depend on the tasks / job, and are not universal by any means.
There might be artificial factors requiring the factories to hire people with white collar education.
In fact after the company was acquired again later (well a few acquisitions later) I had moved on and was thinking of changing careers when a former coworker(s) and a manager contacted me desperate for help. I was only mildly interested but I agreed to interview at the new company. Their system rejected me for no CS degree, it was an automated email from their HR system ;) I had years of experience with some of their proprietary systems, but nope.
Before they could fix that glitch I had reconsidered and told my friends I wanted to move on (more so based on my personal interests).
I wouldn't be as there are not a lot of 'technical support' degrees.
Someone once told me something to the effect of "the two people groups that understand a program the most are the developers and application support", which I interpreted to mean that just because you didn't write the program doesn't mean you don't gain close familiarity with its problem domain, inputs, outputs, behavior under adverse conditions etc.
That is partly why I changed careers.
If you're any good and in SV, you try to move up role or move up the ladder, ain't staying in a low paying support position. The opportunities are everywhere waiting to be taken. It's kind of a brain drain.
If you're any good and in side Minnesota, it might be quite harder to move up.
That isn't the point. The point is to blow up your valuation to multiple billions without making a dime in profits by making all sorts of vague and pompous statements. Like claiming that you only hire the best (and actually hiring the people based on their ability to make buzz) and then dump it on the unsuspecting retail investor from outside the Valley.
This will prevail until the public investors stop drinking the hypergrowth kool-aid and start demanding actual profits. May take another decade though.
I worked for a tech company that was acquired by some big valley tech company. They couldn't find any of the fancy CS degree folks they were looking for in the valley so they decided to "try" bringing a few of us over from this nobody company (that they had picked up just to absorb customers, we were just the folks left over after the layoffs because they didn't want to deal with supporting those customers themselves).
I didn't finish college, and I was warned that this was high tech stuff and they usually hire some pretty smart people to do it.
So out to the valley they fly me and some others and first day i'm absolutely overwhelmed ... by how simple a job it was they were doing, and some pretty poorly.
They were so invested in their resumes and being in the valley I don't think they really understood that day to day the job was basic troubleshooting. At one point one of them showing me how things worked asked "What do people do in Minnesota for work?" I told him "The same thing you're doing..." He found that hard to belive.
In about 6 months a handful of us from nobody company were churning through work at twice the rate of the other folks and with higher customer satisfaction scores (it was basically technical support)... and engineering was asking that critical cases be transferred to us "for efficiency".
Ultimately the job was customer support some mild technical skills / ability to learn / take good notes / ask good questions / the ability to formulate a theory, test it, and so on.
I knew dozens of people who could do that job at a third the cost, but they'd never hire them.
Years later I change careers and I sit through interviews where they hum and haw about my lack of CS degree again ... for a job maintaining their wonky CRUD app.