How I learned to embrace the unknown and manage a team without direct experience

Posted Leave a commentPosted in Management, Software Development, Technology

When I began managing teams, I started with the team I developed software on. This meant that I knew the domain well, and was intimately familiar with the actual software and systems. Later, I moved to a team where I had limited experience with the actual code, but it still supported my old team and used a similar stack, so I was able to adapt quickly and understand it well. Recently, I jumped to a […]

No longer open for business – Why it’s time for the open office to die

Posted Leave a commentPosted in Management, Software Development, Technology

Since I graduated from college in 2007, actually even before that during my internships, I had only ever worked in an open office with varying styles of cubes. But in moving to Amazon NYC, I switched to an office with actual rooms. My team isn’t jammed into a row of trading style benches. It’s spread out across three team rooms with actual walls, windows, and doors. And having this has completely changed how I work. […]

The day I gave up on Continuous Deployments

Posted Leave a commentPosted in Management, Software Development, Technology

I’m a huge proponent of Continuous Integration and Deployments. I believe that the fast feedback cycle these processes enable is hugely beneficial to a software development team, and allows teams to get beneficial features out to customers faster. However, it is far from a silver bullet, and there are many steps teams need to take before they can be successful in leveraging Continuous Deployments. This is the story of how I learned this lesson the […]

Move fast and break things or slow as you go?

Posted Leave a commentPosted in Management, Software Development, Technology

Should a new team focus on moving as fast as possible to get features out to their customers or start with the best practices and processes they know they’ll eventually need? Is it better to move fast and learn from users through a short feedback loop? If so, is a team doomed to suffer poor architectural decisions and accumulate massive tech debt until eventually someone decides to stop features and blow up the system? While […]

The 10 best books I read recently for making me a better leader

Posted Leave a commentPosted in Books, Management, Technology

Last year I made a resolution to read more non-fiction and seek out books to expand my knowledge for business and leadership. Ready with my library card, Kindle, and of course Audible account, I read an astonishing 80 books in 2018. Many of them focused on business and leadership. I wanted to share some of my favorites from the year here. Some of the best books I read and the ones that stuck with me […]

5 Reasons Hiring Managers Need to be Recruiters Too

Posted Leave a commentPosted in Equality, Management, Technology

It’s no secret that the engineering industry is hyper-competitive. Finding and attracting the best talent is difficult, but a critical part of any manager’s overall success. Yet, I see far too many managers sit back and rely entirely on their recruiting team to build the hiring pipeline for them. To build the best team possible, hiring managers need to play an active role in building the recruiting pipeline, not just sit in the interview. An […]

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 […]

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 […]