3 ms·
I was self-taught, then went to Yale where I (almost begrudgingly) chose to major in CS. The Yale curriculum is more oriented toward "fundamentals" than at most
by chatmasta 3y ago
I was self-taught, then went to Yale where I (almost begrudgingly) chose to major in CS. The Yale curriculum is more oriented toward "fundamentals" than at most schools, with introductory courses taught in C and a heavy emphasis on the more static aspects of CS that haven't changed since 1970. The professors insisted that you'd learn the practical skills like languages and tooling du juor at your internships, so not to worry about the heavy emphasis on theory during class. It actually became a big point of contention while I was there, and some students in the year ahead of me started HackYale as a sort of practical-skills bootcamp. After I left (2014), and the CS major exploded in popularity, they partnered with Harvard on that CS50 thing, which AFAIU is a more real-world oriented introduction to programming.
In retrospect, the professors were right. I've rarely used C in my work, but the theoretical underpinnings that I learned have been an invaluable foundation. But I could have also spent those four years learning "more practical" skills and I doubt it would have changed much. Like many students at the time, I already knew scripting languages when I started the CS major, anyway. And I expect that's much more common these days.
So, all that's to say - while I appreciate the theoretical foundation I got from CS, I don't think it was strictly a pre-requisite to becoming a software engineer. Besides, I still consider myself self-taught anyway, since I learned to "program" before I went to school for computer science, which - as my advisor was quick to point out - was a wholly separate different endeavor. And I have an easier time connecting and empathisizing with fellow self-taught engineers than I do with fellow alumni. Or at least, it's a different kind of connection - in a self-taught engineer I see a kindred intellectual spirit, whereas in a fellow alumnus I see inside jokes and a shared experience of college debauchery.
Now I'm a co-founder of a startup, and we've hired five other engineers, including one former aerospace engineer who graduated from bootcamp and whom we've molded into a junior engineer with an initial skillset perfectly tailored to our stack. We've built a really strong remote team. We actually avoided hiring people with brand name degrees, and looked instead for demonstrably practical skills and the ability to work independently. Based on those evaluation metrics, someone who is a self-taught programmer is actually our ideal candidate. So I wouldn't feel bad for them - on the contrary, I'd feel bad for the prestige chasers who need to compete with every intellectually curious hustler with a computer.
- 1letterunixname 3y agoI was self-taught in both terms of computer science when programming books were the staples and DIY computers when they came in beige boxes. I would trek to a Computer Literacy Bookshop north of downtown San Jose to acquire DOS and interrupt call reference manuals. College prep over-achiever high school but avoided the heard intent on swarming Boston, Berkeley, and Palo Alto. Instead, did UC Davis where there was UNIX flavors and Linux. Was CS before transferring to CS&E (EE/CS equivalent). The intro networking course 3rd project was to write a forking caching forward HTTP/0.9 proxy. There was little-to-no grade inflation and it was sink or swim because they were itching to compete with Ivys and PacNN on fundamentals of rigorous undergrad program and vying for interesting research, especially in computer graphics and infosec. Prior to this, I had a high school job as an assistant manager at a retail software store before going into sysadmin consulting. Engineering systems thinking and discipline comes from practice and experience of doing difficult things. Brand Name degrees have a bad rep now in a post-Theranos world where there's the easy ramp to capital and support based on pedigree tick boxes, which doesn't necessarily translate into hack and hustle. There's another phenomenon where people who come from well-off backgrounds are often under pressure to go well beyond ordinary expectations of education and job performance to avoid the perception of riding pedigree and upbringing. I look for engineers who mildly obsess over correctness, remove tech debt and net LoC, weigh the tradeoffs with discretion, express continuous curiosity, and bonus points if they're partially extroverted and easy-going. I've worked with engineers in title who fell into their positions via a transition from IT roles, but sometimes engineering ingenuity and curiosity are missing and that's a bit disappointing.