Tuesday, February 16, 2010

Software-Development Career Paths: Organizational Quality

A developer-friend of mine, Tom Wessels, recently asked the computer-age-old question:

I just want to be a programmer. But can I?

He follows up the question with a great quote from the great and still-relevant book Peopleware by DeMarco and Lister, which points the career path encouraged, or at least tolerated, by many organizations: If you're not on your way up, you'd best be on your way out.

To be fair, DeMarco and Lister follow up this description with a contrasting one, "The Mentality of Permanence:"

Over the years, we have been privileged to work and consult for a few companies with extraordinarily low turnover. You won't be surprised to learn that low turnover is not the only good thing about these companies. Indeed, they seem to excel at many or most of the people-conscious qualities discussed in these pages. They are the best…. In the best organizations, the short term is not the only thing that matters. What matters more is being the best. And that's a long-term concept.

DeMarco and Lister go on to describe ways in which these companies invest in their employees, fostering a culture of learning, professional improvement, permanence, and organizational excellence.

To answer the question, I think you need to look at your career along a few different dimensions. One of which is the quality of the organizations at which you will work.

It might be possible, to get a job at one of these "best organizations" and be comfortable for some time with one of the options Tom presents:

You reach a point where you just accept that you're at a good company, you get to write code in a somewhat enjoyable fashion, and you leave it at that.

Hooray! Yes, I think it would be good for everyone to at least have that option for a few years at some point in their careers.

But a couple things stand in the way.

First, it can be hard to get a job at an organization like that, not only because its bar to entry might be pretty high, but also because from the outside, it can be hard even to identify which companies are truly the best. Or maybe you just don't happen to live near the offices of any of those best organizations and aren't able to move.

Second, nothing lasts forever, including "being the best." I'm not sure the great organizations DeMarco and Lister use to demonstrate their "mentality of permanence" are still considered to be the best now that it's 10-20 years later: Reader's Digest, Hewlett-Packard, Pacific Bell? Even the lean software development movement's favourite company, Toyota, has recently shown signs of falling off the "being the best" pedestal.

In short, the mentality of permanence may not be permanent. If you're lucky enough to find yourself working for one of these best organizations, that's super. Enjoy it while it lasts, or for as long as you're comfortable staying. But don't be shocked if it doesn't last forever.

Which brings us to the next dimension. Given that you might find yourself working at lower-quality, "up or out" organizations during your career, should you move up or should you move out?

Continued in Software Development Career Paths: Up or Out?

10 comments:

  1. My favorite technology companies are the ones led by engineers, like Google or early Hewlett Packard. Most of the time, though, the environment you describe may be in an isolated division even though it isn't prevalent throughout the company - like with Microsoft Research.

    So it's not just about finding the right company, it's also about finding the right division and the right team.

    I personally believe that at technology companies, business executives should work for engineers - not the other way around.

    I think it's been proven a number of times that following a simple childlike engineering dream such as "let's make the very best product" or "let's try to seamlessly connect everyone in the world" can have the fortunate byproduct of being hugely profitable. When your goal is as near-sighted as "let's just make a stockpile of cash" you'll probably find that your financial performance and your employee morale will be lackluster. I really believe that business executives should rally behind an engineering goal, instead of engineers trying to push a financial goal.

    Let's say you're an olympic sponsor for the winter games. Is it wise to take up the grand majority of an athlete's training time to make them do commercials for you for small short term gains? Or is it smarter to go for the gold medal which comes with even more money, higher morale, a sense of accomplishment, and an actual legacy?

    Technology business executives need to learn how to sponsor, in my opinion. There's so much to gain, so little to lose. And what they have now isn't sustainable without growth anyway, and you can't grow a technology company by ignoring the fact that you're a technology company.

    ReplyDelete
  2. Eric,

    I agree, that's a good point about it not just being the company, but also the team.

    As you say, "it's been proven a number of times that following a simple childlike engineering dream... can have the fortunate byproduct of being hugely profitable."

    That sounds a lot like basic research.

    And it makes me wonder, especially with your mention of Microsoft Research above, if the right place to be right now, at least if you're going to a large company, is in the R&D team, if there is one.

    And only if you're really lucky to make it to an innovative place like Google, that thinks all software developers should get some of their own R&D time, or maybe in a smaller company, is the "right place to be" likely to be on a "normal" team.

    ReplyDelete
  3. I don't just believe in good company but on also what you gets or gain from there as a knowledge point of view. Obviously the inner factor does matter too as Eric said, good team and right division can make you handle the things in a proper manner.

    ReplyDelete
  4. How we can get amazon gift codes? SO many people are finding answers of this question. They will visit this page and then they generate amazon gift cards free from here.

    ReplyDelete
  5. Thanks for the quality article. Want to advise you one great Software Development Company http://www.nixsolutions.com/ . There is the best web development company I've ever work with. Try it and they can help you to solve your problems with web development follow all the conditions you need.

    ReplyDelete
  6. DeMarco and Lister go on to describe ways in which these companies invest in their employees, fostering a culture of learning, professional improvement, permanence, and organizational excellence.best virtual assistant program

    ReplyDelete
  7. Please accept our thanks and congratulations on the success of your recent series on young scholars in our community. We see so much of the negative side of life in the media that it is refreshing to have a positive, upbeat report on the good things that are happening. resume writing

    ReplyDelete
  8. These are some great tools that i definitely use for SEO work. This is a great list to use in the future.. resume writing

    ReplyDelete
  9. I wonder what path are you taking? Is your article based on observations or your own experience? The best lesson you can get is the one based on your experience. The best example of virtual experience is live pornchat. Lessons you get there you will remember for life!

    ReplyDelete