Distributed Systems are not Consistent Systems

Consistency is one of the most challenging aspects of building and designing Distributed Systems. This presentation discusses why that challenge exists and explores ways open-source systems have addressed it.

Developing Oneself

As Engineers we are always developing software and systems, but how do we develop ourselves? How do we improve and get better at what we do.

Software Testing - We are all doing it wrong

Software Testing is critical to our ability to deliver fast, quality products. But many of us are doing a bad job at it. Either we have gaps in the name of speed, or we have a horrible testing experience. This presentation looks at how we can make it better.

Feature Toggles - Observations from the Real World

This talk shares some of my observations from using Feature Toggles in production. It covers the various types of toggles and how they can be used to enable you to deliver products faster and more consistently.

Logging for High Performance Applications

This talk explores balancing the right level of logging with the performance degradation taken by logging too much. It covers why logging impacts performance and what you can do to reduce the overhead from logging.

Signal Traps

This talk digs deep into what signals are and how they can be used in modern infrastructure. You will learn how a simple thing like signals can provide greater redundancy within your applications with this talk.

Structuring Go Packages

This talk outlines best practices for structuring Go packages. These are practices I've crafted while writing both open source and enterprise applications. This is one of my more popular talks, you can buy an offline copy here.