Skip to content

Resources for software engineering management and software engineering leadership

License

Notifications You must be signed in to change notification settings

owainlewis/software-engineering-management

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 

Repository files navigation

Awesome Software Engineering Management

This list contains resources for software engineering leaders to level up. Being a software engineering manager is hard. This list will help you develop your management and leadership skills.

Managing Yourself

Managing People

1-1 Meetings

1-1 Question Bank

Powerful questions

Giving Feedback

Coaching

GROW

GROW (Goal, Reality, Options, Will) is a popular coaching method.

Managing Managers

Delegating Effectively

Managing Teams

Team topologies

There are many ways to structure engineering teams and the right choice depends on your particular business needs. Here are some of the common approaches to structuring engineering teams

  • Feature teams: Cross functional teams that are able to deliver features end to end and may work across many different services to get things done.
  • Component teams: Teams that have full ownership over one or more compoments or serivces.
  • Platform teams: A team that provides a platform used by other engineering teams e.g. maintaining a Kuberentes cluster for other teams to deploy to.
  • SRE / Operations teams: A team dedicated to operations

Ten characteristics of well-functioning teams

  • Purpose: Members proudly share a sense of why the team exists and are invested in accomplishing its mission and goals.
  • Priorities: Members know what needs to be done next, by whom, and by when to achieve team goals.
  • Roles: Members know their roles in getting tasks done and when to allow a more skillful member to do a certain task.
  • Decisions: Authority and decision-making lines are clearly understood.
  • Conflict: Conflict is dealt with openly and is considered important to decision-making and personal growth.
  • Personal traits: members feel their unique personalities are appreciated and well utilized.
  • Norms: Group norms for working together are set and seen as standards for every one in the groups.
  • Effectiveness: Members find team meetings efficient and productive and look forward to this time together.
  • Success: Members know clearly when the team has met with success and share in this equally and proudly.
  • Training: Opportunities for feedback and updating skills are provided and taken advantage of by team members.

Hiring

Onboarding

Engineering Team Metrics

DORA Metrics

DORA metrics are used by DevOps teams to measure their performance and find out whether they are “low performers” to “elite performers”. The four metrics used are:

  • Deployment Frequency: Refers to the frequency of successful software releases to production.
  • Lead Time for Changes: Captures the time between a code change commit and its deployable state.
  • Mean Time to Recovery: Measures the time between an interruption due to deployment or system failure and full recovery.
  • Change Failure Rate: Indicates how often a team’s changes or hotfixes lead to failures after the code has been deployed.

Managing Projects

Managment And Leadership Skills

Planning

Prioritising

Delegating

Communicating

Online Courses

I recommend the following online courses for software engineering managers.

Books

Management 101

Coaching

Communities

Leadership Frameworks

  • Vision, Alignment, Execution

About

Resources for software engineering management and software engineering leadership

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published