Wednesday, 3 February 2016

The Importance of Dogfooding

Short of early customer engagement, nothing is more important in product development than dogfooding your own creations. The need for active dogfooding cannot be overstated. Few of us would disagree with this in principle but in practice excuses tend to get in the way. A few examples:
  • when developing big data solutions, waiting for pilot customers to lend you their "scale" before applying the product to your own environment,
  • when developing a monitoring solution, using a more mature stack from another vendor to watch your infrastructure,
  • when developing an analytics tool, using only synthetic or mock data for demos so as to "better" convey the point,
Don't let any of these excuses form: make a point of dog fooding your software as the milestone number 0 and make it an integral part of your process - the benefits are surprisingly immediate.

Side note: some people prefer the phrase drinking our own champaign apparently repulsed by the idea of consuming dog food. Other than it being somewhat pretentious and self-congratulatory, this champaign variant totally misses the boat: the point is to use a solution that isn't that glorious (yet), maybe hasn't exactly been built for me as target audience and might not be that great at the current stage of development -- yet I'm still going to derive value out of it in hope of identifying areas for improvement.

Sunday, 29 November 2015

We're all students of the process.

Joining an early-stage startup is hard work and can be quite taxing but it's one of the most amazing professional experiences you can go through. There are at least three things that make working at startups exceptional: constraints, uncertainty and intensity.
Resources tend to be in short supply, hiring is _really_ hard and everything seems past deadline. On the bright side, working in scarcity helps to keep your focus laser-sharp on stuff that really matters. This means that you'll end up re-evaluating and inevitably shifting priorities, perhaps more often than necessary. These shifts are unpleasant enough to develop healthy preventative habits and become totally immune to scope creep.
Uncertainty is another big one. There just isn't a clear answer to many a question. You have to try things out. Fail, ask forgiveness. People with a strong sense of direction tend to grow; those without it - swell.
And it can get intense. You spend most of your waking hours with the same handful of people in close quarters. You enter in and out of arguments. When much is at stake your co-workers can get moody. The skill of not antagonizing the people you work with and handling disagreements gracefully goes a long way (ehm, I have a long way to go here myself).

All that fervor gives birth to the process. Process seems like something that evolves rather than is designed. It starts as everyone making enough of unnecessary mistakes, then it turns into a set of best practices and at some point in the future maybe in a set of core values. There is a non-trivial cost to shaping the process but it's a total blast and the process shapes us in return - it helps us let go, become better team players and work by greatest impact first. A unique skillset, more difficult to develop at established co's.

Saturday, 10 October 2015

enough Facebook for me

I've used Facebook for exactly 2 years today. It's kind of a cool product, I got in touch with a lot of folks I wouldn't have gotten in touch with otherwise for all sorts of reasons (mostly valid).
But Facebook was never really my thing. One of the scarcest resources I have in life is focused attention and Facebook doesn't help me guard it.
I've come to this realization in a beautiful secluded part of the world where I'm rediscovering the value of face-to-face human interactions without getting gimmicked up into clicking on a story that would surprise me, no echo-chambers and where "engagement" means taking an active part in an interaction as opposed to a likelihood an ad gets clicked. This fucking thing is really hard to quit; much eng respect for my ex-coworkers!

Sunday, 30 August 2015

Another way to think about Amazon's culture

A recent NYT article on Amazon's culture generated quite a lot of attention, mostly from haters. Not the first time the company gets slammed for not being employee-centric, certainly not the last.

Here is another way to think about it: for many of us engineers Amazon is a Shaolin of computer engineering. Not everyone who studies kung-fu will ever get into Shaolin. Those who do, get stretched beyond what they think is their ability. Not everybody graduates, fewer people still stay there forever. What you take away from the experience will stay with you for life. And so it is with Amazon.

The controversial part of the article is highly speculative and anecdotal - the testimonials of its people. There is no denying that their stories are true at least in part but one thing to keep in mind is that reality is almost always more nuanced. In my 3.5 years with Amazon in Ireland I have myself witnessed some bad cases of employee abuse totally and absolutely mishandled by HR. Universally, the engineers left and immediately found a workplace where they thrive until this day. It's naive to think that no such cases could be found at Google or Facebook.

But most importantly, a job at Amazon is still a job. You always have the option to not accept the offer (if your kung-fu goals are to have a good time and recreation, why would you apply to Shaolin?) or to quit at any time if it's not for you. Responsibility.

While a median employee tenure at Amazon is in the region of ~1year, I met a few folks who were with the company for longer than a decade. We might not have been each other's biggest fans and we haven't always agreed on everything but I have utmost respect for them as they are the true Shaolin masters - in all cases they were men of many talents, could be reasoned with and generally great at survival.

And a quick rebuttal to one of the points*:
  • Ex-Amazonians display asshole behaviour, are referred to "Amholes" - think about it: One of the major survival skills "on the inside" is to collaborate and synergize even with people you don't like. Unlike at other Internet giants, at Amazon nobody inflates your ego. As a result ex-Amazonians will be the most directed, respectful, down-to-earth people you'll ever work with. I can't say the same about ex-Googlers.

* the rebuttal applies to individual contributors only, managers at Amazon can get power-poisoned easily