Robert Collins: Learning is hard
I feel like I m taking a big personal risk writing this, even though I know the internet is large and probably no-one will read this
.
So, dear reader, please be gentle.
As we grow as people, as developers, as professionals some lessons are are hard to learn (e.g. you have to keep trying and trying to learn the task), and some are hard to experience (they might still be hard to learn, but just being there is hard itself ) I want to talk about a particular lesson I started learning in late 2008/early 2009 while I was at Canonical sadly one of those that was hard to experience.
At the time I was one of the core developers on Bazaar, and I was feeling pretty happy about our progress, how bzr was developing, features, community etc. There was a bunch of pressure on to succeed in the marketplace, but that was ok, challenges bring out the stubborn in me
. There was one glitch though we d been having a bunch of contentious code reviews, and my manager (Martin Pool) was chatting to me about them.
I was as far as I could tell doing precisely the right thing from a peer review perspective: I was safeguarding the project, preventing changes that didn t fit properly, or that reduced key aspects- performance, usability from landing until they were fixed.
However, the folk on the other side of the review were feeling frustrated, that nothing they could do would fix it, and generally very unhappy. Reviews and design discussions would grind to a halt, and they felt I was the cause. [They were right].
And here was the thing I simply couldn t understand the issue. I was doing my job; I wasn t angry at the people submitting code; I wasn t hostile; I wasn t attacking them (but I was being shall we say frank about the work being submitted). I remember saying to Martin one day look, I just don t get it can you show me what I said wrong? and he couldn t.
Canonical has a 360 review system every 6 months / year (it changed over time) you review your peers, subordinate(s) and manager(s), and they review you. Imagine my surprise I was used to getting very positive reports with some constructive suggestions when I scored low on a bunch of the inter-personal metrics in the review. Martin explained that it was the reviews thing folk were genuinely unhappy, even as they commended me on my technical merits. Further to that, he said that I really needed to stop worrying about technical improvement and focus on this inter-personal stuff.
Two really important things happened around this time. Firstly, Steve Alexander, who was one of my managers-once-removed at the time, reached out to me and suggested I read a book Getting out of the box and that we might have a chat about the issue after I had read it. I did so, and we chatted. That book gave me a language and viewpoint for thinking about the problem. It didn t solve it, but it meant that I got it , which I hadn t before.
So then the second thing happened we had a company all hands and I got to chat with Claire Davis (head of HR at Canonical at the time) about what was going on. To this day the sheer embarrassment I felt when she told me that the broad perception of me amongst other teams managers was and I paraphrase a longer, more nuance conversation here technically fantastic but very scary to have on the team will disrupt and cause trouble .
So, at this point about 6 months had passed, I knew what I wanted I wanted folk to want to work with me, to find my presence beneficial and positive on both technical and team aspects. I already knew then that what I seek is technical challenges: I crave novelty, new challenges, new problems. Once things become easy, it call all too easily slip into tedium. So at that time my reasoning was somewhat selfish: how was I to get challenges if no-one wanted to work with me except in extremis?
I spent the next year working on myself as much as specific projects: learning more and more about how to play well with others.
In June 2010 I got a performance review I could be proud of again I was in no way perfect, but I d made massive strides. This journey had also made huge improvements to my personal life a lot of stress between Lynne and I had gone away. Shortly after that I was invited to apply for a new role within Canonical as Technical Architect for Launchpad and Francis Lacoste told me that it was only due to my improved ability to play well with others that I was even considered. I literally could not have done the job 18 months before. I got the job, and I think I did pretty well in fact I was awarded an internal Spotlight on Success award for what we (it was a whole Launchpad team team effort) achieved while I was in that role.
So, what did I change/learn? There s just a couple of key changes I needed to make in myself, but a) they aren t sticky: if I get overly tired, ye old terrible Robert can leak out, and b) there s actually a /lot/ of learnable skills in this area, much of which is derived lots of practice and critical self review is a good thing. The main thing I learnt was that I was Selfish. Yes capital S. For instance, in a discussion about adding working tree filter to bzr, I would focus on the impact/risk on me-and-things-I-directly-care-about: would it make my life harder, would it make bzr slower, was there anything that could go wrong. And I would spend only a little time thinking about what the proposer needed: they needed support and assistance making their idea reach the standards the bzr community had agreed on. The net effect of my behaviours was that I was a class A asshole when it came to getting proposals into a code base.
The key things I had to change were:
Rob
- I need to think about the needs of the person I m speaking to *and not my own*. [Thats not to say you should ignore your needs, but you shouldn't dwell on them: if they are critical, your brain will prompt you].
- There s always a reason people do things: if it doesn t make sense, ask them! [The crucial conversations books have some useful modelling here on how and why people do things, and on how-and-why conversations and confrontations go bad and how to fix them.]
Rob
Ana Guerrero Lopez (ana)
Who are you?
I'm a 30-something years old geek. I'm from Andalusia, Spain but live in France.
What do you do in Debian?
I work mostly on my packages, in sponsoring new people's packages and in
this very blog you're reading now. I also maintain an unofficial Google+
page about Debian. At $PAID job, I work in an internal Debian distribution
so from time to time, I get the opportunity to contribute back some of the
stuff we do there.
How and why did you start contributing to Debian?
I started using Debian around 2003 switching from Mandrake. I was a happy
Debian user when the Debian Women project started in the summer 2004. When
I saw the project announced, I asked myself why I wasn't contributing to
Debian and the rest is history... in a couple of weeks it'll be my 7 years
DD-versary! If for some reason you want a longer reply to this question,
read
Altimeter Testing at Airfest
Bdale and I, along with AJ Towns and Mike Beattie, spent last weekend
in Argonia, Kansas, flying rockets with our Kloudbusters friends at




I found the following news item; if you can read Spanish, you will most probably prefer
Interesting times.. While the big disasters are ongoing, little ones have
been spicing up my life lately.
A pleasant week by the beach ended with a tropical storm passing over the
beach house. I've never experienced this before, and though Andrea was
diminished by passing over land, it was still more wind than I've ever
seen. I love wind, and this was thrilling, right on the edge of
danger but not quite there. At least, if you have sense to stay out of the
water. Leaving the beach, I heard of someone who tried to go surfing that
day, and drowned.
The night before last, I was startled to find nearly an inch of water
seeping up from underneath the tile floor of the kitchen. Probably it has
something to do with the pressure tank pumping system, which was repaired
while I was away, and means I actually have indoor running water here.
(Overrated.) This saw me scrambling to close every water valve, and out
with a flashlight at 2 am closing the cutoff at the 1000 gallon water
reservoir before it all drained into the house. While sopping up dozens of
gallons of water from the floor at 3 am probably doesn't sound like fun, I
found myself going through the motions elatedly.. Because this means I
finally am coming to understand the source of the damp that infests the
most earth-sheltered corner of this house. It's not condensation. It's bad
plumbing!
Then yesterday, I went out to try a dip in the river, stopped by the
neighborhood eatery and bait shop, and ended up sitting out on the back
deck eating ribs and listening to a band with "possum playboys" in their
name (which makes the full name fairly irrelevant), while looking out over
the river and the old-timey green metal bridge. Which was unexpected fun,
and the kind of thing you have to take in when it happens, but getting
stuck in a newly installed hole in my driveway was not. My car was
spinning, and I gave up and called it a night.
Here's the thing. I could feel my brain working on this stupid
"underpowered car is stuck in a small rut" issue all night long. Same
mental pathways activating that chew over bugs and design issues. Got up
this morning with a set of plans and contingency plans all ready to go. The
first one, of jacking it up and putting something under the tire was
stymied; it seems I am missing a jack. But the second, of digging out all
around the tire, and then filling in with gravel and cat litter (a tip from
some offroading website I blearily surfed last night), and then riding the
gas while releasing the bake, worked great.
All of which is to say, bring em on! But I still prefer my disasters in the
form of software bugs.
This weekend I have mostly been reading
This is the first freeze in which I'm involved with upload rights. And it turned out to be a quite interesting ride so far, so I thought it would be nice to write about it.
