21

My specific situation is based on finding a jack-of-all-trades employee in Software Engineering or IT, but the core question can apply to more than a few areas.

Over 7 years ago I was hired by a mid-sized company that had a small IT team of 3 people. My initial responsibilities were to design and write a major corporate n-tier application. Today, I am responsible for maintaining and writing new software projects, troubleshooting servers (both hardware and enterprise software), managing databases and much more.

There is a chance that soon I will have the opportunity to hire a new employee to take care of most of these responsibilities because they are secondary to my current title of being an Embedded Systems Engineer. Yes,I've worn a lot of hats around here! We would be looking to hire a person to take on all of the IT & software related work so I can return to my primary job but that person will still need to perform as a jack-of-all-trades IT worker.

When I think about hiring this person, the primary competencies that come to mind are:

  • ...a very good understanding of general computing and software development principles.
  • ...a tenacity to manage IT infrastructure that "just works" for its users.
  • ...the ability to use one or two tools well but isn't a guru in every tool.
  • ...ability to learn how to use new tools and write excellent software through continual self-education.

These are broad competencies and make for a job description that isn't as specific as most descriptions for IT workers.

This leads to a bit of a hiring problem because weeding out the pool of potential applicants by resumes and then asking the right questions for the right hire is a bit intimidating since bullet-points aren't as important as personality.

The specific questions I have are:

  • What are some effective techniques for finding a good jack-of-all trades? In my case, a jack-of-all-trades IT professional that can both code well and manage infrastructure?
  • What should I look for in resumes and what type of general questions should I ask in interviews?
  • 10
    Your best bet might be to try to recruit from small start-up companies (or small, stand-alone IT departments in larger organizations). People who spend time in small environments tend to learn more than just programming because they need to. – FrustratedWithFormsDesigner Jul 11 '12 at 14:12
  • 2
    Perhaps it is time to mature your IT team to more specialized roles. You are going to overpay 2 people to do support work and programming. Support generally makes less than programmers but for this position to get a highly qualified candidate that will stick around you are going to have to pay more than a programmer rate. – IDrinkandIKnowThings Jul 11 '12 at 14:59
  • 1
    Chad: Yes, that would make sense but I've left out a lot of information about this scenario. Truthfully, I don't work for IT anymore. I am doing my fellow workers a "favor" by maintaining all the current infrastructure when I have time. I call it a favor but, the truth is, it remains my responsibility because no one else is left around who cantake care of this. I have divided responsibilities. IT related, and work under my new role as an embedded sys. engineer. I've been able to divide my work out, but it's getting to be to much. I have to let some of it go and even management sees this. – RLH Jul 11 '12 at 15:22
  • My first job out of college was as an IT Generalist/Programmer at a small company where all IT in the company was handled by a single person. This person was a perfectionist and a control freak to the extreme and simply could not bring himself to trust me with even simple desktop support tasks. He stressed me out and likewise I feel like I stressed him out more with his worry that I would irepairably screw something up than I helped by decreasing his workload. I never gave him reason to worry. The #1 most important thing is that you should not be a control freak and have trust in this person. – maple_shaft Jul 11 '12 at 15:33
  • 3
    I can't help but read this question and think you really really need more than one person here. I'm in a fairly similar situation myself, but unless it's a pretty small set of tasks or the focus is really on one thing more than others, you're going to need more than one person to do 5 people's worth of work. The word "unicorn" immediately comes to mind – Rarity Jul 12 '12 at 11:54
17

Do you believe that the right people are in your resume pile, somewhere, or are you concerned that you haven't attracted them? In my experience both as a generalist and as someone occasionally trying to hire them, the first barrier is usually the job description. Make sure yours doesn't seem to ask for most or all of a long list of specific skills, and make sure you convey the dynamic nature of the job. A description of what the candidate will do in the job, and how you can't know specifics in advance, is key. The people who are deterred by the (common) descriptions calling for expertises are exactly the ones who will be intrigued enough by your position to apply.

When networking for candidates, don't limit yourself to conventional IT/software folks. I've found that software quality assurance tends to select for the kinds of skills you're looking for -- learn a new system quickly and well. In their case it's so they can break it; in your case it's so they can extend and support it. The mindset to do either well is similar. Sometimes there's crossover with the more technical among technical writers, too. No matter what field you're in, there are probably related fields where you can find good candidates.

  • 3
    +1 Great answer. My only comment is The people who are deterred by the (common) descriptions calling for expertises are exactly the ones who will be intriqued enough by your position to so apply. this is true, but on the same token many people are afraid of the risk in applying for a generalist position because of how many truly bad jobs that are out there for generalists. Generalists tend to make less money than specialists and consultants and the demands on them and their time can be oppressive and scary. Not all places certainly but most think Jack of All Trades = Ace of All. – maple_shaft Jul 11 '12 at 15:25
  • @maple_shaft, you're right that sometimes these jobs are bad in various ways, so those doubts need to be removed during the application process. Since every job description on the planet claims that compensation is good, I'm not sure how to address that before you're on the phone (or in the room). – Monica Cellio Jul 11 '12 at 15:30
10

As someone who had been in your shoes I can tell you that you have a big problem. You can probably take a look at: this book to get some of the reasons.

So if you really want to get a person who actually can fill the shoes you should probably have the interview process involve:

  • Understanding of concepts of computing - for software developers algorithms/data structures and not just definitions and O() but usage and internal representation.
  • Problem solving - like deductive reasoning
  • Application of knowledge - for example my personal favorite C++ "expert question" "What is "placement new"?" and if definition is given "Why would you use it instead of regular new?" (Most C++ "experts" can't answer the second one)
  • Try to gauge their general curiosity - like whether or not they look at code for some of the free tools they have used in the past.

One more thing to be mindful of. If you're really looking for a person who can actually understand basics and solve problems they usually, at least the experienced ones, can command higher salaries.

  • 1
    Thanks Karlson. Helpful information, indeed. However, I'm going to leave this one unanswered for a few days. Hopefully I can get a few more perspectives from a few others as well. Thanks for the link to the Feynmann book. At first I didn't understand, but after reading the write-up I "got it." I'll probably be downloading it and reading it on my Kindle tonight. – RLH Jul 11 '12 at 14:29
  • 1
    The first point doesn't make that much sense to me; if you're looking for basically a DBA/sysasmin that knows some programming too, focusing on algorithms is the wrong way to go. That's targeting depth not breadth if I'm reading you right. – Rarity Jul 12 '12 at 11:52
  • @Rarity To the best of my understanding of the question it's the other way around. OP is looking for a developer who can also manage infrastructure. – Karlson Jul 12 '12 at 14:08
3

Recruit someone who has:

  • Worked both in IT and development
  • Worked in smaller companies, where they usually have to take on multiple responsibilities.
  • Done some freelancing work, where they usually have to "wear multiple hats".

Typically that's not someone who will impress recruiters. They will most probable be more impressed by candidates who have a degree - even more a specialized, specific degree, and worked for big corporations, where work would be more streamlined.

I think it would be fair to disclose that I have the profile described above, and this is said from my perspective.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.