Management isn’t just people engineering

Posted Leave a commentPosted in Management, Software Development, Technology

I recently read a blog post from, as is often the source of somewhat polarizing ideas in software engineering, and engineer on medium who argued that management was simply “human engineering”, after several years as both a software engineer and a manager, I can see some similarities, but certainly can’t agree. There’s so much more than just fine tuning processes and treating people and relationships than systems in management and I find this idea far […]

How I run my blog on AWS

Posted Leave a commentPosted in Software Development, Technology

One of the reasons it took me so long to actually start this blog – besides having the time to actually write for it – was that setting up a web server and keeping it up and running seemed like such an ordeal. I remember setting up a tomcat server back in college with a static IP that was an absolute nightmare. Thankfully, I discovered Amazon Web Services and realized how easy it can be to run […]

The 7 most important aspects of my Manager README

Posted Leave a commentPosted in Management, Software Development, Technology

A little while ago, I began managing a new team with a bunch of new team members reporting in to me. In order to help get them to know me better and understand the way I work, I decided to write a manager README. Inspired by some great engineering leadership READMEs I found online, I noted down my own values, priorities, and way of doing things so that my new team could quickly get a […]

The five mistakes I see teams new to Chaos Engineering make

Posted Leave a commentPosted in Management, Software Development, Technology

Chaos Engineering is taking over the world. Chaos Engineering provides a valuable framework and methodology to help teams better understand their complex systems and the behavior of them during real world events. It strives to help improve user experiences by validating assumptions about resiliency and detecting failures in systems before users experience these problems during a real issue. I love showing teams how to begin instituting Chaos Engineering in their organizations, but I tend to […]

Extreme Experimentation – How to minimize the feedback loop and deliver software constantly

Posted Leave a commentPosted in Management, Software Development, Technology

In order to outpace competitors, technology companies need to move faster in delivering features of value to their customers. Those who hit the market first often emerge as winners due to networking and first mover effects. While some companies can beat others with similar features based on size along, notably Instagram and Facebook, most companies need to maximize delivery speed to win. Methodologies like Agile or Extreme Programming seek to reduce development cycles with the […]

I am a force of Chaos: Why I practice Chaos Engineering to improve user experiences

Posted Leave a commentPosted in Software Development, Technology

As systems grow in size, they inherently grow in complexity. As complexity increases, systems eventually reach a point where no single individual can reasonably understand the entirety. At this point, when the interactions between components are unpredictable, the system becomes chaotic. This chaos can manifest in many ways including unintended retry storms, broken and degraded experiences for users, and often, cascading failures of an entire system. Rather than letting users discover this chaos, Chaos Engineering […]

Questions my mentees ask me

Posted Leave a commentPosted in Management, Software Development

I’ve been mentoring a few people who are interested in moving from an individual contributor to becoming a manager and they tend to have similar questions. Switching from working on individual work to managing a team is a massive transition, and one most companies don’t quite know how to manage. These people tend to be excellent performers at the individual level and are looking for new opportunities to grow and try something new, but the […]

Can Blockchain get kids to do their chores?

Posted Leave a commentPosted in Parenting, Software Development, Technology

Everyone is talking about Blockchain. As the technology that powers Bitcoin and other cryptocurrencies, the idea of a decentralized distributed secure ledger has struck a chord with those in a wide variety of industries. The secure and distributed nature of blockchain is being explored for usages in payments, legal contracts, and even health care. Chances are your bank is already dabbling in the technology. But the hardest challenge for blockchain yet might be getting kids […]

Sending AWS Cloudwatch Alarms to Amazon Chime

Posted Leave a commentPosted in Software Development, Technology

If you love Amazon Chime, and who doesn’t, you’ve probably already embraced it as a widespread communication platform for your team. Since moving to Chime a few months ago, my team has moved almost all communication onto it. We have a team chat room, rooms for individual projects, rooms for scheduling and coordinating testing, and ones for a variety of on-the-side projects and hobbies. We use it exclusively for scheduled meetings and adhoc conversations especially […]

I’m using Chaos Engineering to monkey with my children

Posted Leave a commentPosted in Family, Parenting, Software Development, Technology

What’s more complex, a large-scale distributed system or a child. For parents, it’s obvious. At least systems tend to behave rationally. However, much like children, large systems are inherently complex. As complexity increases, unforeseen behavior emerges and causes unpredictable results. Sound like a child? Chaos Engineering, a software engineering methodology, aims to understand that complexity through experiments. Chaos Engineering is the practice of utilizing experiments to better understand complex systems by intentionally causing chaos and measuring […]