A Software Lead’s Blueprint

Shay Mandel
5 min readJul 31, 2019

I’ve always wished I had a “blueprint” of how my boss works. His quirks, what he likes and what he doesn’t. We usually stumble our way into figuring out our boss’ quirks by trial and error which is no fun for anyone and just plain inefficient. I know myself pretty well by now…

So I thought I would put this blueprint together to help people get to know me and what I value without any guess work. Here are honest, unfiltered, things about me, what I value, how I think, what drives me nuts, and a taste of some of the things that define a top performer to me.

I’ve been sharing this with the people I manage. Whenever I have a new team member, in one of our first 1+1 we talk about this. I found it to be very useful, and saved my team members and me a lot of misunderstandings.

So I decided to share it with the world. Here it is:

  1. Start with the end in mind — define and understand well the result you want to reach. If possible, visualize it, either as a diagram / presentation. Or use ‘guided imagery’ to visualize for yourself how the result will look like. For example, when creating a feature, have a sketch on how it will look like, have a plan on how you will integrate it with other stuff, think how you will deploy it, how will you communicate it to customers, etc.
  2. Focus on your circle of influence, not on your circle of concern.
    R ≠ NR+E. Results ≠ No results + Excuses. Try to remove dependencies and coupling whenever possible: By taking responsibility on other things, working well with others, creating an architecture and process that will enable self-service, etc.
    Drive initiatives through examples: start in your circle, show success, share it, help others succeed in doing it.
  3. Own what you take.
    Do things from A to Z, think about the big picture and the small details.
    Don’t let things fall between the cracks.
    Communication is key. It is better to delay a task in 30 minutes and explain what you’re going to do, than to start and not communicate. Same about ending a task — it is not done if it is not communicated (email/Slack/Jira).
    Communication channels: Mail is offline — Strive to respond to any mail that is directed to you within 24 hours. Slack is for anything during the day, 1–2 hours of delay. Whatsapp is up to an hour, a phone call is immediate.
  4. “He who doesn’t do, doesn’t make mistakes”
    We make mistakes sometimes and that’s ok, as long as we fix and learn, and don’t repeat the same mistake again.
    Finger-pointing drives me nuts — we’re not looking for whom to blame, but how to fix.
    When mistakes happen (and they do) I’m interested in what happened and how we prevent it from happening again, not who made the mistake. If you’ve messed up, tell me early. This way I can represent you in the right way if I’m being asked about an issue that happened.
  5. Third time is a charm — I truly believe in Agile. But how do you solve the conflict between Agile and our desire to engineer things right, from the start? You start simple, get feedback, let it evolve, generalize after you see the third instance and you can understand the pattern.
    When we’ll do it the third time, I’ll make sure we make the time to do it right and generic enough for the next times.
Do not try to find a generic solution on the first time you do something. Because you might be generalizing in the wrong direction. And in the second time, you might still miss the trend. The third time you do something, you understand the direction and the trend.

6. I believe in craftsmanship — you should be a pro in using your tools. Be it the IDE, communication tools (email, slack etc.), task tracking tool (Jira, Monday etc.), analytical dashboards — you should master it. Know most of the features, use the keyboard shortcuts, make sure you are productive when you’re using the tool. The tool should feel like an extension of your mind.

7. Respect and Trust — our recruitment process sets a very high bar. Trust the people around you that they are professional and have good intentions. Respect them and they will do their best to help you achieve your dreams. This is especially important when the team is spread across geographical locations.

8. I value a systematic approach — I believe that when you have a system and a plan you will achieve much more. Be it a small feature or a grand initiative. I can help you build your plan or you can build it on your own, but I want it to be clear and known to everyone that is related to it.
- Create a plan — A journey of a thousand miles starts with a small step — usually, this first step is creating a plan and communicating it.
- Determination and Persistency — not everything can be done in a day. Some things need to make progress over time, and I value those that can continuously push things and make them happen in spite of all obstacles along the way. Don’t give up, and have fun along the way by setting milestones, achieving them and celebrating your achievements.
- Keep a weekly/bi-weekly cadence of progress on your long term tasks. See: http://jamesclear.com/goals-systems
- When things get delayed I may start nagging. So keep updating me on the progress you’re doing.

9. Strive to make contact — with customers/users/partners.
- Seek feedback and work in short loops — you will get a lot of insights by shadowing customers and/or watching how they work, how their environment looks like, what other tools they’re using, what is they’re background.
- Know your customers, and strive to delight them. Not just satisfy — delight! Learn from Zappos how to turn each interaction into a success story and a reason to appreciate you and the team you represent.

10. I value the ‘Shower Ideas’ — I won’t make you work till midnight each day but I value members of the team who care deeply about what they’re doing and think about it long after they’ve left the office for the day. In my experience, this is where the insightful and clever ideas come from and is something I value and reward.

11. I’m a developer, of people — I used to be a software developer, but now I’m a manager. I get a huge amount of personal satisfaction from seeing members of my team grow, improve, hone their talents, learn more, develop new skills, and just become better. I’ll help you become the best — I’ll invest time, energy, money and do what it takes to help anyone on the team be the best at what they do. I will not be disappointed if you won’t achieve all your goals, but I will be disappointed if you will not try your best to achieve them.

I hope this is helpful, and if you’re a manager you’ll consider creating your own blueprint to share with your team.

I’ve adopted and adapted it from Luc Levesque’s post. Feel free to use and share it as you like.

--

--

Shay Mandel

Software Executive and Entrepreneur in heart. Avid bike rider (MTB/XC/Road)