Software Engineers have the power to change the world

A short history of my personal experience with software engineers and why I’m optimistic about our future.

For my  entire professional life, I’ve worked closely with software engineers  and loved what they do. The math lover in me has always been envious of  their everyday work — they pretty much get to solve puzzles every day,  trying to write elegant solutions so other engineers can follow and  build on their work — there’s hardly a better application of your  logical/mathematical brain.

My  first exposure to leading an engineering team came after just 2 years  as a derivatives trader (my first real job) when I was lucky enough to  be put in charge of a flagship engineering project we called “Robot  trader” at Optiver. I had come up with a strategy for trading options on  the Korean Index (the Kospi200 — which at the time was the most  actively traded options market in the world) that was making consistent  profits without significant added risks. Being such a liquid market it  was the kind of strategy that could potentially be automated so I was  tasked with explaining the rationale behind good trading decisions to  the engineering team to try and do just that. The aim was to elevate the  human trader to non-routine decision making and let the computer do the  routine stuff. I was in awe of the engineering team’s approach. I had  assumed they would see this as an algorithm to be solved but was  surprised at the time they took to deeply understand the problem, and  the motivations behind the user (in this case me and my trading team),  questioning all our decisions, forcing us to codify our thinking and  strategy before committing any code.

I  learned there early in my career, that most good engineers will be able  to come up with a solution to a well defined problem — the HOW to solve  it. But great engineers are deeply concerned with understanding the  problem itself — the WHAT we’re trying to solve.

So  after leaving my job at Optiver to start up my own education company at  the ripe old age of 25 I knew the type of engineers I was looking for.  It took us 3 months to find our very first engineer but when we did I  knew he was the right person. Of all the people we met for the role he  was the one most concerned with the WHAT we’re trying to solve. His name  is Alvin Savoy and I can’t imagine a better person to have been my  co-founder on this journey. And after 8 years we’re still riding this  wave together. And this brings me to my point…

As  we’ve grown we’ve naturally raised the bar on what we require from our  new software engineers. Our product has evolved over time to incorporate  a lot of moving parts that need to work together seamlessly to support  the millions of weekly interactions from our students, so we need  seasoned senior engineers with experience working in complex products  solving difficult challenges dealing with scalability, infrastructure,  big data all while continuing to innovate on our product. And this is  where it gets interesting. These extremely talented individuals are all  over the HOW and WHAT but what I didn’t realise was just how much they  care about the WHY.

At  first this was a bit confronting for me. I’d get all excited after  speaking to our customers and come back to the product team and say we  need to build this feature and instead of getting the chorus of “let’s  do it” I’d get our senior engineers asking:

“Why  are we doing this? How does it align with our vision? Are we  prioritizing short term market share or long term product strategy?”

Wow!  As if I didn’t already have a hard enough time living up to the  expectations of our customers and our investors, now I had our internal  engineering team raising the bar even higher. Of course these were  things that I constantly thought about but it wasn’t enough that I was  thinking about them. Our engineering team wanted to know the “why”  behind our decision making because they care about where they spend  their time. So after the initial shock reaction I actually found this  very refreshing.

There’s  been much written about software eating the world and the war for  engineering talent, particularly in places like Silicon Valley. It’s  easy to think that in this environment engineers will just join the  companies that pay the most. But that’s not the case. I have found  software engineers to be among the most empathetic and idealistic people  I know (perhaps it’s because they need to deeply understand the people  their building solutions for). So in this war for talent they are very  conscious of the importance of their time and they want to spend their  time on something they believe will make a difference. So when they ask  “why are we doing this?” it’s not out of a sense of entitlement but the  burden of responsibility to make the best use of their powers. They want  to believe that the work they’re doing is part of some bigger picture  that will create some good in the world. In order to see that they need  to know what that bigger picture is (the vision) but also they need to  believe that we have a good plan to get there (the strategy) and they  challenge me to communicate that in a way that makes them believe.


So why can they change the world?

An estimated 2 million protestors gather in Hyde Park London 15 Feb 2003

I  remember marching with over 200,000 people in Sydney and tens of  millions around the world on 15 Feb 2003 against the war in Iraq. I was  just 19 years old at the time and it was the first time I ever attended a  protest. The turnout was bigger than anyone had imagined and the global  coordination of marches was a clear message that millions of people  from diverse backgrounds and walks of life all opposed a pre-emptive  war. Social movement researchers have since described the 15 February  protest as “the largest protest event in human history” and as a young  adult I was filled with optimism that the voice of the people would be  heard and we would be able to avert the war. It was only a month later  that I watched Australia join the US coalition and declare war on Iraq. I  felt powerless — there was nothing we could do. It’s only now as I  write this that I reflect that it was not only the first protest, but  also the last one I ever attended.

I  was recently reminded about this late last year. I was backstage  preparing for my TED talk and was lucky enough to mix with 15 remarkable  people who would share the stage with me that day. Company like that  will often get you thinking. One of those people was Rach Ranton, a war  veteran, who gave an insightful talk on what the army calls “Commander’s intent”. Back stage I asked Rach  about whether she had any thoughts about the war itself and she said

Soldiers  try not to get involved with the politics of it all. Once we are ‘in  country’, we focus on the elements we can control, not those that we  can’t. Basically, we have a job to do and we have to do that well. If we  don’t then people die.

Rach  didn’t really have a choice in the matter as to whether she wanted to  fight a war — that decision was made way over her head. Her role was to  do her job and do it well.

That’s  how things work in the army. And to a large extent it’s the way the  workforce used to work for centuries. But as the world becomes  increasingly connected things are changing fast. Much of this power is  moving from governments to technology companies (who have an enormous  responsibility which would make for another piece someday) so software  engineers are at the modern day coalface making some very important  decisions about how this power is used.

And  while that might scare many people it feels me with great optimism.  Sure, there are engineers who would use their superpowers for things  like hacking servers, selling data, blackmailing but for each of those I  believe there are dozens of engineers who take this incredible power  and put it in the hands of the people. Why? Because software engineers  build things that way. They rarely care about centralizing power. Look  at open source. Look at the Bill and Melinda Gates foundation. Look at  Pledge 1%. They care about the WHY.Look at Wael Ghonim,  the former Google executive, computer engineer and Internet activist  who unwittingly became the unofficial spokesman for Egypt’s  revolutionaries in 2011.

There is an idealism among software engineers. They imagine a better world. And increasingly they have the power to create it.


So if you’re  a software engineer, think about this incredible power that you have.  And think about the world you want to live in. Do you really want to  make it easier to gamble or binge watch the next great TV series? Do you  really want to have people spending more time on Facebook only to live  with the “tremendous guilt” afterwards in what might be the modern day version of Tony Blair’s “more sorrow, regret and apology than you may ever know” over Iraq.

Instead, hold your leaders up to the standards that my team does of me. Ask them “why?” and if you’re not convinced by their answers then join a place where you are and start changing the world.

Mathspace Team Selfie. I’m not very good at this!