DIY Programming Book Reignites Computer Science Education Debate
Seattle software developer Rob Conery has written a book that offers computer science lessons for those without CS degrees and has sparked conversations among those with CS degrees about the value their formal training.
The book is called “The Imposter’s Handbook: A Primer for Self-Taught Programmers.”
“Don’t have a CS Degree? Neither do I — that’s why I wrote this book,” the handbook begins, before promising “essential skills and concepts for the self-taught programmer,” covering rarefied academic topics like Big-O notation, lambda calculus, P vs. NP, and sorting algorithms. There’s Linux essentials, shell scripting, some guidelines for good software design and even information about encryption. Conery calls it “a compendium of my year-long quest to fill the holes in my CS knowledge.”
It’s clear that Conery’s book was a labor of love. The Imposter’s Handbook is 500 pages long, with 48 chapters and 132 hand-drawn illustrations, and there’s lots of earnest enthusiasm around the project. “This book took a lot of time, and I carefully, lovingly, wrote every chapter with the hope that you will feel the joy that I felt learning these subjects,” Conery writes.
It’s an interesting project, and in a 4th of July blog post, Conery wrote about what inspired the book — an anonymous comment on the blog of Stack Overflow co-founder Jeff Atwood. It complained about people with “no grasp of how much they simply don’t KNOW,” arguing that beyond any practical considerations, there’s also a principle. “Ignorance is pretty bad, and I reject mediocrity for its own sake.” Rob posted that he agreed, adding “I don’t know what I don’t know. I set out to change that six months ago, and it’s what I hope to share with you in a few months from now.”
Could you really cram everything you need to know into an imposter’s handbook? Of course, even Conery touts his book as not a definitive answer or even a replacement for a degree program, but “a concise summary of the things you should know.”
But what happened when Conery’s dream met the real world, exposed to the cold, harsh scrutiny of the world’s professional programmers? Conery got off to a good start when his blog post attracted 252 upvotes when its URL turned up on Reddit. But it also provoked a very long discussion about whether his blog post already contained a mistake — or at least whether O(n + 1) is equivalent to O(n).
“I guess that’s part of the point,” commented a user named the_sound_of_bread. “If someone says some bs you should know enough to call them out on it.”
But before the discussion was over, there were also programmers bragging about the comprehensiveness of their college’s computer science program. “Specific areas for me were graphics, vision, networking, operating systems, but I could have chosen other areas. Then there’s a whole bunch of areas that you’ll cover because staff members are keen on them, and which might differ as people come and go E.g. maybe a term on using Prolog for AI, or Eiffel for algorithms, or Lisp for blah blah.”
This week, the URL for the book’s website was posted on Hacker News, drawing 328 upvotes and another 226 comments. Everyone had a stake in the discussion — both the self-taught programmers and the ones with a degree.
“I have a degree in CS and I’ve never found myself in a situation where anyone would discuss bouble sort vs merge sort…”
“…while nobody sits around talking about data structures and complexity that’s not the point. It gives you a foundation of knowledge that you automatically and subconsciously apply to every job you do.”
“I have a CS degree and have worked with brilliant engineers that were HS drop-outs. It has everything to do with a passion for learning.”
“Spending 4 years to get a CS degree gives you a lot of skills and knowledge. But so does writing software outside of college for 4 years…”
“Is it really the case that you learn so little on these universities that you literally have no advantage over those who didn’t attend?”
“The main thing people miss out on not having a degree is not getting past silly HR ‘must have degree’ filtration. Never once found a CS degree a worthwhile indicator of ability.”
“Having a CS degree gets you through a Google-style interview — where they will hammer you for hours on your ability to recall the skills you needed to pass your algorithms classes in university, and grade you almost solely on that. And then you will start working there and almost never use those skills again…”
There was some nit-picking about Conery’s explanations — and yes, there was still more discussion about Big-O and performance optimization.
But could the fact that there’s so much to discuss proves that there really is a need for Rob’s book after all? Even before the discussion on Hacker News, Rob had already sold 1,337 copies of his book, according to an update on Twitter. Maybe there really are a lot of programmers in the world who’d like to see imposter syndrome become a thing of the past.
“Dude – absolutely loving the book,” tweeted a software architect in Cleveland, “thank you for such a masterpiece! First book like this that’s actually, heavily enticing!”
- “How to fight global poverty from space.”
- The world’s first self-driving taxis appear in Singapore.
- Troubled times for that startup that wants to shoot levitating pods through transport tubes.
- The U.S. hands off the last of the internet’s DNS system.
- The FBI releases a new app that helps you hunt bank robbers.
- The EFF vs. Windows 10: blatant disregard for user choices and privacy?