Skip to main content

Mind the Gap

Mind the Gap


I’ve been thinking a lot recently about the so-called “gap” between the number of computer science (or at least computer science-related) jobs available and the number of qualified persons to fill them. I hear about it all of the time. Somewhat recently, I had read an article by Jay Borenstein about the need to revamp computer science education as a whole.


It’s a very interesting read but what immediately caught my eye was a statistical piece that he mentions at the beginning of the article. “By 2020, the U.S. Department of Labor projects that there will be 1.4 million computer science (CS) jobs available, but only enough graduates to fill 30 percent of these jobs”. At first glance, this should seem very encouraging to those who are looking to pursue computer science as a career path. The numbers indicate that these professionals are in very high demand and it’s a “buyers market”, so to speak. So why do so many computer science professionals struggle to find work? It’s because the gap is, in many ways, a self-imposed limitation by the companies who claim to be plagued by it.


A few months ago, I had a direct dealing with the gap. I was looking for a new job and therefore was going through the rigors of filling out applications, writing cover letters, canvasing the tech-community with résumés and utilizing any applicable connection I’ve ever made. In this process, I applied for a Web Developer position. It’s very important here that you remember the title - Web Developer. The job was very desirable to me. The company appeared to have the office culture that I was drawn to. My interests, strengths and, most importantly, experience seemed to match the job description very closely. So, I applied - excited about the prospect of an interview.


Unfortunately, what I received the next day was not an invitation for an interview. It was an email that went on for several paragraphs about the fact that the job I was applying for was for a Web Developer position and that it sounded like I was more of a Web Programmer - explaining in great detail the perceived difference between the two. Needless to say, I never responded to the email. I honestly had no idea how to respond without sounding very rude and I stand by the age-old advice - if you don’t have anything nice to say, don’t say anything at all.


This is what the gap looks like in real life. It’s the unnecessary and non-sensical splitting of hairs over how one defines the word Developer versus Programmer. It’s the requirement for at least 1,000 contributions on GitHub over the course of a year. It’s the specification of "at least 5 years of JavaScript" instead of looking at the bigger picture, which may very well include someone with only 2 years of JavaScript experience, but experience that is directly related to the specified job.


Of course, I’m not saying that this applies to every job in the computer science field. For many jobs, very specific requirements can be necessary. For example, in order to get a job designing launch platforms at SpaceX, it seems to make sense that you should have a very specific set of education, training and experience. Masters degrees in structural engineering, special certifications in dynamics and building materials. At the end of the day, you either know how to do the calculations to verify that the platform you’re designing can withstand 30+ meganewtons of force or you don’t.


However, for a very large portion of computer science jobs available, I believe that aptitude is of the greatest importance. And I believe that this aptitude would often times carry a potential employee much farther than someone who looks good on the specification checklist but doesn’t have much aptitude. I believe that there is a great need for employers to rethink their hiring process and to better understand how to build a team with the right qualities instead of a group of individuals with the supposedly right qualifications.


Case and point, I now work for a company called Audiogon with the most talented developers I’ve ever had the pleasure to work with. We develop an e-commerce web application that receives millions of visits every month - the largest marketplace for high-end audio in the world. We’re a tight-knit team of three developers, none of whom have a degree in computer science. Everyday two people with degrees in Graphic Design and another with a degree in Sociology and Philosophy dream up great new features and push clean, extensible, organized, responsive code.


This is possible not because we have exactly 5 years of JavaScript experience, 2 years of some obscure MVC framework or CMS, etc. It’s because we are able to logically approach a problem and develop a solution using the tools at hand. It’s because we work well as a team, we’re passionate about learning and we constantly strive to be better at what we do. It’s because we know how to think like developers.


Aptitude, folks. Mind the gap.

Comments

Popular posts from this blog

The Future of Education

It's always very interesting to me to see the directions that people go after college. I know several people who have degrees in Graphic Design and are now database administrators and administrative assistants. Others I know have degrees in Finance and are now Worship Pastors. An Art History major who's a full-time nanny, an Interior Design major who's a Campus Manager for a church, the list goes on an on.

This pattern could be indicative of many things. Perhaps the job market at the time didn't present any opportunities for the chosen field when graduation came. Maybe after 4 years of studying towards a degree in a particular topic, there was a realization that it really wasn't that enjoyable. However, I'm convinced that it correlates to the state of the education system. Not that it's necessarily broken, and certainly not that it's useless, but that it's due for some thoughtful reconsideration.

According to a study done by Jaison Abel and Richard Di…

Building a Product

This is the second post in a series I’m writing about a company I’m starting up (or have started, depending on when you’re reading this). You can read other posts in the series here.
As I’ve talked about here, I’m starting a company called MailSnail. In this post, I want to share the ins and outs of how we’ve built the product (i.e. the actual web application).

The Buzzwords I’ve tried my hardest to make this post as approachable as I possibly can for anybody and everybody. I don’t want this to be something that is only interesting to folks who know what HTTP stands for or can rattle off it’s associated status codes. So for my non-tech readers, please bare with me for this one section and keep on reading.

For my fellow tech-nerds, I figured you might not care so much about the minute implementation details but rather are just more interested in a list of all of the pieces of our tech-stack (because you already know the implications of each in their use). So here’s the quick and dirty …

Starting a Company

I’m starting a company and I’ve been wanting to write about it for months now. But, as it turns out, starting a company is very time-consuming (who knew?!) and most days haven’t left me with enough brain-juice to feel up to the task of writing about it while also building it. But, fortunately, our workload is becoming a little more manageable and I’ve now been able to settle into enough of a rhythm that I finally feel capable of transferring some of the content in my head to the screen.

What I’m really excited about doing is deep-diving some of the biggest things I’ve learned so far, sharing details about how we work, etc. But first, I’ll simply introduce the company.

Laying my cards on the table
First off, starting a company is truly something that I never thought I’d be doing. It’s just something that I never had much interest in. Actually, it was something that not only disinterested me but acutely repelled me. The idea of having the livelihoods of employees depending on me and th…