Microservices at Tyro: An Evolutionary Tale (Presentation)

Featured

In February, I presented a talk at the Sydney Microservices Meetup titled “Microservices at Tyro: An Evolutionary Tale”.

Microservices at Tyro

I wanted to talk mostly about things we’ve been doing with microservices at Tyro Payments over the last year, but also about the almost 10 years of practice with distributed computing that has led us towards what we’re doing today.

I’ve merged my slides and the audio from the talk into a video, which you can watch below. If you’re more the reading type, there’s a transcript from the talk beneath the video. My talk goes for 40 minutes and then there’s 20 minutes of Q&A.

The talk covers:

  • Who is Tyro Payments?
  • Why are we doing Microservices?
  • Tyro’s Architecture History
  • Current development in Microservices
  • Tyro Microservices Practices
  • Asynchronous Communication Strategies
  • Helping Out Ops
  • Microservices Technologies and Patterns
  • Challenges we’ve been having at Tyro
  • Microservices pre-requisites

Continue reading

Marty Cagan on Product Strategy (Summarised)

Has it seemed a bit quiet here? Almost three months ago I did a personal pivot. I took a right turn from a 15+ year career in Software Engineering and managing Software Engineers, and threw my hat in the ring as a Product Manager. So far, so good. I’m loving it. That’s why “that microservices guy” is now authoring a blog about product strategy. The world keeps changing. Get used to it.

That change, though, has resulted in a bit of a dearth of blogs as I’ve hunkered down on learning about the new role and just getting my teeth stuck into it. I also find myself in a position where, rather than being able to write about things that I’ve been doing in anger for years and sharing my hard-won knowledge, I’m back to being a relative noob and sucking up everyone else’s knowledge.

But this blog has never been about “I’m the expert, come and listen to me”. It was always more of a “This is what I’m learning. Feel free to learn along with me” thing. So here we are, together, at the start of my Product Management learning journey. I hope you’ll enjoy the ride!

Product Strategy

L.B. Johnson in a Vietnam situation room. War offensives are often used as an analogy for product strategyI’ve spent the last three months getting on top of the day-to-day of PM: roadmaps, process, research, discovery, proposals, features, engineering, stories, releases, sales, marketing, launches, support, crises. All great stuff. Then earlier this week, someone said to me, “Tell me about Product Strategy”. And my response:

A shocked face, like the one I gave when asked to describe Product Strategy Continue reading

Distributed Transactions: The Icebergs of Microservices

An antarctic iceberg which, much like distributed transactions in microservices, can be hard to see and can wreck your ship.Why are distributed transactions icebergs? It’s not because they’re cool and beautiful and you have to look under the surface to comprehend them.

Distributed transactions are icebergs because (1) it’s easy to not see them, even when they’re right in front of you, and (2) if you run into one, it’s got a great potential to sink your ship. Continue reading

Why Your Resume Sucks & How to Fix It

Shredded paper in a waste bin - where the majority of resumes end up!I’ve seen a lot of software engineers’ resumes over the past few years. And most of them suck. Even the resumes of really good people who we’ve hired have often been very average.

Why is that? I’m going to tell you why, and then I’m going to help you avoid the same mistake. And while my experience is mainly in hiring for IT-related roles, this advice can be used by any job seeker. Continue reading

Subtle Is the Lord: The Science and the Life of Albert Einstein (Book Review)

Subtle Is the Lord: The Science and the Life of Albert EinsteinSubtle Is the Lord: The Science and the Life of Albert Einstein by Abraham Pais
My rating: 2 of 5 stars

Hmmm… well I think this book should have been called:
” The SCIENCE SCIENCE SCIENCE of Albert Einstein (with a tiny bit of context about his life)”

This is a book by a physicist, for physicists. (I am in no way a physicist.) To his credit, the author makes clear in the introduction that the purpose of the book is to cover Einstein’s work, and he even highlights in the contents the (very few) sections in the book which deal with Einstein’s life rather than work.

Despite knowing that, I made an attempt to read through the book hoping to stretch my brain on the topic of physics. Pretty much every page has at least a couple of formulas, which I skipped straight over, and much of the content is discussing either the details of the most recent formula or how it was arrived at and inspired by others. For a layperson, these parts are sometimes very interesting and sometimes unintelligible. The start and end of the chapters usually provided some (scientific) background on the papers and periods of Einstein’s career, and these served to form an interesting history of physics over the late 19th and early 20th centuries.

I did learn a lot of things. I learnt about the old, mistaken concept of an aether. I read the material about special relativity slow enough to grasp most of it and to be able to explain it to others in laymen’s terms. As for general relativity, I understood very little except that Einstein managed to solve the age old riddle of what caused gravity and predicted a few other related phenomena, such as the bending of light around the sun, which were later confirmed to great fanfare. I saw how Einstein worked mostly alone, especially in his early years, having very little knowledge of what else was going on in the world of physics, even re-discovering some phenomena by his own derivation because he wasn’t widely read. I was looking forward to reading about his involvement in the development of the atom bomb, but came to learn that all he did was write a letter urging the US to get to work on it. I saw how theoretical physics is so, so, so coupled with complex mathematics; Einstein in fact teamed up with gifted mathematicians in order to solve some of his biggest challenges. Most surprisingly for me, I learnt that, aside from relativity, Einstein made massive contributions to quantum physics, and that he spent a large part of his career on that issue and on trying to unify it with relativity. And finally, I learnt that, without his make-up on, Charlie Chaplin looks like this.

I struggled my way through to the half way point trying to read every page, but had grown very tired by that point, so I made a resolution to only read pages with no formulae on them and I sped through the rest quite quickly without feeling like I was missing much.

tl;dr – If you’re a physicist, you’ll probably love this book. If you’re not, you probably won’t, but you might learn some interesting stuff by reading it.

View all my reviews

Why “Don’t Use Shared Libraries in Microservices” is Bad Advice

A man licking an ice cream while a dog tries to lick it as well. Reminiscent of the kind of undesirable coupling created by shared libraries in microservices

Sharing isn’t always a good idea.

If you’ve read a bit about microservices, you’ll probably have come across the mantra, “Don’t use shared libraries in microservices.” This is bad advice.

While the sentiment is borne from real issues and there’s real wisdom to be gained in this area, this little statement is too pithy, lacking the relevant context to make it useful. Consequently, it’s open to misinterpretation, in particular to being applied too liberally, and I’ve seen it misunderstood a number of times recently.

What’s the Context for Understanding Shared Libraries in Microservices?

Only recently, I’ve picked up that different people mean different things when they talk about using shared libraries. Continue reading

My Key Takeaways from APIdays Australia 2016

On March 1 & 2, 2016, I attended APIdays Australia in Melbourne. (Actually, I also spoke! I’ll write more about that later.) I’m a chronic note-taker at conferences and I like writing my notes up afterwards both for my own reflection and so I can share them with others. Here are the key platform and API takeaways I’ve pulled out of my notes from #APIdaysAU16.

Innovation

APIdays Australia 2016 welcome poster: "API days - Platforms for Innovation"Innovation has been established as the main driver of economic change.

If people have to fill out an application to innovate, it’s not going to happen.

An innovation model for organisations based on the way ants achieve the colony’s goals:

  1. Powerful central mission with loose structure
  2. Maximise learning and sharing of learning
  3. Constant experimentation
  4. Freedom to look for the next horizon

Elon Musk: “Failure must be an option. If you’re not failing, you’re not experimenting enough.”

People in your organisation who think differently to others may well be key innovators. Don’t shut them out of the organisation.

Building Platforms

“Platform” is chiefly an idea to expose the core of your business in a way that can be used to compose new business ideas more easily, either by your own business or by others.
Continue reading

Are You Being Too Agile?

Man lying under a tree daydreaming about the future. Proabably not what you'd call "too agile"Confession of a Chronic Futurist

I have a confession to make. I used to be a dreamer at work. Worse than that, I used to invest significantly into putting my dreams into motion.

What did that look like? It meant that when I was tasked with building a Model-2 presentation framework for the company I was working for, I bunkered down for over a month and came out with this massive framework that was going to be a solution to the whole world’s problems. It was basically most of what Struts did and some parts of what Spring does, before either of them existed. There were good things in there, and the company used the framework for many years, but I’m sure more than half the code I wrote never got used. I’d latched onto a good idea and run a marathon, but the team really only needed me to walk a mile.

Pragmatic Redemption

Then came the revelation of my software engineering life: agile. Continue reading

Tribal Leadership by Dave Logan et al. (Book Review)

Tribal Leadership:
Leveraging Natural Groups to Build a Thriving Organization
by Dave Logan

My rating: 5 of 5 stars

So, the story goes that our CEO, Jost Stollmann, asked Mike Cannon-Brookes, co-founder & co-CEO of Atlassian and one of Tyro’s board members, something along the lines of…

“If you had to recommend just one book to your leadership team, what would you choose?”

And Mike recommended: Tribal Leadership. I think I can see why.

What’s the book about?

The book is about the results of ten years of research by the authors and how they found that people in organisations form tribes; that each tribe has a prevailing culture; that the cultures can be roughly grouped into five different levels; that the culture of the tribe can be an indicator of organisational success; and that the culture of individuals and of tribes can be “upgraded” through the levels using actions they describe, undertaken by tribal leaders. (Note that it’s not about leaders trying to create tribes in order to succeed – the tribes are a natural phenomenon, and the benefit comes through recognising them and influencing them. It does talk about building and enhancing networks within tribes.)

The book is well-written (i.e. not boring), contains lots of case studies and interviews, has excellent summaries at the end of each chapter (no highlighting necessary!), and it doesn’t just focus on what to do to become “great” – it also covers basket case cultures and how to start progressing people out of there.

What did I like about the book?

The number one thing I like about this book, as a leadership book, is that it pretty quickly gets a thoughtful reader looking not merely at their own actions and what they can do to improve, but also at how the people around them in the organisation are acting and interacting. You start to think about how to improve the company by influencing the culture, not just about how to improve your own output and your team’s output by doing a few things differently.

The main premise of the book is pretty simple to understand and start putting into practise: people’s culture can be detected by the language they use, and also affected by the language those around them use. So, people in Stage 3 tribes (where most corporate cultures are at) are all about personal accomplishment and they’ll say a lot of things that basically translate to “I’m great”. In contrast, people at Stage 4 are all about forming and maintaining good working partnerships with people around them, and their language will come out as “We’re great”.

As soon as I started reading all this, I could see how problems which I’d observed at work were caused by the behaviours detailed in the book. I also started to see problems I hadn’t noticed before, or areas that were about to be problems, based simply on how people were talking to each other or about each other. I recognised in myself some things I’d been doing which were contributing to holding the culture back from where it could be.

The book has many examples of great companies to aspire to, and not just the ones you’re used to reading about. Yes, there’s analysis of raging startup successes like Zappos, but there’s also a lot of time spent describing a hospital that focuses on creating excellent customer experiences.

The book has great advice, much of which is easy to start following, and it changed the way I behave, even as I was reading it.

Should you read it?

If you’re in any kind of leadership position, in any kind of organisation, I highly recommend this book. Maybe it won’t change your world, and you may not have all the influence you would need in order to affect the whole organisation. At the very least it should help you to start seeing the culture around you for what it is, and start to move it forward from the position you’re in.

Buy it on Amazon

View all my reviews

Top 10 Reasons Java Programs Envy Scala (Presentation)

From the archive: Originally posted in October 2011, I was reminded today of this post from my old blog, Graham Hacking Scala. I thought I should bring it over and give it a bit of a refresh…

In October 2011, I presented a talk at the 2nd meeting of the (then) new ScalaSyd Meetup. I talked through the “Top 10 Reasons Java Programs Envy Scala” in an attempt to give Java developers a taste of some little things that could make them much more productive if they switch to Scala.

Interestingly, in almost 4 years, very little has changed. Yes, Java 8 now has lambdas, but the standard collections library still makes very little use of them, forcing you to convert any collection to a stream before lambdas can be used, and pretty much nothing else mentioned in the talk has made its way into Java SE. People are still writing up lists of how to use Java better, but the fact is that a lot of Java best practices are either built into or easier to achieve in Scala.

Anyway, if you want get the real scoop on Java vs Scala and hear what all the Scala kids are raving about:

  1. hit play on the SoundCloud recording below, and then
  2. follow your way through the Prezi below that.

Continue reading

Book Recommendations from Sydney Technology Leaders

Last week I went to the Sydney Technology Leaders’ Meetup, which we hosted in the Tyro Fintech Hub. There was a trio of great talks, and a panel discussion with the speakers at the end.

When asked what they do to help train new leaders, one of the speakers mentioned “throwing a bunch of books at them”. So I took the opportunity to ask the speakers, if they could only recommend one or two books to a new leader, what would each of them recommend. Continue reading