Tuesday, 27 November 2012

Why I'm an Engineer and Not a Pastry Chef

On the Internet, people joke about First World Problems (FWPs) when they stub their toes on their BMW run-flat tyres while wearing their new Louboutins, in an attempt to avoid stepping on their Paspaley pearl earrings.

On my team at work, we have PFE World Problems (PWPs). They make an FWP look like torture. As a job, it isn't so bad. I'd go as far as to say it doesn't suck. It is time I reminded myself of that.

My latest PWP was hitting what in Microsoft is called the 7 month itch. No jokes about antibiotics please. It is a point when after being at the company for a while, you are passed the honeymoon period and straight in to the everyday work ritual.

When people told me I would hit this, I sniggered. Well, it was probably more of a giggle but now I find myself sighing mostly and realising that Monty Python was right in the Life of Brian...



Brian: No, no. Please, please please listen. I've got one or two things to say.
The Crowd: Tell us! Tell us both of them!
Brian: Look, you've got it all wrong. You don't need to follow me. You don't need to follow anybody! You've got to think for yourselves! You're all individuals!
The Crowd: Yes! We're all individuals!
Brian: You're all different!
The Crowd: Yes! We're all different!

Truth is that joining a big company with so many possibilities is awesome to start and keeping that momentum going is up to you. In this case, it is up to me.

I identified the two things that are not Mana-friendly and now I must find a way to fix them or get out.

They are...

The Lack of Team (the journey)

PFEs work mostly on their own. What I do is called transactional work. You go in and provide knowledge or a solution or give someone a hug and then you move on to the next client. Those who are lucky like me, go back to the same clients and sometimes the same systems.

If you've met me IRL then you know that I can build rapport with anything and anyone from a CIO to a dev to a grumpy crocodile to a brick wall in under 3 minutes. All of that comes from genuinely caring about what clients want and how to help them achieve that. My work is not about me being a superstar or about credit or acclaim. If I wanted that, I wouldn't be in PFE. I'd be a pastry chef.



Anyway, you build rapport and you like the cause. You work towards the cause and you actually add value. Then you leave and start all over again. It is fun but it isn't the same as being part of a dev team building software.

This means that I have to find a way to belong. A way to feel part of something without being in the middle of a dev team slaving over the coals. That's my first action item. I must find a way to enjoy the journey that satisfies the way I like to work... with people.

No Finish Line (the destination)

Ask anyone who identifies as pragmatic and they will tell you that delivering something from start to finish is more satisfying than gold plating or talking about it for ages.

In my current day to day work, there are very small blocks of work that I have to complete. People often say they like the work but not the wrap up report or presentation at the end. I love it all. I love the start, the middle, the race to the finish, the wrap up and the bloody post mortem.

As an agile dev, breaking down big things in to small achievable parts is a talent I have. I can deconstruct any requirement and put it back together, while holding the holistic view and goals in my head.

There is my second task, to find a way to take on bigger chunks of work that let me satisfy my need to build awesome stuff.


It took a lot of sulking to come to this realisation. It also took a colleague to give me a good slap and tell me to step up and do something about it. I am often that person to others but oh so famous for not taking my own wicked advice.

Thank you, unnamed colleague. You are lucky there is a continent between us :)

Now to make it better or get the hell out.


Tuesday, 20 November 2012

Team Players Are Worth More Than Superstars



A lot of time, I am involved in putting teams together and getting them to mash.

Sometimes, I am given the raw materials and have to make the most of what is given me.

Other times, I get to pick and choose and use excuses like "we need the best combination to deliver what the client wants."

Often when we hire developers, we look for technical skills and client facing skills and design skills. This is all well and good as long as we also look for collaboration skills.

The environment that I play in is full of superstars who really do know their stuff. The thing is that when I'm choosing a team that knows my stuff, I want one thing in particular. You have to know how to collaborate.

A developer can know an API front to back.
A developer can talk about the intricacies of their technology stack.
A developer can describe everything they have ever built and impress you.

However, I want someone who can work with others.

I am not fussed if they are a member of Mensa or can recite 6 digit primes by heart. That doesn't make a useful developer.

What is most important is that you can work with others. You must be able to say what you have done. You must be able to describe your intentions. You must be able to write code that doesn't identify itself as yours but instead mold with the team.

Yes, there are so many average devs but a good dev who can communicate and collaborate will wipe the floor with them.

Be a good team player.

A superstar is worth nothing alone.