Episode Transcript
Available transcripts are automatically generated. Complete accuracy is not guaranteed.
Chris Simon (00:00):
I think that's
probably the thing I look back
on and go.
What do I wish I had doneearlier?
And it's engaged with thecommunity.
I was so just buried in my workand like head into what we were
doing.
I didn't really look up andlook around at the world and the
fact that there's a broadcommunity of developers and
software people that aresupporting each other and
sharing ideas and better ways ofworking, and it took me a long
(00:22):
time to connect with that and Iwish I'd done it sooner because
it would have been reallyhelpful.
Tim Bourguignon (00:27):
Hello and
welcome to Devilpurs Journey,
the podcast bringing you themaking of stories of successful
software developers to help youon your upcoming journey.
I'm your host, tim Boulgigno.
On this episode, I receiveChris Simon.
Chris is a startup CTO coach,helping startups realize their
vision and new CTOs flourish intheir roles.
(00:48):
He also supports executives andboards with strategic
technology advice andengineering teams with training,
mentoring and consulting inarchitecture quality DDD that's,
domain-driven design and TDD,test-driven development.
He's a regular meetup andconference speaker and support
teams using DDD.
He recently launched Contextiveand co-founded the DDD
(01:10):
Australia Meetup.
Chris, a warm welcome toDevilpurs Journey.
Hi Tim, thank you so much forhaving me Warm warm is relative.
It's your degrees in Germany.
Right now You're in Portugal.
It's not as warm as it shouldbe, but a warm welcome anyway.
It's still warm enough for meat the moment.
It's warm enough, fantastic.
But before we come to yourstory, I want to thank the
(01:32):
terrific listeners who supportthe show.
Every month you are keeping theDevJourney lights up.
If you would like to join thespying crew and help me spend
more time on finding phenomenalguests than editing audio tracks
, please go to our website,devjourneyinfo, and click on the
support me on Patreon button.
(01:53):
Even the smallest contributionsare giant steps toward a
sustainable DevJourney journey.
Thank you.
And now back to today's guest,chris.
As you know, the show exists tohelp the listeners understand
what your story looked like andimagine how to shape their own
future.
So, as usual on the show, let'sgo back to your beginnings.
(02:14):
Where would you place the startof your DevJourney?
Chris Simon (02:17):
This is an
excellent question and it's a
very long time ago.
I have to get back to it andlet's get there.
Yeah, I think probably when Iwas six or seven, it was my
first exposure to softwaredevelopment as a.
I was very fortunate.
My uncle was a professionalsoftware developer and he helped
my family choose our firstfamily computer, which was an
(02:38):
Apple Fat Mac so-called Fatbecause it had 512 kilobytes of
RAM Wow, and no hard disk.
And I look back at the historyof computers now and actually
was quite impressive compared toyou know what I'd come before.
But yeah, it had a basicinterpreter on it and he was
very kind and I showed someinterest in it and managed to
pick up a book which I stillhave the book actually at home,
(03:02):
you do, yeah, yeah, it's likeprinted with a typewriter, I
think, with like a metal spiralbinding, but it's full of
programs and I would transcribethe code into the basic
interpreter.
I mean, at the time I obviouslyhad.
No, I couldn't interpret it.
I was six or seven and itdidn't work and my uncle would
(03:22):
come over and say, oh yes, thisis why there's a syntax error.
I said what's a syntax error?
So that was my first exposureto it and I really loved it.
But it was probably a few yearslater before I found myself sort
of starting to work out how tocraft my own programs.
But I would just, every time Icould find a program I would
transcribe it in.
I remember there was a do youremember Mad Magazine?
(03:45):
There was a Mad Magazine thatactually came with a program
listing in it on basic, withlike 10, print this, 20, go to
this.
And it would just print outlike a picture of Alfred in New
and Said I remember getting thatat one point I think it was in
the early 90s by that point andyeah, transcribe that in.
But then, probably when I was 13or 14, I started realizing
(04:08):
actually I can make up programsand I was fortunate.
At my school there were a fewother kids doing the same thing.
We had a computer lab.
In many ways I looked back onit.
I did not realize at the timehow privileged we were and how
fortunate we were.
I had access to this technology, had access to people to guide
me and yeah, I think by 14 or 15, I was like writing games and
mostly like clones of othergames.
(04:30):
So I had a clone of Tetris thatI called Tetris, which you know
so cringy in hindsight.
Tim Bourguignon (04:39):
No fine by me.
Chris Simon (04:42):
And then I thought
you know, I've done a lot of
basic, now I want to learnanother language.
So I thought I'd talk myself Cwith a book and got some graphic
flybies and made another gamein C with like a graphics
library.
You could load up bitmaps andall this kind of stuff and yeah,
it just sort of took off fromthere.
So by the time I got to the endof high school I knew I wanted
to do something with computersand programming at university.
(05:03):
But then I got a scholarship todo electrical engineering and I
did not get a scholarship inany of the other computer
programming courses I'd appliedto.
I still don't know why, but Idecided, well, this scholarship
will be really impactful, soI'll take that and I'll just
choose lots of programmingelectives.
And I was able to take a lot ofsoftware electives through that
(05:24):
, which I really appreciate it.
But I actually am quite gladthat happened because I think it
gave me a much betterunderstanding of you know how
software fits into a hardwarelandscape and like the full
stack of you.
Know when you move a mouse orwhen you write a line of code
what's actually happening at thebit level in a CPU and, I think
being able to appreciate thatfull stack has been quite
(05:46):
helpful through my career,probably jumping ahead to
explain exactly how, but I kindof appreciated it.
But I certainly did focus onsoftware electives and then I
ended up choosing, like a datacompression which sort of fit
into electrical engineering,because it was about signal
processing and electricalengineering has a lot of
different subfields.
In one of them is signalprocessing and so, yeah, data
(06:07):
compression went into it.
So I was able to write somecode to explore different image
compression algorithms and thatwas lots of fun.
And, yeah, then post universitywork.
So I don't know, that's 15years, several five minutes, and
you asked what was the start ofthe dev journey, but it was
definitely those early formativeyears, copying program listings
out of printed books and thentrying to write clones of games
(06:32):
that I had seen.
Tim Bourguignon (06:33):
That was
definitely the start of it all
and during many bells.
I copied a lot of listings andmade a lot of mistakes and was
happy when there was a check,some at the end of the line.
Sometimes, when there wasn't, Iwas just looking at this wall
of text wondering why is it notworking?
I have no idea about semanticsand what to really do, but there
(06:55):
brings many bells, many bells.
I don't to date you and I thinkyou're a little bit older than
me, but not so much and I thinkwe were the last generation to
really be able to do this, to gothrough a curriculum going all
the way from electricalengineering, understanding the
stack from bottom up, and reallycome at the end with a high
(07:18):
level understanding ofeverything that was happening
and expertise in high levellanguages to be able to program.
Chris Simon (07:27):
Yeah, I think
that's probably right.
I mean, when you look at thehistory of computers and
software in general, it's alwaysone of rising levels of
abstraction and I thinkinterestingly though, like we
might say that we're the lastgeneration to have that full
stack.
But already there are probablylayers in the stack that we are
oblivious to because they werealready abstracted decades
(07:48):
before and I think we wouldn'tknow how to use punch cards or
like that's, or loading, like.
I've got really into readingabout the history of computing
at one point and reading storiesof people having to assemble
their own machines from circuitboards that were shipped to them
and then load in literally thebootloader by flicking a bunch
of switches and then hitting go,like the binary thing, like,
(08:10):
and I think you know.
So it's interesting, here yousay that we're the last
generation, because I think thatgeneration probably thinks that
they were the last generationthat's true Experienced the full
stack, and here we are with ourfancy floppy disks Whoa, you
know.
Tim Bourguignon (08:24):
What do you
mean?
A floppy disk?
Where are USB keys now?
Chris Simon (08:29):
So I think you know
it's interesting, like every
generation thinks they were thelast one to have access to some
hidden insight that the nextgeneration won't have.
And you know, the sort ofrelativity is interesting to me
as well, that is true.
Tim Bourguignon (08:42):
That is true.
I need to ponder that.
But I still feel there's adifference to be made between
the historical advancementmeaning punching cards were a
way to insert programs beforethere was another way that
replaced it and the stack whichis currently running on the
machine beside me and which isstill the same, or not still the
(09:04):
same, which is from anelectrical engineering
standpoint, and how the mainboard is built and which
components are in there and, forinstance, which different kind
of caches there are and memorymanagement, etc.
This is still true until it'sreplaced at some point.
But understanding what'srunning beside you really from
(09:25):
bottom up, this is somethingthat I don't think every or the
new generation is kind ofoverwhelmed with this.
Chris Simon (09:34):
I think so it's
gotten just too big.
It's forced to specialize andthere are people that get into
that stuff, but then they don'talso get the opportunity to say,
build websites or businesssystems.
And definitely the people Iknow who are building websites
and business systems often don'teven know what a cache is until
they get told oh, by the way,you're now the DevOps person so
(09:58):
worrying about that stuff.
But even then it's just inAmazon and it's a simulated
cache, so who knows what'sreally under there?
But that's probably a fairpoint as I look back and I don't
mind being dated.
So I was born in 79, I'm 44 nowand I was at university from 97,
and so I remember in first yearuniversity we were doing
(10:20):
assembly level programming oflike 8086 chips.
But even those chips were overa decade old at that point and
I'm pretty sure that the Pentiumwhich was out at the time if we
had had to learn how thatPentium chip was working in
terms of pipelining and you knowalready at that point you had
multiple cores.
I think even already then ithad become so complex that for
(10:43):
us to understand the full stackwe had to go a decade earlier to
find the chipset easy enoughfor a first year university
student to be able to comprehendit, and since then it's only
gotten wilder and way morecomplex with that instance.
There's actually multipleparallel chipsets and stuff too,
but I honestly, even though Ifeel like I do understand in
(11:05):
principle what's going on fromthe bit level you asked me to
look at like a modern CPUdiagram, I would be completely
lost.
Tim Bourguignon (11:15):
You and me.
Okay, so you did thiselectrical engineering degree,
picking as many electives insoftware engineering as possible
.
Was it a fixed idea?
You're going to go intosoftware engineering afterwards.
Was there some leeway in?
Chris Simon (11:32):
there I knew I
wanted to write software.
I did not at that timeunderstand how the industry of
software worked and so, like Isort of had this notion that, oh
, you just get a job and youwrite programs, how great will
that be.
And again, my uncle, who I do alot too, I think he had his own
business which was a softwarebusiness, and he gave me a
(11:55):
holiday job coming in andwriting some code for him, and
so I got to see a little bitabout how it worked, and that
was my first exposure tounderstanding how important it
was to write code that could beunderstood by other people,
because previously all the codehad been written for myself.
And I think back to all myvariables like A, b, x, z,
whatever.
You don't know, terribly don't,but you know the code worked
(12:17):
and it was just for me and Ididn't mind.
But then I started writing thiscode for this company.
It was just a littleapplication on the side to help
them with their licensing orsomething, and I remember it was
just a summer holiday job, andso after the break, a couple of
months later, we would exchangeyour emails and say how's it
going?
And they said, oh, we're noteven really sure how your code
works, because you've spelt theword license three different
(12:39):
ways in the code base.
I guess I was never claimed tobe good at spelling and they're
like, but we can't work in it,it turns out.
Well, I managed to introducethese spelling errors in places
where it just kind of didn'tmatter, because there were
different class names or methodnames or whatever, and they were
(13:00):
just getting really confused bythat and I remember thinking,
oh, I thought I did a reallygood job, but turns out maybe I
actually hadn't.
And I realized, like you know,it's just as important that the
code works that it is that otherpeople can understand it.
And that was like just, I guess, the very first inkling of this
idea that I had.
Well, no, it wasn't an originalidea.
Obviously this is, you know,with hindsight I look back on
(13:21):
and say, well, this has actuallybeen the whole history of our
field.
It's like this is the central,most important idea that we've
the field has been grapplingwith.
But you know, I think when youfirst get into it, it's all
about making it work.
And then you realize, well,there's a limit to what I can do
on my own.
Now I have to work with otherpeople and then, all of a sudden
, the code has to serve multiplepurposes, it has to work and it
(13:43):
has to be understandable, and Ijust I'll never forget that,
because that was like that firstmoment again.
Oh, hang on, this is a thing Ishould start to pay attention to
.
It took a long time for me toreally understand what that
means and I think I'm stilllearning about it, to be honest,
still thinking about differentways in which this phenomenon
manifests.
But yeah, that was definitelyan interesting moment.
Tim Bourguignon (14:03):
So you mean the
JavaScript minimized version
that we read on the web is not aversion that people wrote.
There are some A and B and Cvariables in there and could
well have been a teenagersitting there.
Interesting.
You said it wasn't the softwareindustry that you pictured when
(14:25):
before starting this internship.
Was it just the working withPeople piece, or did you have
some other preconceptions?
Chris Simon (14:31):
Yeah, yeah,
definitely.
I think now the working withPeople piece was something I
didn't expect but was still.
I really appreciated that.
I liked that aspect of it.
The part that I didn't expectfrom that my early days was that
every program I had written upto that point was something that
I wanted to write.
And then you get a job and youhave to suddenly write what
other people want you to writeand you have to write things for
(14:54):
other people that are servingyou know their purposes, and you
don't have, I guess, thefreedom and the kind of you know
just kind of, hey, I wonderwhat this would do.
I wonder what it would be likeif I tried this and you just get
to you know this freeformexploration, when you're just
writing code for yourself, andthen you have a job and it's
like, oh, here's a ticket,here's a ticket with an
(15:15):
acceptance criteria, make andpass and it's like, well, that's
a different experience.
But I think that was definitelyagain, I think, those two kind
of facets of it.
There's the interaction withyour other, your colleagues and
fellow developers, and thenthere's interaction with the
people that you're writing theprograms for.
You know those two facets of ithave become, I think, defining
(15:38):
themes of my career, and whereI've really ended up spending so
much time thinking deeply abouthow they both work.
And it's why I lovedemand-driven design, because I
think it's the thing that helpsyou engage with the people that
you're writing the code for, andI love test-driven development
because I think it's the thingthat helps you engage with your
other colleagues, and that's, Ithink, why those two things have
become foundational practicesfor me, because of these two
relationships that are essentialto being a software developer
(16:01):
in a group, in an organization.
But, that said, I still do,sometimes really mischievous,
writing code for myself, whichis why I now have an open source
project which I'm literally theonly person working on and I
get to just make a decision todo it straight away, and it's
great, although, reallyinterestingly, last week I had
my first contributor, communitycontribution to this project,
which is actually reallythrilling, and so, as much as
I've been enjoying the freedomto just code without having to
(16:24):
persuade people or communicatewith them or convince them, it's
actually really nice to havesomeone saying, hey, I wouldn't
mind if I did this, can I help?
So it's all good really.
Tim Bourguignon (16:37):
I haven't said
what contextive does, but
hearing news talk about spellingmistakes in your variables.
Now I have an idea.
Chris Simon (16:46):
Yeah, this has been
a career in the making.
I might just briefly explain it, if you want to connect to the
story.
So, yeah, through we're sort ofjumping ahead decades here, but
I think through my career Ilearned about the field of
domain driven design and reallyfell in love with it.
There's actually my firstconference talk was called
learning to love domain drivendesign a tale of two products.
It's like comparison of myfirst startup, which did not use
(17:08):
it, and my second, which did.
But on the second one, where wedid use it, I really loved the
concept of the ubiquitouslanguage, this idea that we
should try and intentionallycraft a terminology like a
language, not just a terminology, but a way of speaking about
the domain that resonates withour stakeholders and which we
(17:28):
can learn to understand andwhich are embedding that in our
code base.
And, yeah, so I came up withthis idea of contextive, which
is a suite of tools, startingout with IDE extensions, that
allows you to put liketerminology definitions in your
repository and it will surfacethose definitions in your code,
like when you're hovering overthe domain term.
And because it's tied to thedomain terminology and not the
code base, you get the samedefinitions whether you're in
(17:51):
TypeScript, javascript, java orC sharp anywhere, like if you're
in the domain of e-commerce andyou have the term order.
Anywhere that you use the wordorder, you're gonna get that
definition.
But it's also context of where,because if in one of the things
to make a design Was reallyinnovative with was and you know
it's probably central insightin in bringing this idea to us
(18:13):
is some you know that no oneSystem can be consistent across
the whole system in terms of themental models that you have,
and so it breaks the system downinto what they call bounded
contacts and you say, in thecontext of Placing an order,
this is what an order looks like.
It looks like a list of items intheir prices.
But in the context of shippingorder, this is what it looks
like.
It looks like the size of thepackage and the weight of the
(18:35):
package and the destination.
And so context is context where, in that if you're in the part
of the code base dealing withPurchasing, it'll give you one
definition.
If you're from the part of thecode base dealing with shipping,
you know the definition andyou're absolutely right, like
Even though it was probably onlyworking on these startups and
learning about the manager of adesign that inspired it.
If I think right back to thatoriginal experience of the
(18:57):
feedback that you know why doyou misspelled the word license
three times.
That was probably the genesisof the journey that let me to
think.
Tim Bourguignon (19:07):
Not sure what
ever happened in this case, but
you mentioned a couple startups.
How do you, how do maybe, maybestart from from your first
experiences?
How did you enter the industry?
Make the actual right now, andwe'll get to start up later.
Chris Simon (19:27):
Okay, well, it was
a very high.
I spent a few years in industry, so we can get to start quickly
, but I am so, yeah, having doneelectrical engineering degree
and part of the scholarship thatit and part of the reason I
took the scholarship even thoughit wasn't in the fields of the
degree that I thought I wasgonna, you know, pursue was the
opportunity to do industryplacements, and so while I was
at university, I had the chanceto do A 10 week placement and
(19:50):
then to six month placements atin in businesses, and one of
them was a company that doesindustrial control systems, and
they ended up being bought bySiemens.
Tim Bourguignon (20:03):
Sure, you've
heard of Siemens being massive
national company, I think 50,000employees in the town I live in
.
Chris Simon (20:13):
Something like that
.
So this is this tiny littleAustralian company of 200 300
people was bought by anotherGerman company called management
and then Siemens bought theindustrial logistics system from
management management.
So I may be an offer I had donesix months work with them.
While I was there I got to do alot of Control systems program
(20:34):
they call PLC's, which is thatwe could spend another hour just
talking about PLC's becausethey call programmable logic
controllers and this fascinatingIntersection between hardware
and software in that theindustrial control systems, they
want the flexibility ofsoftware but they want the
reliability of hardware.
And so this is this completelyunique programming language
called logic, which actuallylooks like a circuit.
(20:56):
So you're like constructing acircuit in software.
And the reason I call it logicis you got literally the
positive power rail on one sideand the negative power rail on
the other side and across it youhave all the Bullying
conditions.
But it's got more and morecomplex over time and now you
can put like complex functionblocks in there and you can
create modules, become kind of amodular architecture approach.
(21:18):
But it's running on these PLC'sis programmable logic
controllers that have notchanged in decades, because when
you invest in a warehouse and aconveyor belt system.
You put a lot of money inside,you want to last a few years and
it's quite interesting seeingyou have these programmable
logic controllers which havepart of the reason they value as
(21:40):
well as the real time control.
So they're sending like realtime signals to turn on conveyor
belts or pop things up, to pushboxes or parcels or or even
like airports use these sorts ofsystems as well and you know so
they need like really fine,like millisecond response for
actuating the motors and things.
And then often what happens isthey've got Another layer of
software running above.
It could like a warehousemanagement system or location
(22:02):
control system, which istypically written using
traditional software and runningon a PC.
And it's fascinating how youknow you go into these
warehouses and these things arerunning on Windows 98 and
because they can't migrate themand they're struggling to
support them and maintain them,but the program logic control is
just still tracking, just still, yeah, still there popping up
(22:26):
boxes and turning on and offmotors and doing what it's
supposed to do.
So yeah, it's kind ofinteresting seeing that that
side of things.
So I got into this field andbecause of my background
software, they asked me to startworking on Like a developer
tool, something that would helpmake them more efficient in
creating their the PLC code.
So you know the guy was workingfor real genius, to be honest.
(22:50):
He sort of come up with thisidea of how to introduce
modularity into before thesethings even supported modularity
, but he needed some toolingaround.
It helps stitch the modulestogether, so it's effectively
like a compiler and a linker,for you can drag modules on and
connect them up and say thismodule represents this stretch
(23:12):
of conveyor belt, this modulerepresents the downstream
stretch, and you can connectthem up and Back and forth with
this kind of relationship, onesupstream, ones downstream and
he's like a sort of or divert,what they call it.
Yes, I worked on this system forthem and it was, I think, quite
helpful, but you could tell itwas like the first big program
I've ever written, like it was.
The performance was terribleand it started getting people
(23:35):
would like Load a library into.
It would take like five minutesto load the library and I had
yeah, so it was.
That was kind of my firstexperience of.
I was really proud of it and Istarted getting this feedback
like it's helpful, but Was it soslow?
Interesting, anyway, that thatkind of Ran its course, I guess.
(23:59):
I mean, I used the software forquite a while until the
underlying systems changed.
But while I was there they gaveme the opportunity to go and
work in America for a coupleyears to a kind of project, and
I had a great time there and alot more about systems and
systems engineering, systemsthinking, and then eventually
came back to Australia forpersonal reasons.
But when I got back toAustralia I kind of realized
(24:22):
that this whole big corporatelife wasn't really Sipping me
like.
I was kind of I missed the daysof just being able to you know
just what I wanted to do and todo it and you know it's been a
lot of time in meetings andbecome like a systems engineer,
which kind of meant you don'tactually do any engineering, you
just like and what is yourdesign in the system?
(24:42):
The system had been designed,it was just negotiate with
vendors and technical projectmanagement, really, and In a
very highly waterfallenvironment.
So there's no scope for changein.
Any change was a disaster and Ijust I just wasn't loving it.
So A friend of mine fromuniversity he had ended up
working at the same place and wewere going out for lunch every
day and he was really keen tosort of launch a startup and I
(25:04):
had always thought, you know, befun to get involved in a
startup.
But, to be honest, he was kindof Providing the main drive for
it.
To the point where one day hestill remember this phone
conversation because I was atthe supermarket after work, I'm
picking up some groceries, and Igot this call from me said I've
done it, I quit and go andstart the startup.
And I'm like, well, I can'treally afford to do that right
now.
It's like, don't worry about it, I'm gonna.
(25:24):
I'm gonna go and work out a fewthings and I'll let you know
when we've got an idea and thenyou can decide if you want to
join us, and so a few monthslater you said yeah, we've we've
got what we're gonna do.
what do you think and those fewmonths have been enough for me
to realize now I need to get outof this environment.
It's not right for me.
So luckily they I guess theysort of appreciated what I was
doing.
After let me take like a leaveof absence without pay, sort of
(25:46):
you know they said I'll just go,you know what's the word, sort
of such this itch.
And then when you realize thatit's there's no future and it
come back to us and that startup is where I worked for the
next 18 years.
Tim Bourguignon (26:01):
so Wow 18 years
yeah, that was a big age.
Chris Simon (26:09):
Yeah, yeah.
Tim Bourguignon (26:12):
When did the
German company realize that
you're not coming back?
Chris Simon (26:18):
Well, I think I did
go back and do a little bit of
contracting work for thembecause you know we're in a
startup, we took us a while toget revenue and you know.
So I did a little bit ofpart-time work for them just to
keep the lights on.
But they kind of knew when Isaid, look, I'll come back on a
contract, but not permanently.
I think they knew that thewriting was on the wall.
But you know they were happyfor me that it was starting to
work out.
Tim Bourguignon (26:37):
So it was good.
So what did you do in thestartup?
Chris Simon (26:42):
Yeah, so we.
So the idea actually inspiredby us going out to lunch and
chatting about startups was tobuild a service that would allow
employees to order theirlunches so they could be
delivered.
And it was kind of motivated byso my friend's brother he
worked in finance and he wasaware of in Australia there was
a particular piece of taxlegislation that meant that if
(27:03):
an employer provided food totheir staff on site, then so
there's a thing, the stroke offringe benefits tax, which is
that if a company gives youanything that's not money, you
have to pay tax on it.
To try and avoid companiessaying, hey, let's cut your
taxable salary and we'll justgive you a car, and then you
don't have to.
You could buy a car and not paytax on it.
(27:24):
So they said, oh okay, well,we're going to, we're going to
tax that stuff, we're going tocall it a fringe benefit.
So it's a fringe benefit ofyour job, you're going to get
taxed on it.
So it's no escaping the tax,man, like you have to pay tax.
But there were these exemptionsand cars, interesting enough,
was one where they did have anexemption if you leased it as a
whole thing and food foodprovided at the workplace,
(27:46):
consumed on site at theworkplace, was considered an
exemption because it wasobviously a necessity for people
to be able to eat.
And so there was this idea that, like we could build a system
and integrate with the HR andpayroll systems and integrate
with local cafes and restaurants, and then they would deliver
the food and we would integratethe HR to deduct it off their
pre-tax salary.
And the company would like thisbecause it's like a benefit to
(28:08):
their staff.
They can offer them, like a,you know, effectively cheaper
meals because they're not payingtax on the cost of their food,
and the caterers like it becausethey get more customers and
staff like it because they getaccess to hopefully healthy food
.
We have to queue up.
This was in 2005.
So this was like a decadebefore menu log or Uber Eats or
anything.
But we built a system and it wasworking really well.
We managed to sign up a coupleof really big companies in
(28:29):
Australia as a user and then, ofcourse, just as we were about
to go live with like our nextbig one, the government changed
the tax legislation and removedthe benefit, and so we were kind
of obviously a bit blindsidedby this.
We were still really small.
I think we had about eight to10 staff by then.
We certainly didn't have anyoneworking as a government
(28:51):
lobbyist.
We didn't know what washappening.
But fortunately we were able topivot because, like about a few
months before that, one of ourcustomers had said really like
using your site, they'd be greatif I could order my children's
food the same way.
And we said, okay, let'sexplore that.
And we had actually justlaunched into a school to do the
(29:13):
same sort of service at schoolsand so when the tax laws
changed, we just focused on theschool's business, because you
know that obviously didn't havethe tax benefit.
It was just about convenience.
And this one is interestingbecause I think I kind of have
to explain that it's a bit of atradition in Australia about the
way children in school gettheir food.
Obviously a lot of parentswould send in lunch with their
(29:34):
kids, but if the food isprovided at school, we never
really had any of this kind ofcafeteria style like you see on
TV in America, people queuing upwith a tray and they get
slopped onto their plate.
That never really took off inAustralia, but they had what
they would call a canteen or atuck shop, which is where you
would write on a.
Parents would write on a paperbag what they wanted the child
(29:54):
to eat.
They would put some cash in thebag.
The child would take the paperbag into school, put it in a
plastic tray, the tuck shop orthe canteen would pull out all
the bags, work out what they hadto make, make all of the food
exactly to order, put it back inthe paper bags, take the cash
out, put the change in and thenput it back in the plastic tubs,
which would be sent back out tothe classrooms.
(30:15):
I have no idea how this started,to be honest, but this idea
actually really well suited tobecoming an online digital
service and so we're able totake credit card payments from
the parents.
The schools could save a lot oftime and energy working out
what they had to make in themorning, because they'd spend an
hour just tallying up the bagsand then we would just print out
(30:36):
a stream of labels that theycould stick on bags, and they
used to find they would not getpaid enough because parents were
going off last year's menu andthe price had gone up, but they
didn't know and they couldn'tleave the kid go hungry.
So you know they weren't alwaysmaking money and a lot of these
things.
They weren't really commercialthings.
A lot of them were run byparent volunteers.
They just, like parents, wouldsay, oh yeah, we want to make
sure kids have healthy food atschool, so we'll, you know,
(30:58):
someone would organize it andthen parents would volunteer a
day a week or a couple of days aterm to go in and help make
this food.
So basically, we digitized thiswhole sort of Australian
institution, which was fun, butnot really globally.
It wasn't right for globalexpansion, because I don't think
there's any other country inthe world that provides food to
(31:20):
children in the same way.
But in building this we wereable to then become like, I
guess, transactions, like apayments platform for the school
and we started selling schooluniforms and tickets to school
fairs and events and things andjust became like the place where
you would buy stuff that washappening at school.
And, yeah, it went really well.
Like I think that latest countI can't remember there's close
(31:42):
to 2000 Australian schools usingit and millions of parents and
kids have come through it.
We've now got people that havehad access to our service, their
entire school in career andeven people that have worked for
us now, who had access to ourservice when they were at school
.
So it's been around for, yeah,it was there for a long time and
(32:03):
it's still going really well.
And, yeah, I'm still looselyinvolved with that business, so
keep an eye on it.
But yeah, it's a whole new teamand they're on their own
modernization journey trying toimprove the rubbish code I wrote
18 years ago.
Tim Bourguignon (32:17):
Is there still
some line of code that you wrote
back in the code?
Chris Simon (32:21):
Yeah, yeah, there's
quite a lot.
What technology did you pick?
Back then we went with NET, soit'sNET 1.1.
And yeah, it's really back inthe day.
We probably like it was 1.1 asit was being released.
It was the.
I think we might even even thefirst prototype might have been
1.0.
So, yeah, aspnet, classic webforms, asmx web services,
(32:45):
classic WinForms, applicationfor running in the canteen, for
printing labels and things, soreally old school.
But you know, we got it going,it worked and it scaled
eventually.
We could spend a long timetalking about the scaling
journey.
That was because, you know, Ihad no idea what I was doing.
(33:05):
Like, you know, I knew how towrite code and I'd written a
couple of systems and stuff, soI was building this thing.
I didn't know anything aboutuser experience.
So, you know, luckily we wereable to engage some advisors to
help with that and graphicdesign and stuff.
But it was really the scalingissue was the biggest challenge
for us because once it gotpopular, I think our first
version was running on like awhat we used to call a shared
hosting environment.
(33:26):
So you would, you know, sign upand you would get a database
and you could upload your DLLsand then we'd just run in an
environment, no visibility ofhow much CPU or RAM was there,
or even if our restartingprocesses or whatever.
So you know, sort of learnabout that over time and
eventually got big enough thatwe need more reliability.
So we got like a, a virtualmachine which you know even in
(33:47):
2007 or 2008,.
You still had to put in anorder form, like a fax and order
form, to get virtual machineprovisioned.
And it took four weeks to getthe virtual machine provisioned
and then I got a login and couldremotely connect to this thing.
And then the other next coupleof years we just get added,
adding virtual machines.
We changed providers a fewtimes and then Amazon appeared
and I was like, oh, we need that, because the thing about this
(34:09):
business was all the parentswere putting their orders in at
seven or 30 in the morning, soit was like huge scale up in the
morning and then nothing therest of the day.
And so we were by think, by thetime we got to Amazon we had
like eight really large, for thetime, virtual machines which
was costing us a bomb, and itwas like they're not being
utilized 90, 95% of the time.
(34:30):
So it was like a poster childfor AWS scaling groups, and so,
as soon as Amazon arrived inAustralia, we jumped straight
into it and I ended up actuallyspeaking at Amazon summit in
Sydney in 2014,.
I think about our migrationjourney and because it was just
like you know, you look at thegraph and it's like every in the
(34:50):
morning it just spikes upmassively and it's flat the rest
of the day.
And then we had this otherinteresting trend which was like
Monday, tuesday, wednesday,thursday, thursday, wednesday
we're at the same Thursday was abit high and then Friday was
double the rest of the week.
So we just assumed it wasbecause the parents had run out
of food they hadn't, you know,like at home, because you didn't
have to use this service everyday.
Some people use it once a year,some people use it once a week,
(35:12):
some people use it every dayand yeah, so we had this sort of
all these hypotheses around whyFriday is so big.
But it's kind of like this.
The other one was the throughthe week, if you will behave,
you'll get a treat.
On Friday, you get a lunchorder treat.
We just saw these likeparenting styles playing out in
our data, but yeah, so that waskind of the.
(35:33):
That was that journey.
And yet scaling was a reallyinteresting part of it and, like
, I think, connecting the dotswith what you were talking about
earlier about owning the fullstack, that was, I think, a
really formative period for me,because not only did you have to
learn all about hosting andinfrastructure and then cloud,
when it came along, I think itwas probably six years before we
hired another developer, so itwas only you for me and my
(35:58):
friends and my friend had doneelectric engineering as well and
he took on the CEO role and wasmostly focused on business
development and sales, but hedid spend some of his time in
the code.
He actually wrote some of thesoftware that actually ran out
in the canteens for printing thelabels and stuff, but I sort of
primarily owned the back endand the website and everything
and the scalability of it.
But yeah, it was.
(36:18):
It was, I think, 2011 before wehired our first person, and
that was like a graduatestraight out of the uni because
it was all we would have thought.
So, yeah, it was reallyinteresting.
But then you know, by that timethe business has started to take
off and, you know, over thenext couple of years, we're able
to grow the team, and that wasthat was a whole another sort of
series of lessons to learnabout how to manage people, how
(36:39):
to help them understand the codeI had written, help them be
effective and productive in it.
And you know, I thinkthematically this connects back
to everything we're talkingabout.
Like you write code for otherpeople to understand, you write
code to connect with yourstakeholders, and so the
stakeholder part was really easyfor me because I was a co
founder.
I was out there doing sales, Iwas like doing cold calls, I was
(37:03):
doing customer support, so Ialways felt really connected to
our customers.
But it took me a lot more, Ithink, to learn about how to
write code, how does thearchitect systems, how to run a
team so that the team can workeffectively together, and
honestly, I didn't get it rightthe first time.
Tim Bourguignon (37:21):
It was
challenging, yeah, and is this
what sparked the?
The job that you're doing rightnow as a CCO coach, helping
people?
Chris Simon (37:30):
Yeah, definitely,
definitely.
Because because that I mean, wesort of got to, I guess, the
midpoint of that era, about2015,.
We had an opportunity to launchanother product and it came off
the back of the success of thefirst one.
Some of our partners in bankinghad seen what we were doing.
They said, oh there's thisspace that you might want to get
into it.
It's different but similar inthat it's a transaction platform
(37:51):
in a contained environment.
For insurance and particularlyin Australia, there was big
changes around the way they werefunding people with a
disability to receive thatservices and supports that they
needed.
And people were sort of sayingto us oh, it looks like the
payments and ordering andtransaction management in this
space is going to need somesupport.
So we launched a startup towork on that and this is a very
(38:13):
different experience because Ihad the experience of the first
one.
This new one was pretty wellfunded.
We were able to sort of recruita team from the start, and so I
paid a lot more attention fromthe beginning to making sure the
code was like make sure thedesign and the code and
everything was fit for purposefor a team to work on.
We were straight into the cloud, because we already had that
and then it became more of achallenge of scaling up then to
(38:35):
like multiple teams and dealingwith government agencies and
compliance regimes and being aproper CTO, I suppose.
So, yeah, I guess that is thejourney both the first phase but
also the second phase hasreally made me think I want to
be the support that I would havereally values through that
(38:57):
journey and while it was a, Ithink someone a unique journey,
because these days a lot ofstartups they just start, either
they go straight out and getventure capital funding or
something, so they hire a teamstraight away, or if they're
bootstrapped and they've justgot one person working there,
they're kind of like I wasn'tthere, bit isolated.
I think that's probably thething I look back on and go.
What do I wish I had doneearlier?
(39:18):
It's engage with the community.
I was so just buried in my workand like head into what we were
doing.
I didn't really look up andlook around at the world and the
fact that there's a broadcommunity of developers and
software people that aresupporting each other and
sharing ideas and better ways ofworking, and it took me a long
time to connect with that and Iwish I'd done it sooner, because
it would have been reallyhelpful.
Tim Bourguignon (39:39):
I mean, do that
?
I discovered the community ispretty late as well.
Five years in after my firstjob.
It would have been so helpfulat the beginning really to get
this, this.
How do you call that beingbeing?
(40:00):
I have a word in German whenyou're exposed, when you're
exposed to a lot of things thatyou don't expect and I don't
know you don't know that yet andyou don't know that you're
going to need that, but you getan early exposure to stuff and
then it starts making its wayinto your mind and that's what
(40:23):
the community is.
The first thing I realized whyI needed community was that, and
then the connections and reallyhaving people around,
like-minded people or sometimesdifferent-minded people, to just
put it what you say.
It would have been good earlier.
Chris Simon (40:38):
Yeah 100%.
Tim Bourguignon (40:42):
I would like to
come back to one thing.
That that's the piece where Iusually ask for advice.
And I want to come back to onething the moment when you
decided you said you're yourfriend.
Back then, say, hey, I quit myjob, I know I'm going at it,
it's, it's good, and it saidwell, it took a couple months
for you to figure out okay, Ineed to move on in my life.
(41:02):
How did you discovered, how didyou realize this was the time
you need to make it, even if abig jump in your life?
What was the thinking?
Chris Simon (41:13):
process there.
Yeah, it's a tough one toanswer, partly because it's a
long time ago.
Look, I mean, I think I sort ofI'm going to answer this
question actually with relationto two points in my career,
because one was that decision tojoin the startup and then the
other was another really toughdecision, which was the decision
to leave the startup.
Because, you know, I've beenthere for such a long time and I
(41:37):
was like an institution and Ifelt really connected to it.
But I realized I needed to dosomething more.
And I think, actually, as Ireflect on it, the journey I
went through in the decisionmaking was kind of similar in
both cases.
And you know, and in both casesit was hard for me to recognize
, like, what I needed as opposedto what the business needed
from me.
I sort of always felt thisstrong saying I need to be loyal
(41:58):
or I need to.
You know other people need me.
You know there's always thissense of like I have to do what
other people need from me andit's been really hard in my life
to sort of prioritize, actually, you know, what's important for
me or what I need.
And in both cases I think we'retimes where I sort of realized,
or let myself realize.
Actually this is something Ireally want to do, this is, you
know, something that's going tobe important for me and I'm
(42:19):
allowed to do it.
So yeah, it was.
It was interesting.
I think in the first one it wasmore obvious because I was so
unhappy in that environment,like I loved the people, the
people were great, I love mycolleagues, but it was the work
was not rewarding.
There was too longer gap for mebetween idea and outcome, and
then there was so littleautonomy, so little sort of self
(42:41):
direction, that I just feltreally stifled.
And so the startup obviouslywas completely the opposite.
There's always too muchautonomy like complete lack of
direction and guidance.
But the second decision was abit different, because I love
the environment, I love peopleas well.
I had a lot of autonomy andfreedom, but what I was missing
was that connection withcommunity that we were just
(43:02):
talking about, and I had startedto become connected a little
bit.
I did some talks and somemeetups and got to know a few
people in the industry, but Irealized that I'd only seen the
one company you know for most ofmy career and I wanted to see
how other companies were working, how they were doing, how they
were tackling the problems wewere tackling, and I thought I
don't really want to just go andget a job Like I've been
working for I wasn't reallyworking for myself, I think,
(43:24):
even though I was a co-founder.
Eventually we got investors andonce you have investors, even
when you're a co-founder, youdon't work for yourself, you
work for your investors.
This is the reality of it andyou know so.
I worked for my co-foundersthey worked for me, I suppose,
but we worked for each other,but we worked for the investors.
You didn't really feel like youwere on your own for a long
time and I didn't want to gojust and just get a job at that
(43:46):
time.
I think now, actually havingdone this consulting work for a
couple of years, I kind of findmyself pondering you know, maybe
, maybe I should do that, likemaybe that would be an
interesting.
It's like I haven't done a piein a ton of people I don't think
I've actually had an interviewin almost my since that first
job I took because straight outof university I went into an
(44:08):
interview to get that job.
They already knew me becauseI'd done the placement through
the scholarship and then we justlaunched the startup.
So I suppose you could saygetting to know my friend and
his brother was kind of a quasiinterview, and now that I'm a
consultant, I suppose every timeI'm selling my services is kind
of an interview.
But it doesn't feel like that.
You know, when you go throughthe interview process for a job
like that's not Anyway.
(44:29):
So I'm getting a bit distracted.
But what I was thinking about islike so I took that company
from you know, the very earlydays as a CTO through to you
know 100 to I think it was like120 and 30 people at the point I
was leaving and I realized,like I've never gone past, that
there's a lot of problems andchallenges facing businesses
that are much bigger than that.
(44:50):
And you know, I think I canhave a glimpse or a sense of
what it would have been like toscale beyond that point and a
lot of things that I learnedthrough that journey I think are
still relevant.
I've never actually taken abusiness through that.
I think it'll be an interestingchallenge to rejoin a company
that's already at that point andtake them on the next phase of
growth.
So it's something I can seemyself doing in a couple of
years.
But right now I'm enjoying toomuch, you know just engaging
(45:11):
with lots of different clients,coaching people, doing open
source work, speaking inconferences.
It's just too much fun.
So it'll be a while before I dothat.
Tim Bourguignon (45:18):
Then surf that
wave as long as you can until
you feel that you need to dosomething else.
Chris Simon (45:24):
And exactly.
Tim Bourguignon (45:26):
Chris,
fantastic.
Thank you so much for sharingyour story with us.
My pleasure.
Thanks for having me.
Where could people find youonline and start a discussion
with you or continue thisdiscussion with you?
Chris Simon (45:36):
Yeah, so my website
is chrisseimanau and I'm
actually in the process ofrevamping that, so hopefully
soon it'll look a lot nicer.
It's got links to all thesocials and things I'm on
mastodon and LinkedIn.
I still have a Twitter presencebut I'm gradually winding that
down and yeah, so that's placesI'm.
I do try and get over to Europeonce or twice a year to speak
(45:59):
at conferences and connect withthe community over here.
I'm really connecting stronglywith the demand driven design
community here through thingslike D2E Europe and Kandinsky,
and I'm actually over here inPortugal at the moment speaking
at NDC.
I think by the time this goeslive I'll be back in Australia.
So yeah, if you're in Europe,check me out on the socials, and
I think I'll be back in Europenext May May 24, to try and
(46:22):
speak at a few conferences.
So yeah, hopefully we canconnect in person then,
otherwise online you have heardthat, chris, thank you so much
Thank you.
Tim Bourguignon (46:32):
And this has
been another episode of their
post journey.
I will see each other next week.
Bye, bye.
Thanks a lot for tuning in.
I hope you have enjoyed thisweek's episode.
If you like the show, pleaseshare, rate and review.
It helps more listenersdiscover those stories.
You can find the links to allthe platforms the show appears
(46:54):
on on our website devjourneyinfo.
Subscribe.
Talk to you soon.