10th Jul 2008 by Mark Turansky

We’re not “resources”

Filed under Filed under Business, Misc.

Resources. It’s a dehumanizing term that is also flat-out wrong for nearly every profession I can think of.

Project planning requires estimates and scheduling. I’ve got no problem with that except when it treats people as interchangeable cogs. In a manufacturing process, skilled workers might be interchangeable. There are only so many ways to stamp out a piece of machinery or otherwise work the assembly line. The process can be perfected to the exact number of steps involved in making a thing. Read The Toyota Way to get a better feeling for how world class manufacturers achieve this.

THESE AREN’T RESOURCES

But there are many, many professions that do not and can not achieve worker utility, where swapping out one “resource” for another is feasible or sensible.

Does George Steinbrenner schedule a “short stop resource” or does he get Derek Jeter? Do they Yankees want homerun hitting A-Rod or a mere “3rd baseman resource”?

Did the Chicago Bulls staff a “shooting guard resource” or did they need Michael Jordan?

Did Apple do well when it had a CEO “resource” or did they achieve the incredible after Steve Jobs came back to lead the company?

Do you want a 1st year medical intern (your “doctor resource”) performing your brain surgery or do you want the foremost expert in the field?

Do you want an “acting resource” or does Brad Pitt have more marquee power?

When was the last time you looked for a “contractor resource” instead of hiring the very best contractor you could find to renovate your home?

Thoughtworkers and creative types are no different. Software engineers are simultaneously creative and logical, and there is an order of magnitude difference between the best and worst programmers (go read Peopleware if you don’t believe this). Because of this difference, estimates have to change based on the “resource,” which means we’re not interchangeable cogs after all.

IT’S THE TEAM, STUPID

You can schedule me to be the Yankees 3rd base resource (thereby saving cost in the Cost-Schedule-Quality tradeoff), but I’m certain the quality of the product would suffer despite the fact that I played little league baseball for years as a kid. Similarly, you can cast me in your movie, but I’m not sure I’d sell any tickets. I wouldn’t do any better running Apple than John Sculley, and you definitely don’t want me performing brain surgery.

Talent matters.

Winning organizations build winning teams, they don’t schedule resources and they don’t break up a winning team. They pay top dollar for top talent knowing that it’s entirely talent that makes a winning team.

Steve McConnell’s widely acclaimed Rapid Application Development ranks “Weak Personnel” as the 2nd classic mistake an organization can make when trying to build software. In discussing teamicide in Peopleware, DeMarco and Lister write “Most forms of teamicide do their damage by effectively demeaning the work, or demeaning the people who do it.”

Talent matters. Treating highly intelligent software developers as “resources” is demeaning, dehumanizing, and ultimately counterproductive to an organization that needs to build and field a winning team.

What's next? CommentsLeave a comment Digg it Save This Page

37 Responses to “We’re not “resources””

  1. Paul W. Homer Says:

    Just to get back to a specific example, the ‘tone’ of a film might change if you switch leading men, but the strength of the film is far more than Bard Pitt, or Keano Reeves. Now, if you switch the director that would have a more significant impact, but more so in which other influential personal would leave or not work well together.

    Within whatever ‘category’, we’re all replaceable, from the highest exec. all the way down to the lowest janitor. Sure, if you try to substitute a skilled person with one without those specific skills, things won’t go well, but there isn’t anyone that I know who is so unique that there isn’t someone else who could easily fill their shoes.

    The problem I think isn’t seeing programmers as interchangeable resources, it is properly identify ALL of the categories that go into software development and all of the different hats that some of the developers are switching between. Leadership, technical analysis, domain analysis, operations analysis, architecture, interface design, data design, tool design, and all of the different types of technical programming. There is bound to be some personal influence at the higher levels, but one should always be able to replace a qualified person with another qualified one (or there is something seriously wrong or irrational with what they are doing, I think).

    Paul.

  2. Serge Says:

    Please Read Peopleware Paul.

  3. lifewithryan Says:

    Is something like this even worth getting bent out of shape about? At the high level, resource is just a generic term. I can’t believe this bothers you so much. Perhaps if they were throwing around the term “code monkey” (I love that song) you would be offended.

    For the most part, we as developers are interchangable cogs when viewed at the high-level. The trick is to be sure that when they look to “interchange your cog” that you have people then that know you as a developer that can say “Hey, we wanna keep that guy, he’s got talent.”

    But to get upset at being referred to as a resource? How would you prefer you are referred to at the higher up level. You have to be honest with yourself. Unless you work for a very very unique company…all you are is a resource that can be replaced at any time, for any reason. Whether or not that replacement makes sense isn’t the case. Its the bottom line. See to it that you are contributing and then you may just become a “Valuable Resource.”

  4. Mark Turansky Says:

    @lifewithryan,

    You are making my point exactly…. that developers are nothing but “resources” to higher level management. This is wrong. Enlightened management understands that talent is a very big differentiator among the “resources.”

    Paul Graham describes the variation in talent well:

    “if your society has no variation in productivity, it’s probably not because everyone is Thomas Edison. It’s probably because you have no Thomas Edisons.”

    See Great Hackers: http://paulgraham.com/gh.html

  5. todd Says:

    Preach it brother. Metaphor is destiny. See my website link for similar sentiments.

  6. Doug Says:

    If you were, in a moment of righteous indignation, to quit and find yourself an “enlightened manager” and live out your developing days as a special snowflake: you will be replaced with a *resource* that isn’t so whiny. Don’t be a victim. That was so 90’s.

    Managers owe nothing more than paychecks to employees. Employees owe nothing more than work commensurate with their pay. All else is a competitive advantage.

    Truth be told, you are more than a replaceable cog. In fact, you are on a continuum of talent. And salary has a funny way of letting you know where on the continuum you are. So, too does whining.

  7. rdp Says:

    The newspeak these days is a real minefield. Fortunately, actions speak louder than words. By observing actions, you can find leaders who haven’t totally lost their humanity, and who don’t treat women and men like toys and machines.

  8. Paul W. Homer Says:

    @Serge

    Peopleware is one of those rare few esteemed Computer Science books that I’ve never read but always meant to. I think it’s because it was so highly adopted by Microsoft, and as an organization for building quality software they’re about as far away from the mark as one can get. It’s not that they build bad things, it’s just that they make mediocre copies, and then apply gifted business skills to make them popular.

    That being said, it’s pandering to our inner children to tell us all we are special, unique and irreplaceable. Unless you are the visionary in absolute control, dragging them all kicking and screaming behind you, there is someone out there that can do what you do just as well as you do it now (or will be doing it in the not too distance future). For all people, most of the time, if you quit, then they will find someone else to replace you, and while they may not be as good as you were, or there may be three of them now, the company, project, software, sport, etc. will go on without you. But of course, that type of realism doesn’t sell books :-)

    (Bard = Brad, I should be replaced with someone who can type :-)

    Paul.

  9. lifewithryan Says:

    @Mark –

    I realize that I’m backing your point. But its the cold hard truth…its reality. We are nothing but resources to the higher up. There’s no use whining about being called one. Some mentioned in the comments about salary and how that reflects your talent. That’s probably the best you can do.

    We *ARE* resources, its just that some resources are more valuable than others, but in the big picture…planning, budget, etc…thats all we are…resources. If you lose a valuable resource, you save some dough but have a huge hole left by that resource. They then go out and find another resource that is as valuable or more so, pay that resource big bucks.

    This isn’t just true in the development world either. At the end of the day, Bret Favre was a valuable resource to the Green Bay Packers…a superstar? Hell yea, but he was merely a resource paid to do what he did best and his salary and longevity reflected that. He did what you as a developer have to do…become a *valuable* resource. Make an impression so they know you by name. What do you think the second and third string players are? RESOURCES…they get traded in and out all the time.

    Being a contractor, I am certainly just considered a resource, but in a conversation with my client the other day, apparently I’m to valueable (at the moment) to roll off the project. Clearly of all the pawns on the board, I am the most commoditized [sp?] one. I’m just one of a number of pools they can dip into to find resources.

    I fail to see why one would take offense to being a resource, its the cold hard truth. What do you want them to call you? “My Talented Developer A?”, “My irreplaceable B?” I don’t get the frustration is all I’m saying. We’re all resources…whether we like it or not.

  10. Jonathan Starr Says:

    I once worked at a software company that openly called its developers ‘fungible resources’.

    If you want code that is uninspired, unmaintainable and untestable, this is a good tactic.

    More to the point, good developers do more than their assigned workload. Excellent developers create new markets - they don’t just solve narrow business problems.

  11. Oracle Symfony in PHP Minor « PHP::Impact ( [str Blog] ) Says:

    […] remember, you are not a “resource”, you are a talented developer :) Posted by phpimpact Filed in Databases, Frameworks, PHP, […]

  12. Bubba Says:

    I don’t think Mark is saying that he, or anyone, is irreplaceable. I don’t see it as whining about being called “resource” either.

    I see the key point being that of seeing all developers as being the same. Like Mark’s example of manufacturing, a hinge pin for a tail gate on a Tundra is a resource that can be pulled from a big bin with little to no regard for which one is picked up.

    People in creative roles are not the same. Developer 1 != Developer2 != Developer3. So, when planning and estimating and scheduling, assuming that each one is the same and should be treated the same is a mistake if you want to run a great software development shop. If your goal is to run an average development shop, feel free to work like that.

    The saying goes If you pull you fist out from a bucket of water, you will not leave a hole. Meaning that the place will not crumble without you. Using the same metaphor, there is no hole but the water level did go down.

    I’ve been in both kinds of places. As a developer, I prefer the great shops to the mediocre ones…

  13. DGentry Says:

    Steve Yegge had a good writeup on a similar topic: a few great developers can set a positive tone for the entire development organization.

    http://steve-yegge.blogspot.com/2008/06/done-and-gets-things-smart.html

  14. grumble Says:

    “Cemeteries are full of indispensable people”

  15. Rob Says:

    Somewhere a manager is writing a blog post titled “Its Not Just the Untalented People That Get Fired.” Its comforting to think that you’re safe if you do your job well, but you’re not. Also (as mentioned in Steve Yegge’s blog post “Done, and Gets Things Smart”), you’re not a good judge of your own intelligence. So if you think you’re doing your job well, you probably aren’t.

    Talent isn’t the only thing. A talented baseball player isn’t guaranteed to improve his team. The Tigers have many talented players, but are floating around the .500 mark while the Rays have (arguably) nobody with extraordinary talent but have the best record in the majors. Why?

    Large software projects are not the result of combining many individual efforts, so the effectiveness of a development team is more than the sum of each individual’s talent. Projects have collaboration, teamwork. And its not just about getting along and “being a team player”. There are zillions of factors that affect the output of a team, not just talent.

  16. Me Says:

    A 1st year medical intern is not a doctor yet, it is a physician.

  17. Rakesh Malik Says:

    Me,
    You’re correct about that, but in the IT industry in general, management rarely if ever makes that distinction. The management really does act as if an intern is just a cheaper version of a seasoned engineer, and in doing so drastically undervalue the veteran.

  18. Raju Varghese Says:

    Though the term is demeaning it is just a collective word for ‘people’. When the erstwhile ‘Personnel Department’ is called ‘Human Resources’, it is no wonder that developers and any non-management people are labeled ‘resource’. It is just newspeak.

  19. Mark Miller Says:

    I’ve thought this for a long time, though I do sometimes refer to IT personnel groups as “resources”. In some contexts it feels like the right term to use, not to be demeaning at all. It’s just difficult to find a word that would substitute well. Getting past the semantics, I think the problem you are addressing is that upper management thinks all programmers are the same. To get more to the point my impression is they think we’re all “translators”, as in we translate the spec. into code. If you get someone who knows French and English and can translate between the two, it’s likely you can find someone to replace that translator without affecting the quality of the work. The problem is we’re not just translators. We are system modellers, too. Most of the time the spec. is not complete, so it’s up to the development team(s) to fill in the gaps. Sometimes unanticipated design issues come up and the team has to figure out what to do in the midst of the development process. Software development done well is a highly interactive process, ideally with developers talking directly to the target audience, commonly referred to as “users” (how do you like that term?). A lot of times management doesn’t understand what goes into a software project, or the resources (hardware, software, knowledge, etc.) that are needed. So I think the problem isn’t so much with the term “resource”, but what they really think we are.

    I had an occasion once to be in an environment where my manager thought of programmers as interchangeable resources–for the most part. There was a big project the (small) company was working on. It was a big deal. Every developer was working on it except me. I overheard my manager say to a colleague that he was holding me “in reserve”. I had been working there for 3 years. He had replaced my old manager several months before by this point. He was a little familiar with what I did before he came along, but he didn’t appreciate my expertise. In fact he didn’t even introduce himself really. He just started managing things one day.

    He brought on a contractor to build a piece of server software that used a code library I had written. It was a part of this big project. My library was a big part of making this particular piece work. I could see that up front. I gave my manager a brief heads up, “Are you sure you don’t want me working on it? I wrote the library that’s being used.” He told me, “We’re fine.” I was assigned to help out the contractor for 10 minutes a day in case they had any questions. It wasn’t enough. The contractor needed at least a half-hour of assistance a day for a while just to get oriented with the library, and the way we did things. I tried to help as much as I could, but I could only do so much. I was assigned other stuff to do.

    After working on the piece of software for a few weeks the contractor couldn’t make it work. The contractor was fired, and my manager assigned the project to me. I felt bad for the situation, because I could see the contractor had worked hard on it. They were just too unfamiliar with the system that we had written in-house. I almost expected this to happen. That’s the reason I made a point of giving my manager a chance to reconsider earlier.

    I found out what the problem was. The contractor attempted to use an untested feature of a 3rd party library. We had some problems with this version of the library in the past. I thought we wouldn’t be affected by them in this particular application. To fix it I used an older version of the library. It worked. The contractor had spent several days trying to get past this problem to no avail. It took some probing investigative work on my part to finally find the problem. It wasn’t an obvious one to solve.

    When the contractor was recruited all that was called for was skill in C and SQL. The contractor had both. The problem was they were assigned to a project where that was not all that was called for. Experience with the third party library would’ve helped, but management didn’t anticipate that. Perhaps if they were familiar with this type of work the contractor might’ve asked more probing questions that could’ve led to an answer faster, but personally I don’t see how this could’ve turned out any other way given the POV on developers that management had.

    My new manager and I didn’t get along well, and he didn’t respect me. I finally gave my notice, and management asked for a list of all the projects I had worked on during my time there. I wrote up the list and after looking at it, laughed. I had made significant contributions to a number of major projects they had released. I got word that when the company president saw the list his eyes got a little wide.

    We were a small company, so in general not very much was documented. When I gave my notice I offered to document what I knew. They accepted. I stayed 3 months just writing documentation. Towards the end my manager called me in and seemed a bit annoyed that I kept pushing back the date when I would be leaving, probably because once I gave notice I didn’t work on any projects. I wasn’t adding to the bottom line as far as he was concerned (typical). He wanted to set a firm date. So I did, about a week away. I worked diligently to finish up, but by the time I left I still wasn’t done documenting what I knew!

    This illustrates the problem I see with the attitude that developers are replaceable “resources”.

  20. links for 2008-07-15 « The Adventures of Geekgirl Says:

    […] » We’re not “resources” (tags: business hr management) […]

  21. ambrose Says:

    at least “human resources” is a common term nowadays.

    in my office, i’m considered a piece of office expense.

  22. Mike Says:

    You can always quit if you don’t like being a ‘resource’.. If you can run the company better, then go and do it…ah oops, no-one wants you too

  23. Aaron Erickson Says:

    Great topic… I wrote a similar post here along the same lines:

    http://blog.magenic.com/blogs/aarone/archive/2007/12/05/Call-to-Action-_3A00_-People-Are-Not-Resources.aspx

    I completely agree. We make a huge mistake - especially in professional services firms, when we treat individuals as equivalent units of anything, when clearly they are not.

  24. burton miller Says:

    a-fucking-men.

  25. ColinToal Says:

    a-fncking-men also!

    Thanks Mark - great article. Words are important. We we choose words we betray biases - and when we teach those words to others, we teach biases.

    Resources.
    Bandwidth.

    These are two words that reveal a bias among manages that the time, attention and skills of individual contributors are ’substitutable commodities’. There are lots of others and I think we should make them into ‘bad words’ that aren’t used in polite and professional company.

  26. David Whitehurst Says:

    You said it. Read my “Death of a salesman” on my jroller page. The direct link didn’t work for some reason. This does http://jroller.org/dlwhitehurst/category/Java?page=1

    I agree 100%. If I can ever get my company off the ground, I’ll hire and keep my employees. And, I’ll train them and treat them right.

    David Whitehurst

  27. RG Says:

    what a way to blow up an issue that is trivial. Why is the term “resources” demeaning… “Oil” is a resource..but a valuable one..everyone knows it is. how valuable you are as a resource/person is upto to u. Basically ppl give resource such a negative implication that it becomes wrong.. so if ur ,manager refers to u as “miracle worker” would your productivity or value to ur team increase.

    Watch Geroge Carlin on soft language …
    http://www.youtube.com/watch?v=Z2gQCHztRAE

  28. CB Says:

    IBM research found some programmers are 100x more productive than others. SW development is not a commodity, and you are right it is a stupid term. Thanks for that post!

  29. Elliot Says:

    Alas, you are preaching to the choir. This demeaning concept of “resources” seems to be gaining adherants in upper management - particularly in this economy.

  30. » I’m published, and I struck a nerve. Says:

    […] Similarly, there are several links in the comments of my blog article echoing the same […]

  31. Erik Says:

    Interesting how RG gets it wrong.

    Management could use use any positive wording (let’s say “super heroes” instead of “resources”) without any improvement of any kind if the attitude remains the same:
    “I need 25 super heroes from India for my project next month” would only sound more funny the first few times.

    It’s about the attitude RG!

  32. Beena Vijayalakshmy Says:

    Why do jobs get outsourced or Bangalored, rather? Being cost-effective is perhaps the more popular answer. But to me, the correct answer is - everyone is but a replaceable “resource”! Nobody is indispensable. I say this from my 7 years of experience with a leading Indian software consultancy company that has grown tremendously in the last decade, thanks to the jobs outsourced to India. I have had the chance to work for many Fortune 500 companies as a contractor and I have been at the receiving end of the open hostility of the “outsourcing backlash”. Being a contractor never stopped me from giving my best to the projects I worked on and learnt from.

    At the end of the day, everyone has a choice. To take it or leave it. And I am opting out! :-) Nice post, Mark!

  33. Jason McDonald Says:

    I don’t really agree. Employees are resources, nothing more and nothing less. Human resources have two things that set them apart from calculators, pencils, and laptops: emotions and varying productivity and quality. BUT, they are still resources.

    I elaborate here:
    http://www.mcdonaldland.info/2008/07/16/rebuttal-were-not-resources/

  34. Aaron Erickson Says:

    Beena-

    People are always replaceable, but not in the same way that, say, a barrel of oil is.

    How do you replace someone who has a relationship with your customer? I mean not in the next 3 months, right now, when the deal is going to be made?

    Exactly, you can’t replace that.

    I can speak for the business of consulting, not technology in general. Consulting is a combination of technical skills, understanding of a specific problem, speaking and mentoring skills, and ability to deal with a particular nuanced political environment. Honestly, Beena, that you can’t replace without a lot of time, during which, the half-life of the deal goes south, and isn’t valuable anymore.

    In other words, that person is NOT indispensable. As much as I wish it were, it just isn’t so. Which is why we should not call people resources, because it simply isn’t ACCURATE.

  35. Sylvain Vachon Says:

    You can replace any resource with another. But people are not resources, they are individuals and each one has its own set of expertise, experience, talent, interests, creativity, motivation, etc…

    No matter what management people think, there are no individual alike and it’s utopia to see them as completely interchangeable. It’s not true you’ll get the same results if you have different teams working on each of their version of the product. Aside from the obvious, large industrial plants hire robots to make sure every products they build are all exactly the same.

    Can you replace a front-end engineer with a back-end engineer? Yeah, but you’ll not get quality results for typography, design, user interactivity, etc… Can you replace a database administrator with a web designer? Yeah, but I’ll have concerns with the handling of my data if you do…

    Sure, everyone is replaceable.
    But…
    Great individuals in their field of expertise produce great results…
    Common individuals gives common results…

  36. Denys Talbot Says:

    Oh quite contraire, ALL companies view you as a “Tool to be used” and tools don’t talk back or ask questions, they do the job and go back in the box. But you should keep them “Just Happy enough” not to quit.

  37. Talent vs Resources Says:

    […] his post “We’re not resources”, Mark Gregory Turansky is writing: Talent […]

Leave a Reply