First published September, 2011. I write these every few years—a recommendation letter for myself, but written 3 years in the future. The format forces me to be concrete about what I want to accomplish, leading to better priorities.
September 2014
To Whom It May Concern,
I am writing this letter of recommendation on behalf of Kent Beck. He has been here for three years in a complicated role and we have been satisfied with his performance, so I will take a moment to describe what he has done and what he has done for us.
The basic constraint we faced three years ago was that exploding business opportunities demanded more engineering capacity than we could easily provide through hiring. We brought Kent on board with the premise that he would help our existing and new engineers be more effective as a team. He has enhanced our ability to grow and prosper while hiring at a sane pace.
Kent began by working on product features. This established credibility with the engineers and gave him a solid understanding of our codebase. He wasn’t able to work independently on our most complicated code, but he found small features that contributed and worked with teams on bigger features. He has continued working on features off and on the whole time he has been here.
Over time he shifted much of his programming to tool building. The tools he started have become an integral part of how we work. We also grew comfortable moving him to “hot spot” teams that had performance, reliability, or teamwork problems. He was generally successful at helping these teams get back on track.
At first we weren’t sure about his work-from-home policy. In the end it clearly kept him from getting as much done as he would have had he been on site every day, but it wasn’t an insurmountable problem. He visited HQ frequently enough to maintain key relationships and meet new engineers.
When he asked that research & publication on software design be part of his official duties, we were frankly skeptical. His research has turned into one of the most valuable of his activities. Our engineers have had early access to revolutionary design ideas and design-savvy recruits have been attracted by our public sponsorship of Kent’s blog, video series, and recently-published book. His research also drove much of the tool building I mentioned earlier.
Kent is not always the easiest employee to manage. His short attention span means that sometimes you will need to remind him to finish tasks. If he suddenly stops communicating, he has almost certainly gone down a rat hole and would benefit from a firm reminder to stay connected with the goals of the company. His compensation didn’t really fit into our existing structure, but he was flexible about making that part of the relationship work.
The biggest impact of Kent’s presence has been his personal relationships with individual engineers. Kent has spent thousands of hours pair programming remotely. Engineers he pairs with regularly show a marked improvement in programming skill, engineering intuition, and sometimes interpersonal skills. I am a good example. I came here full of ideas and energy but frustrated that no one would listen to me. From working with Kent I learned leadership skills, patience, and empathy, culminating in my recent promotion to director of development.
I understand Kent’s desire to move on, and I wish him well. If you are building an engineering culture focused on skill, responsibility and accountability, I recommend that you consider him for a position.
[Ed: what follows is the original epilog. This is not my current career state or goal, although there are similarities.]
I used the above as an exercise to help try to understand the connection between what I would like to do and what others might see as valuable. My needs are:
Predictability. After 15 years as a consultant, I am willing to trade some freedom for a more predictable employer and income. I don’t mind (actually I prefer) that the work itself be varied, but the stress of variability has been amplified by having two kids in college at the same time (& for several more years).
Belonging. I have really appreciated feeling part of a team for the last eight months & didn’t know how much I missed it as a consultant.
Purpose. I’ve been working since I was 18 to improve the work of programmers, but I also crave a larger sense of purpose. I’d like to be able to answer the question, “Improved programming toward what social goal?”
Kent, initially, I found this post confusing - not the bit about the 2011 + 3 recommendation, but the bit after the second horizontal rule. After re-reading a few times, I came to the conclusion that this is a statement of your current situation. It might be more effective if that were clearer at the first reading. I can relate to everything you described there. I wish you well in finding that perfect gig. I am sure any organization that could check all those boxes for you would find they would gain far more value than they bargained for.
To be honest, it felt a bit self-pat-in-the-back as first, but as I read it through, it did not feel that way. I like the honesty and specificity. I will try it and brave it out to share publicly.
I identify by your stage in life, as I have a consultant, missed the sense of a team, and started at a permanent position. I have two kids in college too.
Thanks for a great writeup. I do end of year reflections but that is more wider than work.