

Ask HN:Why is it so rare to see job ads asking for generalist programmers? - hugocaracoll

When I look at programming jobs I often see companies looking for a specialist in technology X or technology Y. I understand the need. Companies need to launch products ASAP and they need people already comfortable in the chosen technologies.<p>However, in my opinion, they are neglecting a powerful workforce. Those guys or gals who have a breadth-first approach to learning. People fascinated with many fields of our trade. These people, sometimes neglected, could be crucial for the long term success of the company.<p>What do you think?
======
hcho
You have to understand the reason why the company is hiring. If they are
looking for a specialist, that's because of a pressing need. They probably
exhausted their network and now are throwing money at the problem by a job ad.

When hiring a generalist things are more relaxed. If they wait a little bit
more someone from their network will pop up. So generalist posts tend to
appear on job listings a lot less.

------
codeonfire
The last thing a business wants is to hire more people. This means less money
for the owners/shareholders. Companies don't hire until they are forced to,
and by that point they are facing a very specific blocking problem. People are
extremely greedy and their motivations are to get more money as fast as
possible, not find some long term success or to do a business idea fishing
expedition. I think to myself, "in what cases would a criminal pay someone
money" because that's the lowest common denominator of when an employer will
pay someone. By keeping this perspective, I'll never misunderstand the
employer's motivations or goals.

------
brd
Speaking from an enterprise perspective I'd say the reason most companies do
not hire generalists is because the corporate structure is not well equipped
to handle such resources. Very few companies grok the concept of internal
consultants (which is exactly how a generalist will have to function in order
to be leveraged properly) and fewer still know how to foster that sort of
talent.

On top of this, a company by its very nature will tend to pigeonhole
employees. It is costly to do knowledge transfer, its costly to move employees
around, its costly to train employees, and in reality it is inefficient to not
leverage prior experience as much as possible.

Even though we are in the "information era" companies still very much function
as if we were standing on an assembly lines.

------
dragonwriter
Most companies organize technology around tools because the people making the
decisions about technology at the highest level often don't really get
technology; even CIO/CTOs are often from a tech-focussed business management
background, not a strong engineering background with management skills layered
on top.

You see the opposite at some places. Google, for instance, will generall yhave
listings that mention a desire for "experience with" (or sometimes
"significant experience with") some specific set of technologies but rarely
specific _years_ of experience with particular technologies, but also ask for
_X_ years of general experience in the field and/or a specific degree level.

Google appears (from their listings) to prefer to hire _generalists_ with some
experience in the the area of immediate need, whereas most companies frame
their listings to focus on specialists without much emphasis on breadth.

------
alok-g
I am a generalist spanning both hardware and software (with expertise on many
sub-fields within these), and so this highly impacts me in spite of the
stellar reputation I have amongst those who know me.

Many of the answers here point to a potential solution: Develop a
specialization in generalization, like taking on an architect or
multidisciplinary role. More thoughts on this are welcome. :-)

~~~
brd
I absolutely agree that going for an architect role is the solution to this
problem. The key to becoming a successful generalist is to learn how to bring
technologies together. If you can paint the picture of how integrate different
systems/tools/languages/teams/etc then you have a very valuable skill to an
organization. Unfortunately this means not just being good with technology but
also being good with creating or refining specs, understanding business
processes, juggling priorities, and all the other good stuff that is needed to
handle complexity in the work place.

~~~
alok-g
Thanks for these inputs. :-)

Of all the things you mention for complexity in the workplace, the hardest I
find is understanding business processes since they are often industry-
specific (specialized) themselves.

------
sharemywin
My ex-girlfriend graduated awhile ago from Ohio state with a degree in
computer science with most of her college work done in an obscure language
event there. Needless to say had problem find a job. I told her to go to
comlumbus state(a community college) and take vb.net class. Viola job with the
state. Employers are looking for that person that will go above and beyond.

~~~
rkv
I'm amazed that someone with a computer science degree cannot learn vb.net on
their own.

~~~
patmcc
More likely her resume wouldn't get past hr without the class listed.

------
VikingCoder
You're a manager and realize (reluctantly) that you need to hire another
programmer...

What's the strongest indication of success? If someone already on your team
recommends them.

So, my theory is, programmers at companies know other generalists, and
recommend them (successfully) for generalist positions.

And the reason you see job postings like you do (technology X and technology
Y), is because the people who work at that company don't _already know
someone_ who knows those technologies, and is looking for a job.

