I’ve learned a lot in the last 15 years of leading teams, architecting solutions and writing code.

I’ve built built mine planning software, military drones, mobile apps, retail analytics, a financial platform and a logistics system. I’ve worked for some of the worlds largest corporations and also for tiny scappy startups. Sometimes I’ve lead large teams and sometimes I’ve built things all on my own. I’ve written production software using a lot of programming languages (JavaScript, C#, Java, Kotlin, Python, C, C++, TypeScript, etc) and am always excited to learn more.

In that time I’ve learned that:

  • High performance teams leverage agile methodologies to rapidly deliver high priority features.
  • Always choose the technology that will make it easiest to deliver real business value, even if it’s not cool.
  • Delivery at pace requires quality: automated testing, CI/CD, modern tooling and well architected solutions.
  • The best products are designed by cross functional teams that care deeply about their customers.
  • A team structure should allow each individual to play to their strengths and let their talents shine.
  • Don’t forget to have some fun, make friends and celebrate wins along the way.

I’ve learned that I enjoy building talented and productve teams that deliver products to make peoples lives better.

I’m excited to be living in a period of time where emerging technologies (cloud, data science, ai, etc) are creating abundant opportunities for people with knowledge and creativity to create massive value by connecting them with business problems.