This editorial was originally published on Jul 22, 2013. It is being re-run as Steve is on vacation.
I wrote recently about tech interviews and hiring, and even on an interesting interviewing technique for senior people. However we need to hire more than just senior people. We need to hire junior people, and intermediate people. Those roles are important for both growing the experience of your staff, and not getting caught with a "" as a bottleneck or single point of failure. No, that's not Brent Ozar, though someone with his talent might be the single point of failure in many organizations.
Not everyone can be a superstar-expert-architect that decides how the system is built. Not all architects should spend time coding basic insert/update/delete code or adding clustered indexes to tables. We need a variety of talent levels that can get complete different types of tasks. There is tedious administrative work, supporting roles, necessary, though unexciting work like reviewing security, logs, audits, and more. While you can automate much of this busy work, there are still tasks that we must assign to people.
There's another consideration as well in hiring that all too often people overlook. Hiring too many people that are too similar, who may think alike, who may view problems the same way can lead to an environment that doesn't grow and expand, that loses it's creativity over time. There's a great quote that says "Where all men think alike, no one thinks very much" (Walter Lippmann). It's important to have a diversity of opinions, and when you hire new people, you should consider this. You want talented people, and people that get along, but not necessarily all thinking about problems in the same way.
The world is a richer place for the diversity we have, and varying opinions, thoughts and ideas. We don't all get along, but many of us can work together with mutual respect, considering each others' viewpoints as we work to build solutions to the problems we face.