The aim of this repository is to provide a curated list of resources for, beginner as well as seasoned, software engineering managers. The repository will contain links to all interesting resources within categories that are part of the job of an engineering manager - The Team, The Technology, The Product & The Process. Contributions and feedback are welcomed!
- Engineering manager vs. tech lead -- which is better? - discusses where to draw the line between tech lead's and enginering manager's responsibilities
- Tech Lead vs Engineering Manager π - discusses where and how product managers, tech leads and engineering managers overlap in responsiblities and why do we have, in an ideal state, all three roles in place; beware that the article is behind a paywall
- Gaining a sense of acomplishment as a manager - sometimes, it is hard to acknowledge whether your work as an engineering manager is actually bringing some fruits; this article helps you with a few tips to gain a sense of acomplishment in your work
- The Top 3 Challenges of A New Engineering Manager And How To Overcome Them - my summary of the top three challenges of any new engineering manager
- How to mix junior and senior engineers on a team - my thoughts on how seniority plays a critical role in your software engineering team structure where the main idea is to keep a constant inflow of junior profiles that you continuously develop into seniors
- Dedicated QA vs. Developer/Engineering Testing - should you have a dedicated QA engineers or should everyone be QA by default in order to properly test their changes
- How to Build a Great Software Development Team - an interview style of article summarizing aspects of building high-performing software engineering teams where hiring the right people with great attitude forms the most important basis
- Mixing Seniority in Engineering Teams - Here Luca Rossi takes a look at the differences between juniors and senior from the following angles: skills, processes, hiring and growth space
- What is the ideal mix of senior to junior developers on a team? - Interesting thread on software engineering stack exchange debating when to use all junior or all senior teams or what aspects should be considered like time, money, energy and knowledge of the engineers
- How we design our product organization with DDD and Team Topologies - In this nicely detailed article, the author walks through the process of aligning human and tech parts of the organization. The inspiration is take from the book Team Topologies (also listed below) and principles of DDD
- 21 Rules of Thumb for Managing Software People and Teams - really handy summary of short advices to follow across many critical engineering management areas like communication, hiring, delivery, requirements management and many other
- How to make a job ad that no developer can resist - highly recommend this article if you are writing your first job ad for a software engineer role; it comes with some foundational advice on what to make sure you include or exclude when forming your job ad
- Software Engineering and IKIGAI - Ikigai is a well-known japanese concept of finding the sweet spot of what you are good at, what you love, what the world needs and what can you get paid for; this article aims specifically on a software engineer's ikigai
- Etsy Engineering Career Ladder - a great example of career progression path from Etsy that is publicly available for inspiration
- EngineeringLadders.com - great framework that helps out with planning career progression for software engineers
- Career Ladders from Sarah Drasner - career framework with examples and descriptions from the author of the Engineering Management for the Rest of Us - Sarah Drasner
- Career framework inspiration from the world's best companies. - many different career frameworks from tech companies all over the world
- Roadmaps.sh - best practices & roadmaps) - a community effort to create roadmaps, guides and other educational content to help guide developers in picking up a path and guide their learnings.
- How to Have More Effective One on One Meetings with Your Developers - debates the basiscs of a 1-1 meeting for an engineering manager and his or her report e.g. why to even have 1-1 meeting regularly
- How to build an effective code review process for your team - Talks about two simple steps to improve your code review process - maximize focus on non-trivial issues and set rules on healthy code review culture
- Google Engineering Practices - How to do a code review - A very detailed guide on how to do a code review at Google - it gives good inspiration to set up a good rules, culture and requirements for a code review
- Why You Should Use EditorConfig to Standardize Code Styles - explains how the EditorConfig file can help to define formatting in your project files and also enforce the standard, so that all team members comply with it
- Software architecture diagrams as text - explains how to use Structurizr DSL to code and version control your software architecture diagrams
- Documenting architecture decisions - the basics of architecture decision records (ADRs)
- The Ultimate Guide to Architectural Decision Records - more thoughts on architecture decision records (ADRs)
- Architecture decision record (ADR) - more thoughts on architecture decision records (ADRs)
- What is an Event-Driven Architecture? - Back to the basics, a nice introduction to event-driven architectures from AWS perspective that further branches into example architecture and use cases when to adopt this architecture
- Build highly available microservices to power applications of any size and scale. - Another great and simple explanation from AWS, this time about microservices
- Git Branching Strategies vs. Trunk-based Development - Deep dive into the different branching strategies in git specifically the contrast between trunk-based development and git/github flows
- Comparing Git Workflows: What You Should Know - Similar article like the previous one but has some nice visual explanations showing the branching strategies
- GitFlow considered harmful - interesting perspective on Gitflow being way too complex and unfit for modern software development; I tend to agree to the criticism presented here
- Git Flow vs Github Flow - this article nicely complements the previous one by simply stating the differences including the branching in visuals
- OpenTelemetry - the main website of a widely used observability framework and toolkit that helps you collect and manage telemetry data like metrics, logs and traces and can be integrated in many widely used tools like Elastic
- Observability: Building Organizational Understanding - presentation about observability from the Dash conference that focuses on how to start with observability as well as what culture to establish so that it supports continuous learning in this field
- o11y.wiki - nice glossary of all terms related to observability - may be interesting to walk through
- Charity.wtf - founder of honeycomb.io and a well-known persona in the observability space has her own blog where one can find some interesting thoughts on observability - I suggest you use this resource after you gain some essentials as otherwise it is too in-depth thus an alternative might be the below
- The Evolution of Observability Engineering - a walk through of observability conceptual essentials from the authors of the book Observability Engineering
- Awesome Engineering Manager Custom GPT - A custom ChatGPT deployed on ChatGPT Marketplace that provides technical and managerial guidance with a focus on professional development. It is fully familiar with this repository and its contents as well as with all the recommended books
- The Product Trio - A short version of what a product trio is and why it is important to have it
- Refining Product Team Leadership in Software Engineering - My article about how we had to revisit our ways of working in a Product Trio (triarchy) in order to become even more efficient, decisive and supportive for our team
- Ask the EM: How Can I work Better with My Product Manager, as an Engineering Lead? - Great article from Gergerly Orosz about how to establish smooth collaboration between product and engineering sides of the organization
- Product Prioritization Frameworks - Fantastic and contained list of prioritization frameoworks that can help you with decision-making and even though they appear aimed for product managers, they are also very useful for any role
- Why βNowβ βNextβ βLaterβ is one of the best frameworks for roadmapping - Very simple, yet powerful, method to plan your roadmap that does not tie you too much into a project management-like timeline while providing an understanding of what is the product team to do in a foreseeable future
- How to Make Your Teams Beat OKRs - Amazing guide on how to get the most out of OKRs from Marian Kamenistak, an engineering leadership coach
- OKRs are hard - Camille Fournier, author of The Manager's Path, dives deep into why OKRs are sometimes very hard for teams to work with and what are the shortcomings of the OKR system
- Google - The DevOps Research and Assessment (DORA) - Technical Capabilities - Very thorough guide on various aspects of implementing DevOps capabilities and how they were implemented at Google
- Velocity in Scrum: How to Measure and Improve Performance - Explains what is team velocity used for and how to calculate it so that you get better insight on your team's performance
- How Healthy Engineering Teams Invest Their Time - Talks about how the Engineering Investment Metrics gives the needed control over how engineering efforts align with business objectives and also give the opportunity to benchmark teams
- Microsoft - CSE Code-With Engineering Playbook - Very thorough guide on fundamentals of software engineering culture and practices from an ISE team at Microsoft
- 20 patterns to watch for in your engineering team - Great overview of patterns as well as anti-patterns that you, as an engineering leader, can see on yout team as a whole or on individual engineers and what to do about them
- Development that pays (Youtube) - A funky youtube account talking about common challenges with agile in a relaxed yet interesting way
- Dual-Track Agile - A super-short summary of what is dual track agile and what it is used for
- Lessons Learned in Dual Track Agile - My own article about what lessons did we learn from implementing the dual track agile system in our team and what we plan to do next based on these learnings
- Inspired: How to Create Tech Products Customers Love
- The Manager's Path: A Guide for Tech Leaders Navigating Growth and Change
- Building Great Software Engineering Teams: Recruiting, Hiring, and Managing Your Team from Startup to Success
- The Making of a Manager: What to Do When Everyone Looks to You
- Ask Your Developer: How to Harness the Power of Software Developers and Win in the 21st Century
- Engineering Management for the Rest of Us
- Radical Candor: Be a Kickass Boss Without Losing Your Humanity
- An Elegant Puzzle: Systems of Engineering Management
- Leaddev - Learn effective engineering management and leadership - Online community with conferences in Europe and US
- ELC - Home for Engineering Leaders - Online based community with meetups and conferences in US
- Engineering Leaders CZ - In-person based community in Prague, CZ
See the explanation of the MIT License here.