- Identify the cause of the problem
- 5 whys
- List potential solutions
- Investigate potential sources of similar problems
- Address the additional sources of risk
- Reduce incident duration
- Identify the cause of the problem more rapidly
- Reduce incident cost
- Reduce the number of people involved
- Define the incident owner
- Define the incident secretary/communicator
- Create and document
- Summary
- Observations (link to metrics dashboards with absolute timestamps as much as possible)
- Screenshots
- Who took the screenshot
- Link to get the graph/data
- Associated conclusions
- Links to logs
- Screenshots
- Hypotheses/theories
- Who made them
- When
- If they have been validated/invalidated
- The actions taken
- By whom
- If it had the desired effect
- etc.
- In the situation where an incident has been caused by the introduction of a code regression, revert the change and deploy as soon as possible
- Start by reducing/relieving the impact of the incident before searching for a root cause
- Use multiple data sources when data sources do not agree
- Diagram all the implicated systems and the relationship to one another in order to identify the potential locations where the problem might be
- Test your hypotheses to verify if they hold or not
- Develop a procedure over time that can be followed to diagnose similar issues
-
Write down a list of improvement suggestions in order for the incident not to reproduce itself in the future or to lessen its impact
- Once the incident is completed, have a summary of the conclusions at the top of the document with a link to the sections in the document explaining the rationale behind the conclusions
Every year, either at the beginning or end of the year.
A few hours spread over the course of a few days.
- Review year according to various facets
- Plan the next year according to the same facets
- I use a mind map software to do my yearly review and plan.
Every month, either at the beginning or end of the month.
30 minutes.
- Review what was planned for the month
- Provide feedback related to the plan
- Review yearly plan and align
- Plan next month
The onboarding process described here is specific to a software engineer joining a tech company. While some/most of the items may still apply to any job where you mainly work from a computer, the assumption will be that you develop software as an individual contributor.
- Setup laptop
- Access to slack
- Access to zoom
- Setup calendar reminders
- Initial meeting with buddy
- Access to git central repository
- Installation of development tools/languages
- Request software licenses
- Access to CI/CD
- Find where task management is done
- Find the documentation to build projects
- Connect 1 on 1 with each member of the team
- Meet with manager 1 on 1
- Define a 30-60-90 days plan with manager
- Verify access to various systems (SSO, code repository, insurance company, payroll company, etc.)
- End of week meeting with buddy
- Setup and run the one step build process
- Determine how are features/tasks prioritized, who prioritizes features/tasks
- Review the team documentation
- Review team practices/processes documentation (code style, code review, standups, planning, retrospective, demos)
- Review common vocabulary, terminology, glossary documents
- First PR + code review
- Review the career ladder of the position
- Review user definition, use cases, requirements
- Read prior team meetings notes
- Identify how deployments are done
- Review the team roadmap
- Determine where I can have the biggest impact
- Determine a timeline where I'll have reached my 80/20 at the company
- Determine the maturity of existing projects
- Determine how fast can we iterate on certain aspects given the team/company composition
- Identify the core/principal/staff contributors and their contributions
- Review the architecture of the system
- Review the database architecture
- Learn about "how we got to this point"
- Determine whether the product is a monolith or micro-services
- Identify which (3rd party) tools are used by the team/company
- Determine the portfolio of STARS situations of the team/company
- Determine a rough estimate of the number of people in the different organizations
- Connect 1 on 1 with important collaborator in other teams
- End of first month meeting with buddy
- First month performance review with manager
- Informal 360-degree review with manager and peers on adaptation
- Month 1 job satisfaction review
- Team interaction diagram
- Month 2 job satisfaction review
- Month 3 job satisfaction review