Ricardo – Team Economics

My previous post was about starting out with a small team, and some ideas on leading it. The next few posts will talk about a few useful tools that I use in developing and shaping a team.

Eat The Rich by PJ O'Rourke
A Good Econ Book

I didn’t do well in either macro or micro-economics in college. I was working my way through the liberal arts to find out what I was good at, and it turned out not to be econ. In college, however, I always enjoyed reading P.J. O’Rourke’s books. I was too young to see the cynicism, and so I read pretty much everything he wrote for several years, laughing out loud all the way. It wasn’t until I read Eat The Rich that I finally found one thing in economics that I can use practically daily: Ricardo’s Theory of Comparative Advantage. Now, I can’t do O’Rourke’s writing on this justice (Eat The Rich, Page 104-123), and I highly recommend reading it (along with all his books published before around 2000 – I haven’t read any since then), but I think it’s useful to discuss. Continue reading “Ricardo – Team Economics”

The Small Team

In my last post, I wrote about the choice between specialists and generalists on a team, using the metaphor of role-playing games to illustrate it. Now, I’m going to write a bit, over the next few posts, about my practical experience building and growing teams. This isn’t meant to be a guidebook on team development, or anything, but more of my approach and philosophy on team building.

D&D 1st Ed rulebook.
It’s all been downhill since then…

Sure, I also happen to have another awesome picture for this post that I feel reinforces my credentials in Role Playing Games, but that’s a total coincidence, I swear. Yes, I do just have these books lying around my office.

 

At many jobs I’ve had leading teams, I’ve started with somewhat small teams. For illustration purposes, the team I’ll describe will be an example, and not really any particular team I’ve actually had. Continue reading “The Small Team”

Pity the Wizard

Might and Magic 2
Note that this is the Apple IIgs version. #hardcore

At times, I’ve felt the temptation to equate the development and growth of a team to that of a party in a Role Playing Game. But, while the RPG analogy does have some striking resemblances to real life, it is better for telling us about pitfalls than about actual good practices. They are both similar in that you start out a Role Playing Game with little knowledge of your task, and build a party based on intuition. As the game progresses, you realize that your party design is not exactly aligned to the tasks that you are confronted with. Continue reading “Pity the Wizard”

Risk, the Developer, and Patton

Every developer has been confronted with the request, ‘Take your best guess,’ in working their way through a problem. Now, this puts an engineer in a very hard position. Many teams are conflicted when it comes to taking chances: you can take any chance you want, as long as you only pick the right solution. That makes it very hard to put a developer in that position, since it’s not really a guess if the only allowed outcome is 100% success. Continue reading “Risk, the Developer, and Patton”

Books about Software Development: Life the Universe and Everything

Most readers will be intimately familiar with Douglas Adams’ work. If you’re not, it’s definitely worth a read. One item that relates to engineering and project planning that always springs to mind too late in a project was a concept he included in Life, The Universe and Everything: The ‘SEP’ – ‘Somebody Else’s Problem’.

This concept is basically a sort of cloaking field where people ignore something by assuming it’s somebody else’s problem.

“An S.E.P., […] is something that we can’t see, or don’t see, or our brain doesn’t let us see, because we think that it’s somebody else’s problem. […] The brain just edits it out; it’s like a blind spot.”

Douglas Adams. Life, The Universe and Everything, Chapter 3 Continue reading “Books about Software Development: Life the Universe and Everything”

Four Quadrants

A while ago I was in my car, listening to the radio, and the Beatles came on. I’ve never really been into them, but I have respect for them and their influence on music. I started to think about my likes and dislikes in four quadrants as sort of a silly thought experiment:

Four Quadrants
Four Quadrants

On the Y axis is my level of respect for something, and on the X is how much I like something. Continue reading “Four Quadrants”

Fear and Software

Several years ago, as a consultant, I had the opportunity to work with a client on modernizing their Quality Assurance processes. At the time, I was at the phase of my career where I viewed QA as just ‘testers’. They were sort of secondary characters in a play that starred programmers. Like the ponies in the Lord of the Rings. Important, sure, but they didn’t get their own swords or anything.

So I took a deep dive in to Quality and started at (close to) the beginning, with W.E. Demming. He was one of the first Quality gurus, and became known for his work in Japan following WWII (he has a wikipedia page). The one thing that really resonated with me from researching him was his idea that you had to drive out fear from engineering. At the time, I was still in the ‘bugs are bad’ phase, and because of that, made all the classic mistakes in programming. I wasn’t good at testing my own work, and wasn’t particularly good at telling our testers where to look for bugs. I also viewed testers more as impediments to my amazing software being released than as allies. Continue reading “Fear and Software”

You Should be Good at One Non-Engineering Discipline

I have a theory that the best software developers are also really good at some discipline that involves putting things together that is tangible. By ‘tangible’, I mean that software engineering generally involves resources that you can’t actually hold, like time or code or computation. It’s much harder to understand consequences when all your problems are abstract.

So take, for example, cooking. If you wanted to prepare the following meal for your family:

  • Pasta with home-made tomato sauce
  • Chicken, marinated for over 30 minutes
  • A simple salad

and the goal was to have dinner ready at 7, with each of the 3 parts done at the same time, so that the hot dishes were hot and the kids got to bed on time, you need a pretty complex project plan. It doesn’t have a lot of elements, but it does have a lot of parallelism and mode switches, plus some dependencies. Continue reading “You Should be Good at One Non-Engineering Discipline”

Possible But Not Practical

I recently was working on a project and got in one of those discussions where I was not communicating at all. I was trying simultaneously arguing that the software was something I could build, but one that would not work. I felt pretty confident in my abilities to build and deliver it, and, in fact, that it would be pretty cool once built.

However, I was also trying to indicate that because of its complexity, it would have the characteristics of an unstable nuclear isotope – it would not last long. The system in question wold require so much more human intervention to keep it correct than was available within the organization that every month of operation would put it further and further out of true. It was ‘Possible, but not Practical’. Continue reading “Possible But Not Practical”

The Incident Pit

I’ve been reading Alastair Reynolds‘ work since I stumbled upon his short story ‘Galactic North’ in an anthology in 2000. His work is awesome and interesting, and one thing that has stuck with me as an engineer is the idea of an ‘Incident Pit’ from Pushing Ice.

When I went back and googled it, it turns out that this concept has a whole wikipedia page about it (albeit a short one). It’s worth checking out. TL;DR: it’s when a project or scenario’s incidence of errors begins to rise faster than they can be handled. It’s based in diving, where there are constant errors, and if an inflection point occurs, and error rates grow too fast, fatal mistakes can happen. Continue reading “The Incident Pit”