This is my Manager README. It is intended to introduce who I am, what I do, my values, and some expectations on working together. It is not a replacement for actually getting to know each other. The intended audience are primarily engineers that work with me, but I hope others find it valuable.
There are two reasons for this document:
- Help me identify and refine my thoughts and values.
- Help you understand me better and help us work together.
This document and I are a work in progress.
- I’m married to my wife Sakiba.
- I was born in Bosnia and lived in Germany. Before moving to Nashville I lived in Kentucky.
- I enjoy travelling.
- I enjoy spending time with family and friends.
- I like sports. Watching and playing. Soccer is my favorite.
- I’m passionate about software.
- I’m interested in learning about you, and sharing more about me.
- Hire, develop, and retain top engineering talent.
- Build effective teams.
- Help teams win by providing context, coaching, and removing roadblocks.
- Contribute hands-on to our products.
- I believe that code has real value if it’s in production and helps people. While both of the below are very important, the first is more important.
- Build the right thing
- Build the thing right
- Talent is important. But it is not enough. Hard work and grit is critical to success in anything you do in life.
- I have a bias toward action. That doesn’t mean we shouldn’t plan and think things through before jumping in. It does mean that after a (short) while we should commit to a direction and act on it with a lot of intensity.
- I believe in lean startup principles and lightweight processes. If we hire and develop talented and responsible people we only need a minimal amount of process.
- Teams and individuals should continuously strive to get better. I believe in the saying “If you’re not getting better, you’re getting worse.”
Nothing in my job is more important than being available to you. In addition to the meetings I describe below, you can contact me at any time if you need to talk — in person, call, text, Slack, or email.
- 30 minutes every two weeks.
- These are for you. They are a safe space to talk about anything you want. If you have some topics in mind send me a message beforehand so I can prepare and make the meeting more effective.
- I will be close enough to your work to have informed thoughts.
- Some common topics:
- How are things going for you individually and on your team?
- How can you become an even better engineer? What can I do to help you?
- What could be better on the team? How can I help you make it better?
- Discuss individual goals and progress.
- Give each other constructive and candid feedback. We can use a Green, Orange, and Red scale.
- If you feel there are any problems on the team, even small ones, I like to know early so that we can address them before they become big.
- Specific examples of things that are not going well help us come up with actionable tasks.
- 45 minutes every two weeks.
- This is a chance for me to update you on big picture stuff and cover any topics you want to discuss as a team.
- Have clear and aligned goals. The task you work on should be aligned with your team’s goals. And your team’s goals should be aligned with organizational goals.
- Be transparent about goals, progress, and problems. Over communicate.
- You need talent. Good engineering is hard.
- You need to work hard. Hard work is critical to success in anything you do in life. It is more important than talent. Pursue your goals with intensity.
- You need focus. As an engineer, most of your time should be deep work. The more deep work hours you can get every day, the more successful you will be. When you code, you are most effective after you’ve been doing it for 30-45 minutes with no distractions. When you get distracted for a few minutes, it takes almost the same amount of time to get in the flow again. Maximize the amount of continuous time that you are “in the zone" and you will do amazing engineering work.
- Make professional decisions. Most of the stuff we work on is very cool and a lot of fun. Not everything will be. You should do whatever it takes to help your team succeed.
- Continuous improvement. Always think about how you can get even better, prioritize, and work on it.
- If you break something, it’s okay. But you should own it and take the lead on fixing it.
- Put the team first. If the teams succeeds, so will you.
- I make mistakes. Let me know when I do. And challenge me when you disagree.