Management
- Jeff Bezos's
S-Team
Key Gotchas
Productivity
- Fewer/no code writing
- Keeping the team productive (focus of amplifying the team's work, not yours)
- Helping on design decisions and architecture
- Listening to your team's decisions
- Not stealing credit
Lead by example
- team will emulate good and bad behaviors
- Not showing negative thoughts to the team. Working with the upper management
Time management
- Keeping inbox clean
- Managing your todo list
- Saying no when necessary (tactfully)
- Are you the right/best person to do it?
- Explaining what you would need to sacrifice in order to take this task
- Delegating
- Setting clear expectations on the task
- Trusting people to do their jobs even for important tasks
Strategy & Tactics
- Think
strategically
, acttactically
- tactics: get stuff done. The implementation, the pieces required. The
HOW
- strategics: business objetives to be fulfilled with the task. The
WHY
Estimations
- Avoiding overcommitment
- Minding the overhead
- Other stuff engineers need to do
- Time for alignments when working in a team
- Documentation
- Testing
- Debugging
- Studying and researching!
- Listening to your
project manager
- Involving the team on the estimations
Dependencies
- Taking a large project and break down into smaller chunks
- Taking in consideration the experience level of each engineer and how quick they can deliver
- Understanding dependencies between tasks (including external dependencies - on other teams)
- Upper management will find odd that you are mentioning the detailed tasks when estimating
- Because for them it does not matter (strategics only), but for you it does
Project Management Methodologies
- Kanban
- Scrum
-
Waterfall
-
Charts
GANTT
PERT
Simplicity
- Prefer simple solutions and evolve it into more complex solution as needed
- Example for recommender system: use a simple graph database instead of deep learning
- Work
backwards
fromcustomer experience
to thesimplest tool
to achieve the desired goal
People management
- Have
1:1
meetings once a week with everyone in the team - Talk about carer goals
- Blockers. Understand issues and personal sides for low performance
- Give feedbacks (positive and negative)
- Receive feedback
- Give recognition! Acknowledge work well done
- Agenda
- Check-in on project status (and blockers)
- Check-in on performance goals
- Check-in on career goals
- Feedback (positive and negative)
- Feedback for you
- Sandwich feedback
- Start with good feedback
- Tell the negative feedback
- And end with positive feedback
- SMART goals
S
pecificM
easurableA
chievableR
elevantT
ime based- Checkpoints
- Check periodically if the engineer is receiving opportunities to achieve the goals
- Is the engineer on track to achieve it?
Handling emotions
Reflective listening
&Active listening
- You don't need to come up with a solution instantly
- People just want to be heard and to validate what they are feeling is valid
- Repeat with your own words that they said to confirm that you understood correctly
- Don't make judgments!
- Don't try to fix it yourself, share with HR if it's a delicate problem
- Write down the situation and keep it in a safe place
Hiring
- Sourcing
- Interns / college hires
- Incent employee referrals
- Open source projects contributors
- Academic papers
- Social media
- Technical events / tech talks / hackathons
- Internal hires
- Remote workers
Firing
- Don't do it out of anger
- Don't deflect blame
- Don't make it personal
- Don't give false hope
- Employee has to know for some time that he is not meeting expectations
- You should offer a performance improvement plan first
- Be transparent the whole cycle so that the person can even look for a new job first
- On layoffs:
- Make sure final payments / severance are available
- Guidance for unemployment & insurance
Working with upper management
- Honesty
- A good relationship will make both more effective
- Have backbone, disagree and commit
- It's okay to push back something that you are told to do
- No one better than you that understands the limitations of your team
- Sometimes you need to accept/commit a decision even though you don't agree
- The upper management may be right about it, you just didn't consider all the variables
- When something wrong happens
- Be honest
- Come with solutions
- Present the plan to fix the immediate problem
- Show that you understand the root cause (5 WHYs)
- Preferably come with the actions taken
- Meetings etiquette
- If you don't know say
I don't know
but find out and follow up - Don't interrupt others
Team morale
- People instinctively identify themselves as part of a group/tribe, build your tribe.
- Set a common goal
- Care about each individual's goals too
- If a project needs to be aborted, communicate with your team accordingly and recognize the great work done so far
- Brainstorm ideas for making your team more cohesive based on what you've learned