Friday 22 July 2011

Why don't we invent more?

I sat in on a conference call today (actually I'm still on it!) where we talked a lot about innovation - specifically why we haven't done more of it.  Lots of different stories but the common theme seemed to be governance.

When I say governance I mean things like roadmaps, product councils, architectural oversight, PMO, etc.  Basically the constructs we've set up to steer our technology investments and spend our resources wisely.  Properly applied, they are critical to the success of any significant engineering endeavour.  Improperly applied they are critical to the failure of any significant engineering endeavour!  So are they being properly applied to invention and experimentation?

I don't think it is a case of proper application as much as it is a case of application at all.  I think any engineer has two jobs; serve the roadmap - build the applications and systems defined and managed by our governance processes - and serve the technology - discover new ways of solving our business problems, advance your own knowledge by experimenting, come up with new ideas and see if they fly.  If you're only doing the former then you're only doing half your job.

These are two very distinct types of activity and they shouldn't be governed by the same controls.  It just makes no sense to apply ROI and risk controls and rigid scheduling to a journey of discovery with a totally unknown destination.  The difference between teams who innovate and teams who just talk about it is recognising the immense value in the journey alone...

Besides, you don't need all that bureaucracy.  All you need to be great at this is to leave a space for it to grow and - if you have the right people - it will expand to fill it.  That is how I roll and that is what I want to see.

Wednesday 13 July 2011

Big Roadmap seeks Innovative Thinkers for long term relationship

I haven't posted much recently - my new gig has been keeping me quite busy - but life is returning to a more sustainable pace now so I'll be able to start sharing more often again.  In the meantime I once again find myself drawing up battle plans in the war for talent.  So what are my 3 top weapons I can bring to the fight?

Step 1 - oops almost out of desks; let's get a really kick ass place to house all these smart engineers.  So we're moving to a sweet new spot in Angel.  We're growing fast and it's already nearly standing room only at the current office.  Covent Garden has its charms, but our new spot is being custom fitted - just for us - to be one of the best work spaces in the UK.  Check out the progress:





The list of features includes eco-geekery such as biomass boilers and heating and lighting driven by room occupancy sensors, high ceilings with 360 degree sunlight, huge storage space for bikes with plenty of showers and lockers, a variety of breakout areas for informal meetings, and a nifty cafe and Jamie's Italian restaurant on the ground floor.  All 80,000 sq ft of it (a huge uplift to accommodate our growth) is coming along nicely and is 30 seconds walk from Angel tube station.

Cool.  Now for step 2 - set up the right environment and culture.  So what is it actually like to work here?  Well, you could take our word for it, or I could give you the inside scoop...

When you get right down to it technology is core to what we do - our whole business is built on it and it drives our partner's businesses too.  Therefore we have to have a culture which supports great engineering in order to succeed.  That means bringing in smart developers, letting them own the problems, and then giving them the space to find the best ways of solving them.  It means creating time for innovation, it means allowing technologists to make technical decisions, and it means permission to work in the implementations which make sense (and maybe even a little pushing to keep you expanding your horizons) instead of being dogmatic about any particular stack.  Add to this a sustainable business model with plenty of big wins left to achieve and some clear priorities and shared steering of the business, and you have yourself the right ingredients for putting together some really successful software.

In the macro, Expedia is a very large place but we operate in a kind of group structure.  So yes, it is a very big company and that [fortunately] comes with some big company benefits, but the work experience is more similar to working for a well funded startup.  We work as small, independent, cross-functional teams, with each team having a good mixture of autonomy and support.  We believe that our guys should have end-to-end ownership of the systems they build - everyone is part of a small elite team and feels like they're personally making a difference.  If you've read a few of my posts before then you probably have a fair idea about how I like to run things.

Step 3 - challenges that really make you think.  This is an exciting time to be part of creating something pretty unique; I've said recently that we're about to change the rules in web travel and it's going to be fun.  Obviously I won't share my roadmap here, but I will talk about the sort of technology we'll be working with.  How about creating an eventually consistent distributed datastore latency tolerant?  What about peer-to-peer cluster management in the cloud?  Making an n+1 node in-memory cache topology aware?  Automated provisioning based on realtime system utilisation feedback?  Inventing new sorting algorithms and queuing strategies?  Or your own anti-entropy protocol?  Collecting obscene amounts of performance data and rebuilding your tools to watch those numbers move?...

You'll notice that I didn't say 'Java' or 'C#' or 'SQL' or 'PHP' at all.  That's because, to a certain extent, those things aren't what's important.  What's important are the patterns, the fundamentals of how we logically solve business problems using computer science, and that is what great engineers do.  Then they write some code as a result.

If that sounds awesome to you, and you can show me some aptitude in this kind of space, then we should talk (especially if you're Cassandra/MapReduce curious).  Get hold of me or my recruitment ninja, Roopesh Panchasraright now.

PS - I am also hiring in the US, so drop me a line if you're stateside and want to work with smart folks on some sharp stuff.