Blog

You can find my latest AI engineering articles on Substack, leadership on LeadDev, or browse my topic guides and personal blog posts below.

Personal Blog

Effective Code Reviews

Effective Code Reviews

A well-conducted code review is an opportunity for both the author and the reviewer to learn, share knowledge, and contribute to the overall quality of the software. They are ou...

Don't expect to be motivated everyday

Don't expect to be motivated everyday

“Don’t expect to be motivated everyday to get out there and make things happen. You won’t be. Don’t count on motivation. Count on Discipline.” - Jocko Willink

Unhealthy conflict vs. healthy conflict

Unhealthy conflict vs. healthy conflict

Conflict is an inevitable part of life. Be it within a family, between friends, or in a workplace, disagreements and differences in perspective will always arise. However, confl...

Running inclusive meetings

Running inclusive meetings

Inclusive meetings can help surface multiple perspectives and ideas, which can lead to better decision making and problem solving.

Effective Learning with Bloom's Taxonomy

Effective Learning with Bloom's Taxonomy

Write about what you learn. It pushes you to understand topics better. Sometimes the gaps in our knowledge only become clear when explaining things to others. Blooms Taxonomy ca...

First Principles for Software Engineers

First Principles for Software Engineers

First principles thinking can be helpful for solving complex problems because it allows you to break down a problem into its core elements and then systematically build up a sol...

A coach, a mentor and a sponsor

A coach, a mentor and a sponsor

A coach talks to you, a mentor talks with you, and a sponsor talks about you. Each can play a valuable role in your career growth.

Debugging Tactics

Debugging Tactics

Debugging is the process of finding and fixing problems in software so that it functions as intended

Managing Complex Change

Managing Complex Change

The Managing Complex Change model by Dr. Mary Lippitt is an effective framework that can be used in any organization to initiate change

Software Engineering - The Soft Parts

Software Engineering - The Soft Parts

Today I will share some of the software engineering soft skills I have learned from my first 10 years on Google Chrome, where I am a Senior Staff Engineering Manager

Substack

LeadDev

Managing the chaos of context switching

It's time to examine the good, the bad, and the very ugly elements of context switching. Even better, we'll take a look at some strategies for managing it.

What makes an effective software engineer?

Being a good software engineer is not necessarily the same as being an effective one. Here, Google's Addy Osmani identifies the ten key traits of effective software engineers.