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

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 …

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…

Launching a Product

This is the third 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.

My last post - Building a Product - covered the technical details that have formed MailSnail. In this post, I want to talk about how we’ve actually gone about bringing the product to market.

Ship Early. Ship Often. This has become a very popular mantra in the world of software development (also known as “Release Early. Release Often.”). If you Google that phrase, you’ll be presented with enough reading material to keep you busy for the foreseeable future. For somebody like myself - a perfectionist at heart - this is something incredibly difficult to adhere to but it has worked very well for us so far and I’m convinced that it’ll be a cornerstone of the success (hopefully) of MailSnail.

There’s a quote I shared in my last post but I’m going to share it again because it’s even more relevant here:
If you are n…