Authorization

We dont need no education?

Ive been doing a lot of interviews lately, and Ive been watching the rise of Lambda School which I think is fantastic, incidentally and the combination has me wondering two things:



how educated do software engineers need to be?




And how well does that map to what they actually learn from formal education?



Lets step back and define some terms before we try to answer those. First, by formal education I generally mean a four-year accredited university, whereas people with eg Lambda School or boot camps behind them are informally educated, and in turn distinguished from autodidacts. This is not universal. Early Google didnt seem to consider anyone with less than a masters formally educated.
Second, of course theres no absolute need. Since the dawn of the first vacuum tube, and very much including hardcore grotty stuff like compilers and cryptography, software has been a field in which people with no formal training whatsoever have thrived and succeeded wildly. Obviously neither a formal nor an informal education is actually necessary. What were actually asking is: in general, is there reason to believe software engineers with formal educations are better hires?
Note that, speaking as an employer, I dont actually care whether this is due to selection bias, i.e. whether its because capable people are more likely to be formally educated or because they actually learned from it. Im happy to accept that the entire university system in any country, especially yours, is deeply and increasingly pathological, unfairly and jealously hierarchical, terrifyingly high-priced, and deeply flawed at credentialing and capability signaling.
Thats a big deal to me personally but when wearing my hiring hat, I dont care about how that credentialing sausage is made. All Im interested in, when Im interviewing, is: are those signals meaningful? Are those people more or less likely to succeed, or make a mess I will subsequently have to clean up?
Its awfully hard to find applicable statistics here, let alone any whose compilers didnt have some implicit axe to grind. And of course I have my own biases: I have a four-year degree, from a (Canadian) school outside the hierarchy of the (American) nation in which I live, but with a strong international reputation (Waterloo), in a field (electrical engineering) only somewhat associated with software development.
I used to ask an interview question or few about theory. One of my go-to questions used to be: Do you have a favorite algorithm, and why? Ive stopped asking it, because the answer is almost always some variant of no. Even those who have formally studied algorithms rarely care about them. Sometimes I get some variant of I know what an algorithm is, but Ive never actually written one.
Thats not surprising. A whole lot of modern software engineering consists of connecting pre-existing components in slightly new ways. Algorithms, as we usually understand them, come baked into our tools and libraries. Does a formal education in big-O notation and Turing machines help at all? Short answer: no. Is prior experience with matrix multiplication and eigenvectors useful? Actually yes, in the rarefied case that you want to understand modern machine learning but, as the tooling improves, not so much if you just want to use it.
Modern software engineering often but not always has much more in common with plumbing or carpentry than with hacking art, architecture, or computer science. Its more like cranking out aggregative blog posts, or writing business nonfiction, than it is like crafting a novel, much less writing poetry.
Of course, this comes with the important caveat that the analogy only stands if every few years the tools which plumbers and carpenters used changed completely, along with the occasional rise of whole new approaches to their fields. But still, the need for constant re-education is probably an argument against formal training; why spend four years learning how to use tools which will probably be obsolete two years after you graduate?
So it seems reasonable to argue that if if you strip out theory and history, then the pedagogical content of formal education, vs. informal education plus a year or two of experience, is roughly equivalent. Autodidacts? Theyre a difficult edge case. They tend to be highly intelligent, and both hard and fast workers, but they havent spent as much time implicitly learning from others mistakes, so if still anywhere near their larval stage, theyre more likely to make them anew. An autodidact with an extensive history / portfolio, though, has no strikes against them.
What about the credentialing and selection bias of smarter people being drawn to universities? I concede theres something to that. If its a university Ive heard of (again, I didnt grow up here) then that biases me in favor of a candidate. But at the same time, Americas education system is so screwed up, giving such advantages to the already privileged, and the existence of legacy students (who dont really happen in Canada), that at the same time Im extra wary.
You might conclude that ultimately I dont distinguish between formally and informally trained students. But youd be wrong. Most of the time they actually are surprisingly equivalent. But software engineering isnt always like plumbing and because of that, I find myself pretty unwilling to strip out theory and history from the analysis after all.
Formal education, whether it be engineering or the liberal arts, is supposed to teach you how to think critically, how to analyze systematically and strategically, and how to educate yourself efficiently, more than its supposed to import any particular body of knowledge. It doesnt always succeed at this. And most of the time you dont need any of those skills (except the last, which you need forever.)
But on the occasions that you do need those other meta-skills, you need them badly and it seems to me that youre noticeably less likely to gain them from informal training or autodidacticism. Youre probably right to be suspicious of this view. Im suspicious of it myself. Its probably essentially impossible to measure and test.
It still seems to me, though, that what you gain from formal education is not so much an expansion of your mind as a specific and (somewhat) controlled expansion of your worldview, one which hasnt yet been replicated elsewhere. That doesnt mean it cant be. But theres more to it than just intensive training in technical skills and maybe that kind of meta-skilling is the next step in nontraditional education.
See also:
Leave a comment
News
  • Latest
  • Read
  • Commented
Calendar Content
«     2019    »
 1
2345678
9101112131415
16171819202122
23242526272829
30