Management
Effective team management
- it is not enough to just have great people, processes & vision is key parts of healthy team
- good manager must keep team productive & each member in heathy developing state
- to grow as dev you need to focus on decision making and only after that on tooling
- don’t be afraid to: risk, take responsibility and influence processes
- develop yourself and your team through work, not external activities
- be realistic with goals and deadlines
- team must understand current goals
- be open to criticism & criticize yourself
- as questions
- planning
- focus on details if appropriate
- don’t be overoptimistic (overpesimistic too)
- understand how you going to achieve goals
- listen plans from devs (shift left)
- listen to team & members to avoid problems and burnout
- don’t micromanage
- it is ok to reduce workload on member if necessary
How estimate amount of work
- common misconception is that “skilled team” will somehow figure out time & effort it takes to build a project and this can be used in business plan
- heuristics with additional time OR t-shirt sizes won’t help here
- estimation is still necessary, so need to be done properly
- some well defined work is easy to estimate, BUT project with unclear bounds/goals/requirements are harder beasts
- common problem is that bounds etc are formed when task is already ongoing
- problems
- management often will use some projects as buffer for unplanned work AND/OR lower estimates of hot project to force faster delivery
- also politics play a huge roll here
- estimates often given before hand AND then engineer tries to meet it by changing scope and quality of work
- management often will use some projects as buffer for unplanned work AND/OR lower estimates of hot project to force faster delivery
- how to estimate
- gather political context (how fast we need to do it, what priority of this project, how much research is involved)
- gather technical contexts (how much unknowns will task involve)
- create risk assessment that higher-up can evaluate
- ex: what we need to do, what we might skip, what we can outsource
- remember that it is ok to sometimes say “it is impossible”, BUT not always
-
If you refuse to estimate, you’re forcing someone less technical to estimate for you.
- remember that you must meet baseline of productivity amoung your peers
Working with hireups
- you often can choose working environment, BUT you can’t choose your manager
- don’t try to change person, try to learn from them, their experience, find an approach to them
- often care about common goal, clear visibility and will to agree on smth you disagree will make your life easier, BUT it is ok to challenge person too