Saturday, February 16, 2013

My Local CS Degree Programs Aren’t Helping Me Hire Database Developers

For a big chunk of my career I’ve hired and managed database developers. One thing I’ve noticed over the last fifteen years is that database developers are hard to find.  For every ten programmers you talk to, maybe one has any significant experience with databases.

This doesn’t make any sense. Our digital infrastructure rests upon a foundation of databases. Surely database theory and database development are a big part of any formally trained computer programmer’s education. If so, then why are so many programmers disappointingly inexperienced with database development?

I looked at my local Computer Science departments to see what kind of database course work they require of their students. Within a reasonable drive from my office are several colleges that offer a BS degree in computer science, including Bennet College, Elon University, High Point University, the University of North Carolina at Greensboro, and Wake Forest University.

I was disappointed to find that none of these schools have a database requirement as part of their Computer Science BS degree program.

Where are the database courses? Interestingly, UNCG has an optional bioinformatics concentration in their computer science major and this concentration requires a Principles of Database Systems course. And if you get an MS in computer science at UNCG they require an advanced databases systems course or its equivalent. There is no such requirement for the MS in computer science at Wake Forest University, however. Additionally, Bennet College and Elon University both have a Computer Information Systems (CIS or CIT) alternative to the traditional CS degree and each has a database requirement.

The lesson here, I guess, is to stop looking at undergraduate CS degrees and focus instead on people who have studied bioinformatics or CIS, or who have a graduate degree from a school like UNCG that requires database course work. This sucks, since it’s the background in algorithms, data structures, design patterns, and matrix math that make a good database developer valuable, and these topics are at the core of a traditional undergraduate CS degree.

So in the end I can hire someone with a strong foundation in computer science or someone with exposure to databases. That’s the wrong Boolean operator.

No comments:

Post a Comment