Thursday, November 18, 2010

Atlassian's Performance Review Experiment: Employee Rewards and Training Part 1

If you haven't had a chance or don't follow the Atlassian blogs like I do head on over to Atlassian's Big Performance Review Experiment and have a read and while you're in a reading mood check out my take on Google's 5 Engineering Management Mistakes.

I find Atlassian company growing on me day by day, if I still lived in Sydney no doubt I would have applied for a role(s) there by now. They are obviously putting a lot of thought and effort into employee development and utilizing the same brilliant thinking that led them to become one of Australia's software success stories. For anyone that suffers through the usual crap that surrounds employee training and motivation this sort of feedback structure is totally unheard of, maybe you get a yearly review, or you only get feedback when you cock up something really really badly or maybe you don't even get a review. Your training probably consists of the occasional certification course and any reading you happen to do on the way to solving a problem and you certainly don't get personal development training. I'd love to have these sort of structures in place and adhered to in all the companies I work for.

I was rather fortunate in that I had a manager that wanted to try and develop systems like this where I used to work and he battled hard against the red tape and time pressures to try and achieve it. I was also fortunate to have a manager that, above all else, was more interested in proper training and development that served MY interests ahead of the companies. While his secondary goal was always to help the company his primary focus was to turn his staff into well rounded engineers that would be well equipped to move forward in their careers, no matter where they ended up using the skills.

However, even in this environment, perhaps because it wasn't embraced fully by the company there were problems. The one that I had personally was that I changed projects to a very complex project, the sort that has a learning curve shaped like a step. Basically even though I was familiar with how to use and even debug the product quite well when I moved into a development role I was thrown in the deep end. Perhaps if I was in the main offices there would've been better training support but as I was in a satellite office I relied on a few people in my team to teach me my way around the code base, the development tools that surrounded it (all hand crafted for the 30 year old code base) and all the other paraphernalia associated with developing on a a mission critical product that had been around in various forms for a long long time.

Now I am not for a minute saying that these guys weren't supportive, its just well, that they didn't know what I needed to know, they'd all been working on the product for a while and hadn't captured all the simple gotchas that they avoided without thinking now. Eventually I muddled my way through and became a useful member of the team again, but it took me a couple of months to get up to speed. During that time I will admit that at various times I lost my desire to come into work, I lost the motivation to get my head around the whole thing a few times and found my self wadding through the detritus of the internet instead of focusing on learning and building my knowledge.

It got to the point where I'd been hassling the other team members so much I didn't feel like I could interrupt them any more. After all they had their own work to do and I was holding them back. At this point I felt alone, I tried to express my frustrations to my manager but couldn't quite get them across as well as I wanted to. I'd tell people it was really hard and they'd agree with me, say that it was difficult and push through.

Eventually I did push through and worked well (albeit still slower than other team members) for a couple of months before performance reviews came around. Now, based on all my feedback I thought I'd been doing alright, sure it'd taken a while for me to pick up the really complicated project that I know worked on but overall I felt pretty good, I didn't think I'd nailed it like previous years but I hadn't failed miserably either.

Well at least thats what I thought, unfortunately the management team obviously thought I sucked, I got the worst review I've ever received, missed out on a bonus and over all I was mighty pissed off. The main reason, I didn't know I was at the bottom of my peers, for a year I slaved away but no one ever took me aside and said to pick up my game.

The problem was that in the end the performance metrics used where focussed on things like features implemented, bugs fixed etc, there was no recognition of countless hours spent trawling the intranet looking for answers to my problems, no recognition of the mountain of technical documents I had to read and understand (like a design document written before I was born!)

It seems to me that this sort of problem wouldn't happen at Atlassian, or at the very least would get picked up a whole lot sooner and that with lots of 1:1's and a focus on staff development they would be able to work through it to ensure that the employee didn't come out of the whole process feeling ripped off. The whole thing still annoys me several years later and my guess is that it will continue to annoy me.

No comments:

Post a Comment