General Articles

Why Take-Home Assessments Are Better

Let's face it: traditional technical interviews like leetcode-style challenges can feel disconnected from real-world software development. They often focus more on memorization of algorithms than on the practical, collaborative skills engineers use every day.

Read more
Leveling Up for System Design Interviews
Leveling Up for System Design Interviews

As I've navigated the tech leadership job market, I've encountered an unexpected emphasis on system design interviews. These interviews have proven to be both challenging and enlightening, pushing me to develop a more structured approach to solving complex architectural problems. Here's what I've learned along the way.

Read more
Principles for Leading Remote Teams

I've learned a few hard earned lessons about what works for distributed teams and what doesn't. They've started to form foundational principles I use to help ensure my teams have the best opportunity to navigate collaborating and working remotely.

Read more
Crafting Team Roles Through Analogy

Whenever I'm presented with a complex problem my brain immediately tries to generate a mental model to classify and categorize the component parts and help understand the cohesive whole. My favorite approach is using analogy to abstract away hyper-specialized terms or ideas in favor of representing them with generic replacements.

Read more
Splitting Teams Gone Wrong

Congratulations! Your engineering team has grown to the point where they must take on more engineers to simply keep up with maintenance demand, let alone tackling the tsunami of new features being requested. Each new team member adds additional overhead, communication becomes harder, and you have to find a way to make things more efficient.

Read more