There may be one or two readers out there who vaguely remember that, not long after I started this blog, I invested a decent chunk of money on some books on software and related subjects. I quickly discovered that the job I had at the time really didn’t leave me with a “I’m going to go home and read lots of technical books” feeling, so things didn’t progress nearly as well as I would have liked. I read a chunk of Code Complete [US] [CAN], but even that faded over time. I think I’m currently only about a third of the way through that book even though I started over a year ago.

About a month ago, deciding I wanted to take a break from Code Complete, I started reading Peopleware: Productive Projects and Teams [US] [CAN]. It took me about three weeks to get through it, reading it mainly on the bus to kill time, but it was a distinctly fun read.

For those who are unfamiliar with the book, the book is a little more than 200 pages of authors Tom DeMarco and Timothy Lister passing on their managerial wisdom. With years of experience in the trenches developing software, and also consulting with various companies, these two men have quite a bit to say regarding how best to construct and keep productive software development teams.

The book is quite obviously directed towards those in (and hopefully just entering) the role of project manager for a software product. I can’t review this book from that perspective, however, since I’m only three years out of college and still quite solidly in the “lowly peon” stage of my career. Truthfully, I hope never to become a manager of people since my limited experience with any authority shows that it’s just not for me. Besides, I know that since I like the idea of having power, that is an absolutely awesome reason not to give me any. With that said, I’ll try to review this book from my own non-managerial perspective.

My simple (and facetious) advice for those who feel unsatisfied by their work environment, as I was at my last job, is this: Don’t read this book; it will only depress you.

While reading this book, I couldn’t help but notice just how many things described in its pages reflected my own negative feelings towards my previous employer. To make matters worse, they cited books and studies and legitimate sources! I discovered that there exists hard evidence that not only could my environment have been better, but that what I had was actually working against me!

This is actually a fundamental problem that a lot of people should probably have when reading the book. No workplace, not even the highly acclaimed Google offices, meet the high standards put forth in this text. That’s the point, I believe. Much as a good developer strives to become a better one, so too should a good employer also strive to improve.

The authors’ explain that good knowledge workers (i.e. those whose main task is to think about a problem, as opposed to those performing some manner of manual labour) need three things to be successful:

  1. Knowledge workers need to be given what they need to succeed. This means things like providing a quiet environment in which to work. Open office environments may seem cost effective and appear foster teamwork through ease of communication, but they’re actually sabotaging your bottom line by wasting workers time by breaking their concentration.
  2. Knowledge workers need to be treated as individuals, with varying needs which will almost certainly differ from some, perhaps most, of their colleagues. This means that although an office environment should be built first for general success (based on actual studies and statistics, rather than perceived cost effectiveness), yet it is essential to be flexible to the needs of the individual.
  3. A managers job is to support the knowledge worker, since it is the knowledge worker, more than anything else, that directly affects the bottom line. This means a good manager should be able to check his or her ego at the door, beware of any “alpha male” tendancies he or she may have, and work hard to keep distractions to a minimum.

Getting these three things right is excessively hard work. To get even close to getting all three of these things working optimally should be seen as a monumental success. So if you do decide to read this book, try not to become too distraught over the seemingly Utopian environment it seems to describe. You’re likely not working in an environment which is perfect, but no one really is. With a little work, however, you can begin to effect change in your environment and take a step closer to office nirvana.


Side Note:
I’ve decided that my next task will be to read The Structure and Interpretation of Computer Programs (SICP) [US] [CAN].

I’m going to work through the entirety of this book, including all exercises and projects. I realize that this is a lofty goal, but I’m certainly going to try. As I work through the text, I will endeavour to blog about my progress, section by section, the whole way through.

Wish me luck!

Leave a Reply