An Indian spread and conversation.
My housemate and I decided we were going to go grab lunch at a vegetarian Indian buffet today. Between visits to the buffet table, we realized the queue was a little too long to accommodate the two of us. Instead, we stayed at our tables and the conversation grew thicker.
My housemate has been lucky enough to work alongside several different personalities in different jobs. His current job profile is that of a sound engineer, or at least that is what I would call him. Anyhow, he drew up a great picture of what I think are two ends of the spectrum of employee profiles.
He spoke of one of the engineers who was extremely good at one particular task which required no sweat but a lot of precision. His work was of such extraordinary quality, it helped the company justify a sweet profit margin for some of the more delicate jobs. He was also very dedicated to his work. From the moment that he awoke, to the minute that he was asleep, his thoughts lay with doing a great job. There was of course another side to this coin. He simply hated the sweat and bulk jobs. He wasn’t any good at it, and it did not happen to motivate him at all. He would avoid it and complain loudly if he ever had to undertake one.
His manager was always faced with the question of how to balance this individual with the others on board. On one hand, the setup was a small one, fewer employees and therefore each employee bore a greater responsibility. This specialist brought great value to the company when precision jobs were necessary. However, that wasn’t really the bulk of the work that was contracted to the company. To his manager, he was a tool, an expensive one, which really wouldn’t apply in the face of an economy job.
My housemate has a different perspective on things. He says he has stopped viewing his job as his passion any longer. He goes in gets his work done, gets his paychecks at the end of the week and indulges himself with snow-boarding and promoting extreme sports with the youth in the Seattle area.
His manager sees him as a pivotal member of the team, someone who he can count on to get the job done efficiently and correctly, time and time again. It does not matter if it is an economy job, or a precision job. Certainly, he might not be as good as the specialist, there are days when the manager cannot rely on the specialist either. In such an event the manager can count on my housemate – the next best thing.
Which hat is the right one?
The company would find it hard to replace the specialist. After all, his contribution is unique to a certain extent. It is also pivotal in the satisfaction that is derived from the finished product, and directly contributes to the profit margin. The generalist on the other hand is comparatively easier to replace. However, he does not negatively impact company morale. After all, awarding a special role to an employee could be viewed as favoritism by his peers who may have a wider range of responsibilities. He is also versatile – an especially important quality if the work the company gets is really like a box of chocolates.
The specialist is a one-job-at-time machine. I put forward this argument based on anecdotal evidence. Specialists tend to perform one clearly-scoped task at a time really well. I do allow for exceptions, I don’t believe it to be the rule. On the other hand, the generalist is often required to utilize his expertise on a multitude of projects. The nature of his utility tempers him into being able to execute different jobs at the same time. He usually has to solve a larger problem with smaller, loosely co-dependent problems that are very different from each other in their nature. The specialist on the other hand, is tackling the same problem seen through a lens with a narrower focus. The individual solutions that make up the final solution are cohesive in nature and can be taken up one at time.
Is there even a right answer?
In my opinion the right answer is that a professional employee must wear both hats. He has defined himself clearly as the person to turn to in at least one or two areas which require a specialized skill-set and an exceptional end result. He can also be relied upon when there is a need to get other more varied tasks done quickly. It is in his best interests to be able to strike a balance quickly between the two and communicate that to the company. Even if the circumstances that the company is operating under change, the employee is still of value to his company. The company on the other hand has the opportunity and the obligation to intelligently utilize the employee.
What do others in the industry think?
When software industry veterans make comparisons between hackers and developers I believe that they are debating the same question. Is it better to hire someone who can just write up code to solve an interesting issue intelligently, or is it better to hire someone who can look at the entire project, including it’s infrastructure, code, quality assurance efforts, maintenance, and best practices fairly?
The many faces of a developer [developer.com]
Great Hacker != Great Hire [ericsink.com]
Great Hackers [paulgraham.com]
What do I need to watch out for?
I would not explicitly feel the need to say this if it were not true. Not every role is requires a specialist. In fact, it is not unusual for well-established companies to promote very specific roles for their employees. Such roles can be filled by any employee but don’t offer a great challenge and therefore don’t merit the specialized title. It’s probably best to avoid such roles altogether. It is more of anomaly than a career choice for software professionals.