I’ve been on Reddit for the past few years, mostly giving advice in a subreddit (or “sub”) called CS Career Questions. The participants run the gamut of technologists, and on any given day you can see questions from high school sophomores asking which math class would better prepare them for a programming career to programmers in their fifties seeking input on how to keep skills fresh.
After participating in /r/cscareerquestions for about a year and doing a couple popular AMAs, I was asked to be a moderator. Mods have the enviable job of keeping content on topic, deleting offensive comments, and banning users (not to mention bots) who don’t play nice. As a mod, I’m now obligated to pay closer attention to the activity in the sub.
I thought I’d share some observations on what I’ve noticed over the years, which may shed light on the thoughts of at least some in the next generation of engineers.
The Big 4, the Second Tier, and The Untouchables – When I entered tech in the late 90’s, the Big 5 was shorthand for the accounting firms (Price Waterhouse, KPMG, etc.) that had branched into tech consulting. Today the term Big 4 is used to signify the companies deemed to be the most select in the industry, and consists of some mix of Google, Facebook, Microsoft, Amazon, and Apple. Every college student seems to aspire to work for one of these.
Then there is a second tier of companies that are considered a half step down. Names in this tier tend to be newer companies like Palantir, Twitter, Netflix, SpaceX, LinkedIn, and perhaps one or two dozen other companies that most in technology will recognize.
If you listen to the conversations happening, these groups are the only acceptable employers to target. The second tier, which most in the industry would consider “elite” employers, are sometimes considered a fallback. Highly-selective firms have become safety schools, and many of these students don’t realize that the chances of being hired by even the second tier is not realistic for most of the population.
Industry veterans realize that most won’t end up in these 30 or so companies, but instead will work for companies their parents and peers won’t recognize. There is nothing wrong with aspirations, but it’s a problem when a high percentage of graduates feel they’ve failed.
Language/Platform Fascination – Because the group knows I recruit engineers for startups, I get many private messages asking me “Should I learn Node.js or Android?” or “Which pays more, Python or Ruby?“. I’m generally reluctant to try and answer these questions without some additional context. New engineers may not realize that they probably won’t be using the same tools or languages in five or ten years and how quickly supply and demand can change.
Self-learning, GitHub, and MOOCs – Many of the questions in the sub come from users who have a non-CS degree (or no degree) and are looking for a way into the industry. It reminds me of the push in the early 2000s for those without college degrees to get certifications in technology careers such as network administration or help desk. Today, programming is considered approachable.
The topic of self-learning comes from both those in the industry and those seeking entry. The value of personal projects is a constant conversation, although it’s hard to distinguish whether the newer engineers understand that the value of these projects should diminish as experience is gained. Bootcamps and MOOCs are relatively new concepts as methods to mint new engineers, and both seem to be considered as reasonable economic alternatives to a CS degree.
Recruiters, Resumes, and Networking – Based on the number of questions about recruiter interactions, resumes, etiquette, and professional networking, it seems universities might want to consider adding a course on these topics to the curriculum. Careers in technology have unique characteristics that are completely foreign to those outside the industry, and teaching some of these concepts before graduation would be helpful to students who clearly receive conflicting information from peers and family. Career advice for teachers and policemen isn’t applicable to technologists.
Expectations and Rants – When we have college graduates and rather inexperienced professionals being courted by multiple employers, it has the potential to create a class with unrealistically high expectations as to how they should be treated. If a recruiter from a Big 4 doesn’t reply to a job application or an email in a day or two, it isn’t unusual to see a rant. It’s a mix of legitimate complaints about industry hiring practices and concerns that they “heard during an interview that one engineer worked past 6PM” the night before.
As someone who writes about tech hiring and who has also encouraged many to participate in open source and establish a GitHub presence, a recent article caught my eye. Why GitHub is Not Your CV ¹ by James Coglan was partly inspired by another article, The Ethics of Unpaid Labor and the OSS Community by Ashe Dryden. Both articles are well-written and if you evaluate programmers for hire please read them.
Dryden’s tl;dr for me was meritocracy in OSS, an explanation regarding the lack of diversity, and ways to hire that are ‘less biased‘ than relying on OSS contribution or public code availability. Coglan references her piece and adds his own thoughts around similar topics, but his readers might disregard the value a GitHub presence provides. Neither article tried to discourage a presence, but the Coglan piece dismissed the value quite a bit.