Embedded Development

Ashraf Nehru
3 min readApr 5, 2019

--

History is made by those who show up.

There’s a school of thought that runs something like this :

“Coders are expensive. Every moment that a coder isn’t coding is wasted money.”

From this point of view, asking your deskbound coder to drop everything and jump on a plane to go live on a tour bus for a week, with all its attendant sleep deprivation, stress, lack of access to internet, build servers or clean socks, isn’t the, um, most efficient way to allocate his or her time. After all, there’s all those JIRA tickets just piled up there waiting for a fix, right ?

Well, about those tickets. Once they pile up high enough (and if you’re shipping successfully, they’re going to pile up in snowdrifts), it becomes incredibly, non-trivially difficult to select which tickets to work on, and decide how to allocate resources. You have to somehow weigh them up and figure out what’s urgent, what’s important, what’s easy, what’s quick, what’s efficient, what’s critical, what’s strategic, what’s chaff. And then you have to execute, which means you have to constantly decide whether to fix your own workflow snags or soldier on. Not to mention debug your own team processes.

It’s a combinatorial explosion of choices.

My proposition today is : there isn’t a provably optimal algorithm to find the answer.

It’s like trying to write a Shakespeare play by having a bunch of meetings to decide what word to select next. Or writing a song by putting popular songs into a Markov Chain.

Deciding what to work on next, and how to work on it, at some level is a creative endeavour — it comes from something deeper in the soul, something that can’t be worked out through any number of Zoom meetings. Emotion, instinct, empathy, desire, self-preservation. Let’s call it the Muse. It’s the Ineffable Thing that reduces the O(2^N) to the O(1).

The Muse needs to be given Offerings.

A really, really good way of feeding that Muse, of generating the clarity and energy you need to decide what to do and then to get it done(or inspire others to do it) is to go and stand shoulder to shoulder with your users.

Otherwise known as Eating Your Own Dog Food.

Nobody wants to eat their own dog food. It’s expensive, unpleasant, inconvenient, unproductive, uneconomic, and messy. You can’t capture it in notes, emails, KPIs, epics, Airtable entries or Salesforce reports.

Do it anyway.

Go on that tour bus. Experience the pressure of knowing that in seven hours there will be 20,000 screaming teenagers in the room, adoring their idol, but looking at the work you created. Never mind that it’s an world-beating, unprecedented achievement that will change the world — it is and it will ! But.

Look that tour manager in the eye when he tells you your stuff isn’t working right. Ride on the bus with the backline engineers who have to wait for your stuff to work because it’s not working fast enough. Experience what it’s like to use your software when you haven’t slept properly for days, you’re cold and fed up, and you’re wondering why in the hell you agreed to this. Savour the high five at the end of three exhausting days when you finally make it work right. And feel that shiver down your spine when the house lights go down and those 20,000 teenagers scream their lungs out.

That’s when you’ll understand what you’re really doing this for, and how your users really feel about what you made; and that’s when you’ll know what you need to do next.

Oh yeah, and take your coders with you.

--

--

Ashraf Nehru
Ashraf Nehru

Written by Ashraf Nehru

I once made the mistake of letting other people use my software; the result was www.disguise.one. Now I’m trying to figure out how to fix what’s really broken.

No responses yet