Git Product home page Git Product logo

engineering-management-handbook's Introduction

Table of Contents

Engineering Management Handbook

๐Ÿ’ป Resources for leading great teams of software engineers.

๐Ÿ‘ฉโ€๐Ÿ’ป About Me

I am a tech professional & international development enthusiast with more than 10-year experience in software engineering and leadership roles.

I started as an Engineering Manager in May 2021 and learned a lot through the great resources I found online. My life would have been a lot tougher without these fantastic authors who shared their experiences and advice, and I am incredibly grateful for that. This handbook is a compilation of links and templates that supported me in my Engineering Management journey. I am sharing it here, hoping it will serve others going through the same career transition.

๐Ÿ—บ๏ธ Legend

Emoji Description
๐Ÿ“œ Template
๐ŸŒŽ Remote Work
๐Ÿ“น Video
๐Ÿงฐ Tool

๐Ÿ“š Books

๐Ÿค“ Courses

๐Ÿค Management Resources

๐Ÿ‘ฅ Engineering Management Handbooks

๐Ÿ’ก Thoughts from other Engineering Managers

๐Ÿ—„๏ธ Management

๐Ÿ’ป To Code or not to Code

๐Ÿ“ง Newsletters

  • Software Lead Weekly. A weekly email for busy people who care about people, culture and leadership.
  • LeadDev. Develop your engineering management skills with weekly email updates from top tech experts through the LeadDev community.
  • The Pragmatic Engineer. Relevant for software engineers and engineering managers, useful for those working in tech.
  • The Engineering Manager. Tools, tips and discussions for current and aspiring engineering leaders.
  • Pointer.io. A Reading Club For Software Developers.

๐Ÿซ‚ Communities

  • Rands Leadership Slack. The Rands Leadership Slack (โ€œRLSโ€) exists to help longtime, new, and aspiring leaders to learn through conversation and sharing of ideas.

โš™๏ธ Engineering Management - All The Things

Managers READMEs

I have a love-hate relation with Manager READMEs, as I am never confident that I am 100% self-aware (I am working hard to get better at that). While I do believe READMEs can be a great tool for getting to know our colleagues and their working preferences, I also believe that one needs a high level of self awareness and humility to get it right.

Engineering Playbooks

Software Development Process

Development

Technical Specifications/ADRs/Design Docs

Spikes & Experiments

Technical Debt

Technical Radar

System Design

Knowledge Management

Hiring

Onboarding

1:1s

Engineering Objectives

Engineering Roles

Engineering Values

Culture

  • Driving Cultural Change Through Software Choices.
    • Developers have more power than they imagine to change the engineering culture around them. As you build software that others will use or that your peers will work on, are you making it easy for them to do the right thing? If you build platforms, bake in easy integrations for the software values you want to see. If youโ€™re in the position to choose new tools, pick ones that support the standards you want taken seriously. And as you write code, make it easy for others who will copy-paste what youโ€™ve done to then do the right thing.
    • Iโ€™ve never met an engineer who didnโ€™t occasionally copy-paste-modify some code. One of my earliest professional software lessons was that when you set up a codebase full of tests, other engineers are likely to write tests for their code because there will be lots of examples for how to test. This generalizes to the observation that people are most likely to take an existing thing and tweak it into a new thing that does what they need, and in the process they will take the good and bad from that existing thing. So if you want them to follow a best practice, put it in their starting templates.
    • We can go further than observability. Security can be a process, or a cultural value, but you can also go quite far by providing tools and platforms that have good security practices baked in to them, so that youโ€™re not relying on the good citizenship of your development team. Testing is often hampered by the overhead of running tests, and investment into infrastructure that makes tests easy and fast to run is important to supporting a culture of software quality validation.
  • Be a thermostat, not a thermometer. Since humans tend to mirror each other, you can intentionally change the energy in the room, setting the thermostat to a more comfortable temperature.
  • Own It Mentality. I give people lots of autonomy. I donโ€™t micromanage. In return, I expect people to take initiative, be proactive, communicate well, and follow through on their commitments. So long as they have an Own It Mentality, I donโ€™t care how much somebody works, when they work, or where they work from.
  • How To Fix Broken Teams
  • The Disappointment Frontier

Delegation

Team Scaling

Build great stuff

  • ๐Ÿ“น Output vs. Outcome & Impact
  • When they donโ€™t know what to do, theyโ€™ll do what they know.
  • Jasonโ€™s perspective on effective product development culture
  • A decade of building (pretty) great software data products
  • PM & EM: Rules of Engagement
  • The Product Culture Shift
  • DORA Metrics: Weโ€™ve Been Using Them Wrong. The 4-step Process to Improve DORA Metrics: Benchmark Your Performance, Look at the Leading Indicators, Establish Team Working Agreements, Optimize Developer Workflow.
  • How to do great things.
    • "When you read biographies of people who've done great work, it's remarkable how much luck is involved. They discover what to work on as a result of a chance meeting, or by reading a book they happen to pick up. So you need to make yourself a big target for luck, and the way to do that is to be curious. Try lots of things, meet lots of people, read lots of books, ask lots of questions."
    • "I think for most people who want to do great work, the right strategy is not to plan too much. At each stage do whatever seems most interesting and gives you the best options for the future. I call this approach "staying upwind." This is how most people who've done great work seem to have done it."
  • Getting buy-in to get things done
    • "When you are in one of these roles and you're championing an initiative, it can feel like the goal is to get people to agree with you on the proposal. But what you really need is for people to actually do the work, not just say that it sounds good. There's a big difference, because it's much easier for someone to agree something should happen than to actually do it themselves."
  • How we decide what to build
    • "While itโ€™s fun to discuss whether an application should be implemented in Ruby or Clojure, to write beautiful and succinct code, to see how far purely functional programming can be taken, these are all secondary to defining the user experience, to designing a comfortable interface, to keeping things simple and understandable, to making sure youโ€™re building something thatโ€™s actually usable by the people youโ€™re designing it for. Those are more important decisions."

Engineering Metrics Indicators

Performance Management

Feedback

Engineer - Manager - Engineer

Performance Improvement Plans - PIP

Remote Team Management

Conversations

Ice breakers

Dailies

Retros

After-Action Reviews (AARs)

Weekly updates

Team Contracting

People Management Misc

Offboarding

Misc

๐Ÿคก Fun

engineering-management-handbook's People

Contributors

andrablaj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.