Programmers Must Become Utility Players and Adapt to Change

A carpenter that only knows how to operate a hammer, will most likely solve any problem with a hammer.

So too, technologist who specialize in a specific genre, specific vendor, specific whatever, are also using a hammer.

You need to use the right tool for the job.  Which means knowing which tools are available, what they do, how to use them the pros and cons, limitations and benefits, price structure. 

If you have a use case for big data, perhaps Hadoop might work.  Do you know the benefits and limitations, the different offerings, prices associated.  Within Hadoop, do you know which features do what, how they integrate and potential issues downstream.

Well, if you don't know how to program in Hadoop for instance there are dozens of ways to learn.  Onsite and online courses and training, books, blogs, etc.  There is no shortage of training material both free and for a fee.

What that means is on-demand learning.  Can you learn a technology on the fly. 

In my opinion, this is the way things are heading.  For every technology, there are dozens of vendors, products, versions, etc.

Do you have a track record of learning new technology fast.  Do you have a solid understanding of project lifecycle including spec gathering, flowing data through the lifecycle, which product to use when, how they integrate, testing, documentation, project management, mentoring and knowledge transfer and releasing code into production.

Let's compare to hiring a chef to work at your restaurant?

Do you know how to cook?  Oh yes, I've been a cook for 10 years.  What kind of food do you cook?  Italian food.  Ok, what if we asked you to cook seafood?  Or Chinese food?  Or BBQ?  Well, I only know Italian.  Do you know how to gather ingredients, mix them in a bowl, bake in oven, mix with side items on a plate?  Yes.  Seems like you could learn to cook other food?  Well, that's not what I'm used to.  It's sort of out of my comfort zone.  Okay.  Next applicant please.

If a programmer knows a language, yet is stuck on one type of platform or vendor, they may be good at what they do, but looking long term, may not be flexible or malleable to adapting to change.

Your ideal candidate may only know one type of food because that's all they've been exposed too.  But they are constantly learning all the time.  They are eager to learn and not fearful of learning new things.

And that's the key.  If you haven't noticed, the only constant is change.  What you may really want is someone that's a sponge, who can quickly soak up new technology, complete the task, rinse, and on to the next.

I wouldn't call that person a generalist.  I'd say they are adaptable to change, learn on the fly, yet have a solid understanding of technology across the board.  In baseball, they call that a "utility player".  Someone that can deliver on demand at any position.

And there you have it~!