College computer science graduates not learning a programming language that’s vital for top tech jobs. Why, and how they’re picking it up anyway:
- And yet, the language is infrequently taught as part of undergraduate computer science programs. Leaving some students to wonder why they aren’t being taught an incredibly valuable job skill.
- Ultimately, says a hiring manager at tech giant SAP, it’s impossible for candidates to know every programming language, and it’s more important for a candidate to have a solid foundation in the fundamentals so they can pick up new technologies quickly.
It powers the web, application front-ends, and, thanks to an increasing number of server-side frameworks, back-ends as well. It’s topped the Stack Overflow developer survey for six years running.
What’s the source of the disconnect? And, if the kids today aren’t picking up one of IT’s most popular and important programming languages in school, where are they learning it?
What students are learning
“My absolute preference is to teach using Python primarily due to its simplicity and relative conciseness — there’s no need for verbose begin/end statements or lots of curly braces,” says Databricks CEO and adjunct UC Berkeley professor Ali Ghodsi. “It is not as concise as pure functional languages, but those are also harder to understand.”
But many of the recent grads I spoke to felt a keen disconnect between what they learned in college and the real world. Kevin Wakatama, who got his CS degree in 2014, noted that Java was taught more or less divorced from any relevance outside the classroom. “Our undergrad professors didn’t really present Java as being either particularly useful, or exclusively as a teaching device,” he says. “It was mentioned on occasion that it was one of the most popular, and why it became so, but not much more than that.”
And Brandon Sheehy, a software developer in Dallas who recently graduated with a Business Computer Information Systems degree, complained that his professors “had no idea what languages would be profitable to pick up. They more or less just taught whatever technologies Microsoft released. I had an entire course around writing Windows 8 Metro apps. When was the last time you’ve seen someone use an application from the Windows App Store?”
Some are turning to coding bootcamps
David Jackson, CEO of custom app developer FullStack Labs, explains the incentives thusly:
Google’s Holland graduated from a bootcamp in 2015. She credits the fact that bootcamps are nimbler than CS academia for the solid grounding she received in web technologies, which are “where the majority of the explosion in job demand is.” In fact, she points out that bootcamps have already gone through a shift:
Of course, the differences in approach between academia and the bootcamp world means some people take extreme positions: Holland says that on one side, you have an attitude like “I would never hire a bootcamp grad unless I wanted my product ruined,” and on the other: “CS grads are great if you want obscure math problems solved that don’t apply to real life.”
Making it on your own
Wakatama, the recent grad, remembers hearing “whispers” of what was popular in the industry during his undergraduate years, which helped students guide their career planning. “There were also things that I wouldn’t exactly call research,” he said, “but something like community information — JetBrains’s ‘State of Developer Ecosystem,’ for example — that might give us an idea of what the popular and ‘up and coming’ languages were.”
“I was able to fumble my way around it until I actually knew what was going on and eventually fell in love with the language,”
“I learned pretty much everything I know from internet tutorials, reading code, and a lot of trial and error. I was lucky to have an environment where I was free to grow and make mistakes.”
Many turn to the community for guidance
Finding tutorials and boilerplate code online has a long and honorable history in computer programming. However, one interesting twist that many of the young developers I talked to brought up is that they prefer to find put a human face on that information nowadays, via various social media sites.
“If you want to get your foot in the door now,” says Holland, “people seem to know that you should get on Twitter and follow famous devs — authors of popular open source libraries, people in developer relations at big tech companies, speakers, bloggers, ‘thought leaders’ with nebulous credentials, etc. You should have a web page to showcase your projects and make blog posts on.” Sheehy has turned to Reddit not only for programming advice, but for career advice as well.
“A junior developer can seek out mentorship and tutorials from popular developers like Fredrik Christenson, Telmo Sampaio, Programming with Mosh, and Code with Tim,” he explains. “I view their content on a variety of topics, including react.js, Redux, coding best practices, and industry norms. Christenson, who is my personal favorite, answers subscriber-submitted questions pertaining to coding or on related topics like looking for your first programming job.”
The long road ahead
“React came into existence in 2015 and now it’s the standard in front-end. Then there’s bundlers that get replaced by the hot new thing every two years or so. This drives job hunters crazy because what if the thing you’re learning goes obsolete once you’ve finished learning it? There’s fights about frameworks and tools that get hot because people are scared that the thing they learned yesterday is going to die tomorrow, or the future thing they’re learning now isn’t actually going to be the future,” says Holland.
But perhaps these new developers should have faith in themselves.
“Most employers don’t expect students to know every language,” says Heike Rees, Senior HR Business Partner at SAP, who has done a lot of hiring over the years. “It’s impossible to know every language because they change so quickly. We look for people who have a basic understanding of how languages work the ability to quickly learn new ones. We want someone who can independently research how to learn a new language — someone who can ask good questions.”
Many young developers, emerging from an educational system that doesn’t spit them out ready-made for the job market, have already proven that they can meet this challenge.