NITI in Retrospect: Job Titles and Roles
Part of the fun of working in NITI-Montreal in the earlier days was the
flexibility: everybody did a little bit of everything. If you're in a
startup company, that's the way it has to be. For the right kind of person,
it's more fun anyway.
At first, every single developer who worked in our Montreal office was known
as a "Human
Cannonball." They all did different things; some people are better
architects, some are better coders, some are better debuggers or testers or
spec writers or infrastructure specialists. But they all had the same
title. That made people feel like peers.
There was a job
description that went with that title. It made being a Human
Cannonball sound hard, which it was. And so, by implication, if
you managed to become one, you must be awesome. Different people are
awesome at different things, but the point was, you were awesome, because
you wouldn't be there if you weren't. That made people feel proud of
themselves and of their peers.
We used the same title and job description when hiring co-op students. I've
never seen results like that before in a job posting: the applicants were
incredibly self-selecting. Where normally you might choose to
interview 10-20% of the resumes for a particular job - if you're lucky -
with Human Cannonball, it was sometimes worth interviewing up to half of
them. Why? Because people don't want to look like idiots in an interview,
so if the job looks like it's way over their head, they simply won't apply.
Combine that with past co-op students who go back to school and say how
great the company is and that we have very high standards, and the
less awesome applicants simply go elsewhere. The most common failure mode
for this job description? People who thought they were awesome, but
frankly, weren't. But those people are pretty easy for sufficiently awesome
interviewers to detect.
But one important feature for all of this was that the job title didn't
make any sense. That wasn't just fun and games; again, in my naivety, I
suspected it might have been, and I'm not opposed to fun and games. But
there's more to it than that. Meaningless job titles prevent people from
jumping to conclusions. If you advertise for a "Programmer", you'll get
people who assume their first-year university Java skills are sufficient,
and they drop their resume in the slot. If you advertise for a "Human
Cannonball," people have to stop and think.
As time went on, we introduced a new concept on top of this: roles.
Roles were temporary, didn't change your job title or salary or peer
ranking, and Human Cannonballs would shift in and out of multiple roles as
time permitted. We used a mix of meaningless and meaningful names for the
roles: FeaturePusher, ReleasePusher, HumanBalance, Architect, and so on.
Exactly what these roles entailed isn't too important right now, but what's
important is that the fuzzy role names helped people not to make
assumptions about what the role entailed. For example, a
"FeaturePusher" was something like a Project Manager. But Project Managers
have a stigma attached to them; they're often not programmers, yet they're
somehow put in charge of programmers; they get paid more; they
hire/fire people; they do employee evaluations. None of those things were
what we wanted. Some of those jobs belonged to the HumanBalance (which is
sort of like an HR manager, except not). The FeaturePusher did indeed
"manage" a "project", but that's entirely different from managing people.
Changing the title removed the assumptions, and helped people to think
more flexibly.
All that was how we did things in Montreal. Nowadays at NITI, people have
job titles (which encompass roles) like Project Manager, Team Lead, QA
Manager, and so on, with predictable results: they're afraid to take on
roles outside of their job title, they take on roles they're unqualified for
because of their job title, and so on. Hopefully, they rise to the
challenge.
Epilogue
For my next company, I'm thinking of balancing the job titles a bit better
between silly and boring (some people are just embarrassed to have a silly
job title, and that's fine), but I don't want to lose the lack of clarity in
the process. I'm kind of inspired by the research labs where everyone is an
"Associate" or just a "Programmer" or sometimes literally "Just a
Programmer." The advantage of these is that it makes the lack of clarity
the explicit goal - it doesn't hide that goal behind silliness, which
people tend to wrongly assume is the goal in itself. Also, job titles like
"Programmer" at least have the advantage of helping people who are
used to thinking of themselves in a role to find the job, where they
might never look twice at "Human Cannonball."
So here's what I'm thinking: "Programmer, etc." "Test Automation, etc."
"Entrepreneur, etc." "Sales, Marketing, etc." It gives the general idea, and
then loosens the meaning with "etc," which makes you think twice.
Would you work for me if you could be a "Genius, etc?"
January 15, 2007 15:43