How To Manage Dev Teams
- DM when people forgot something
- you also need to think for your team members to a certain extent
- ideally, you team members are a-players
- still everyone forgets sometimes and you need to remind them
- e.g. EOD reports, time tracking, standups, client meetings, pull request reviews, etc.
- Praise in public
- Unless the praise is irrelevant in public
- critique in private
- when giving critique
- document problems before and come prepared with talking points
- offer solutions
- "Ship more code", "Create less bugs", etc. is NOT actionable. That is goal oriented thinking, which is a problem in more domains than just being bad feedback.
- Imagine your boss (maybe the CEO) comes to you and says: "Generate more revenue" or "Create better products". Well duh, that's the goal of any company.
- You should suggest specific actions that the person can take to fix the problem, e.g. "To avoid bugs, here is how you run the code locally. Here is a checklist of things that you should look for every time before you open a PR." or "Here is how you use AIDD to write code. These are the prompts I use. Now you show me how you use them, so I know you understood what I taught you."
- If you have no idea how to solve your direct reports problem, that could either be a sign to fire the person because you exhausted all your options, or that you need to spend more time as an I.C. yourself and stop being a manager because you lost the ability to think through the problems your direct reports are facing.
- "Ship more code", "Create less bugs", etc. is NOT actionable. That is goal oriented thinking, which is a problem in more domains than just being bad feedback.
- Be an expert in your domain
- You can only give good feedback and judge your employees if you understand what they do. You shoud ideally be in the top 20% of the coders in your company.
- A compliment goes a long way
- People don't just work for money
- Recognition can be one of the main drivers for people
- People love to learn and to grow
- Be able to mentor them
- code
- soft skills
- sometimes even in real-life
- not every employee wants or appreciates tips from their manager in their private life. You will feel it (because they ask for advice) if it's appropriate. If there is only the slightest hint of you crossing a line, back off immediately.
- Be able to mentor them
- the paradox of equality and hierarchy
- you are NOT better than anyone
- treat people with respect
- have gratitude for their work
- sincere gratitude, not fake. If you're aren't grateful to work with talented people, you might want to consider working on your values before managing people.
- simultaneously you are above the others from the PoV of the company
- you need to make sure to reward good performance
- you need to give constructive feedback to help good people become even better and to help underperformers carry their weight
- you need to reprimand bad performance if there is no fix
- you are NOT better than anyone
- as a manager, you usually get the worst problems of the team escalated to you
- bugs no one can fix
- conflicts that your team couldn't resove on their own
- you represent your team to your manager
- if your team generally underperforms, it will be viewn as your fault, and to some degree it will be your fault
- you need to unblock your team and create an enivornment where they can fulfill their potential
- in my "master remote communication" article, i have a checklist on how to design good meetings
- know yourself
- if you are a people pleaser, you need to have a confidant to talk to and help identify, when you're being too nice or too forgiving.
- if you naturally assertive or dominant, you might need balance to be more empathetic and humble and cultivate your listening skills.