Filed under "Leadership"

I’ve heard it said that when a good leader is faced with something alarming or unexpected—whether overhearing gossip or weighing a difficult decision—they first take a deep breath. They think. They reflect in silence and allow fear and confusion to pass, as they often do with time.

Good leaders remain calm. They avoid the temptation to react, and simply breathe.

Filed under:

If you choose to lead, you must also choose to leave the field.

You must head to the sidelines and encourage your people to claim the victories. Advise offscreen and direct your team towards the goal when they need your help. Cultivate a passionate team, praise their strengths, and coach their weaknesses.

To win as a leader, be of service to those doing the winning.

Filed under: /

A major part of my job is hiring talented software engineers and building productive, happy teams. Here’s what I look for when I interview and evaluate engineers.


Ego will kill your career almost as quickly as punching your boss in the face. I’ve seen arrogant people drag their teams through the mud, and I’ve seen smart people look ignorant because of a stubborn attitude.

I keep an eye out for ego when speaking to candidates. Do they make past successes all about themselves rather than praising their team’s involvement? Do they assume to know everything there is to know about their craft? A good candidate understands that there are always opportunities to learn, and success often comes from the influence of better, smarter peers and leaders.


One of my favorite questions to ask candidates is: what are your core values? It’s a question that doesn’t have a cookie-cutter answer, and requires an honest response to avoid sounding cliché. Most importantly, it’s a clear indicator of selfish vs. selfless.

A candidate who values success and praise will ultimately choose selfish actions to achieve those values, while a candidate who values service and compassion towards others will abandon self to do good for those around them.


I once spoke to a candidate who, when I asked about his process in working with teams, described to me how he routinely goes over the heads of his teammates to get things done. Sometimes, he told me, he’d even go over the heads of his management. As he described it, he hated being wrong; if the team unanimously disagreed with his decision, he’d throw his hands in the air and say, “well, I guess we’ll all just be wrong together.”

This was discouraging to hear.

A great candidate understands that the strength of a team comes from mutual respect and collaboration among all involved. A member who thinks themselves better than the collective team represents a weakness for the group, and a team is only as strong as their weakest member.

People focus

Great products aren’t about the people creating them; they’re about the users who adopt them. A great engineer understands this, and places the users’ wants above their own. I look for candidates who are empathetic towards people from all walks of life and have an open mind to different points of view. When they successfully adopt this mindset, they’re better able to provide what users crave the most—genuine service.


It’s not just about being skilled at your craft—that’s certainly important—but I believe competence is shown in three key behaviors:

  1. Showing up on time when it’s time to show up
  2. Delivering what’s due when it’s due, and
  3. Delivering quality work at every opportunity

To me, this describes the “pros” that I’ve encountered and had the pleasure of working with in my career; I love hiring these people.

So if you’re a competent, humble, empathetic collaborator with a heart of gold, let’s work together.

Filed under: /

April 13, 2017

Process vs. People

People come first.

When working with a team, you can either have a flawless process or a happy team.

Processes can be perfected, but this requires you to discourage failure and limit improvisation.

But people are at their best when they feel autonomous and can stretch beyond process. Failure leads to learning. Improvisation leads to fresh insights.

Don’t sacrifice people for process.

Filed under: /

March 23, 2017

Win the People

I work with dozens of brilliant designers, engineers, and leaders. From time to time, I seek out those people for help, which could include anything from a modification to a deliverable to simply a few moments of their time. As I’ve learned throughout my years, there’s an approach that’s needed if I hope to come away from those interactions with a positive and mutually beneficial outcome.

Before you can get the best out of people, you must first win their trust and loyalty. Building contentious relationships and hoping for a productive outcome from those relationships is futile. I’ve seen projects collapse due to lack of trust among a team. I’ve seen managers lose quality people by betraying their trust.

To win an outcome, you need to win over people first.

Filed under: /

As a manager, having difficult conversations comes with the territory. I’ve worked with others on difficult career transitions, delivered disappointing news, and addressed concerns over under-performance. It’s never simple, but I’ve found that it doesn’t have to be difficult.

As a quick tip if you find yourself in need of having a difficult conversation, don’t “prime” the topic with the person you’re speaking with.

In other words, don’t start with comments like, “this is going to be difficult,” or “I don’t want to be a jerk, but…”. Comments such as these only serve to tighten up the other person’s defenses before you’ve even started the conversation. If it begins with defensiveness, it’s incredibly difficult to lower those defenses.

In my view, “priming” difficult conversations is a defense mechanism. Perhaps we want the other person to empathize with the difficult position we’re in, but that’s rarely the result of “priming”. When I’ve been on the receiving end of those tough talks and the speaker “primed” the conversation, I could tell he was uncomfortable, which made me uncomfortable as well. I was immediately on edge, ready to defend myself against whatever “jerk” things he was about to tell me.

Instead, keep your initial comments brief, and dive into speaking directly and clearly. Don’t give into discomfort or nerves. Deliver your remarks with honesty, ensure the other person understands what you’re saying, and move on.

Filed under: /

I’ve been managing a team of software engineers for 7 months. Here’s what I’ve learned so far.

Let go of some control. As an individual contributor, I was encouraged to exert control over the projects I built. As a manager, striving for that same level of control can damage team dynamics and come across as micro-management.

Exercise restraint. I’ve found it helpful to not inject myself into decisions or problems where others are better suited to the task. Let others have their shining moments and victories.

Vulnerability builds trust. A lesson from Brené Brown. Admitting your mistakes to your team is rarely frowned upon.

Praise is potent. My team members are important, and I’ve found it effective to make sure they know this and are reminded regularly.

Communicate more. When I’m not communicating effectively with my team, they notice. It’s up to me to make sure they have what they need to do their jobs and understand the vision of the company.

Delivery is crucial. When giving feedback, word choice is imperative. Receiving bad news doesn’t have to be a bad experience.

Be approachable. I can’t expect my team members to approach me with delicate topics if I’m viewed as unpredictable or judgmental. Friendliness and empathy are fluffy words that work.

Ego is the enemy. As your responsibility and status increases, so too must your humility. Becoming a leader is a call to greater service.

Professionalism is key. Set a standard and stick to it. Everyone has a unique communication style; your inappropriate jokes or foul mouth will lose some well-meaning people, but a professional demeanor is suitable in every occasion.

Keep your cool. If you lose your cool, you become ineffective. Treat both good and bad events with equal stride.

Put your team first. I have to daily get over myself. It’s not about me. I was placed in a management role not for my own glorification, but for the glorification of those I serve.

Filed under: /

January 27, 2017

Real leadership

Real leadership isn’t an opportunity to dictate; it’s a call to greater service. It’s grounded in humility. It doesn’t self-serve; it builds others up, and understands that vulnerability is as equally important as strength. It shows kindness to the lesser, and respect to the greater.

Real leadership doesn’t complain; it asks how we can improve, together. It listens, it empathizes. It resists ego, and recognizes good work. It breeds optimism. It empowers people and gives them a voice.

Real leadership endures, bleeds, and sacrifices for those it serves. It speaks truth, and never sinks to falsehood, no matter the cost. It accepts defeat; it accepts victory in stride.

Real leadership, above all, is grounded in wisdom.

Filed under: /

Yesterday, I shared a room with some brilliant leaders and discussed approaches to better communication. Here’s what I came away with.

Developing a rapport with those you regularly communicate with ensures that your viewpoints will be more readily accepted.

The best way to build trust with others is through being vulnerable. Show humility, admit mistakes, and be human.

Context is crucial. Make sure both you and the person you’re speaking with have the necessary context to understand each other’s viewpoint; don’t make assumptions.

People respond well to positive encouragement. Take advantage of opportunities to compliment good work.

When crafting emails, be mindful of others’ time and embrace brevity.

Make sure difficult conversations are had verbally rather than hiding behind email or other digital communication methods.

If you manage a team, regular one-on-one meetings with your team members goes a long way towards team health and trust.

And finally,

Shut the f*** up and listen.

Filed under: /

Lesson 1. Don’t panic; even if the whole world is falling down around you, servers are crashing, the power is out, and you’re locked out of the room that holds the master switch. Don’t lose your cool. When you’re calm, you’ll make other people calm.

Lesson 2. Don’t say “let’s chat” without also, in the same sentence, hinting at what you want to chat about.

Lesson 3. Be kind to those you work with, but it’s even more important to be kind to those you don’t work with.

Lesson 4. Encourage your team to communicate with you frequently, but it’s more important that you communicate with them frequently.

Lesson 5. Chastising team members in front of the rest of the team will land you on the “worst bosses” list.

Lesson 6. If you closely examine good leaders, you’ll find a potent mix of humility and confidence.

Lesson 7. Don’t harp on past mistakes. Instead of “why did you do that?”, try “how can we improve that?”

Lesson 8. Don’t dictate; serve.

Lesson 9. Meet with your team members in a one on one setting regularly. This is incredibly beneficial to team health. In those meetings, spend more time listening than talking.

Lesson 10. Your team members are quite often smarter than you. This is a good thing, and you should make sure they know this.

Lesson 11. Tell people when they’re doing good work, and tell them frequently.

Lesson 12. Let your team members know that they’re important.

Lesson 13. Patterns of bad performance reflect more on your leadership and communication than on the person; it’s rare that people truly just don’t care.

Lesson 14. You don’t necessarily have to be friends with those you lead, but you should take genuine interest in them and be easy to get along with.

Lesson 15. You should approach hostility with calmness. Remain present, and respond with firmness and control.

Lesson 16. Ego is the enemy. It’s a hard-fought battle you must win everyday.

Lesson 17. Produce quality in your work, no matter how small the task.

Lesson 18. Trust your people.

Lesson 19. Be damn good to those you serve.

Filed under: