Upgrade to Pro — share decks privately, control downloads, hide ads and more …

An Engineer's Guide to Developing People

An Engineer's Guide to Developing People

Making the leap to management isn't easy but, with the right skills and preparation, solving people and process problems can be incredibly rewarding and profitable. In fact, the experience and skills you've gained over the years may have prepared you for this new role without even realizing it! In this session, we will explore how software engineering principals and patterns can guide your journey to becoming a successful development manager. We'll cover what the role entails, common hurdles, and the mental shift required to do it effectively.

99302b39c43015983665d69397695734?s=128

Gaines Kergosien

October 15, 2019
Tweet

Transcript

  1. An Engineer’s Guide to Developing People @GainesK An Engineer’s Guide

    to Developing People
  2. An Engineer’s Guide to Developing People @GainesK Career Paths

  3. An Engineer’s Guide to Developing People @GainesK Leadership Guiding others

    towards a common goal. • Inspire • Motivate • Encourage Leading vs. Managing Management Dealing with or controlling things or people. • Plan • Organize • Coordinate
  4. An Engineer’s Guide to Developing People @GainesK Leadership “Leadership is

    the art of getting someone else to do something you want done because he wants to do it.” – Dwight D. Eisenhauer Leading vs. Managing Management “What’s measured gets improved.” – Peter F. Draker
  5. An Engineer’s Guide to Developing People @GainesK Leadership • Communication

    • Motivation • Delegation • Positivity • Creativity • Receptivity to Feedback • Responsibility Leading vs. Managing Management • Communication • Motivation • Delegation • Organization • Planning • Strategic Thinking • Problem Solving
  6. An Engineer’s Guide to Developing People @GainesK • Disturbance handler

    • Resource allocator • Negotiator • Liaison • Monitor • Disseminator • Spokesperson Manager Roles
  7. An Engineer’s Guide to Developing People @GainesK • Understanding Business

    Motivation • Building a Shared Vision • Defining Strategies • Setting Goals and Objectives • Scoping and Prioritizing Work Responsibilities – Planning
  8. An Engineer’s Guide to Developing People @GainesK Development of excessive

    technical debt without delivering corresponding value which meets a need creates unnecessary complexity and increased cost. • Focus on minimum viable products • Avoid complexity that does not deliver value Principle – YAGNI (You Aren’t Gonna Need It)
  9. An Engineer’s Guide to Developing People @GainesK • Understanding Business

    Motivation • Building a Shared Vision • Defining Strategies • Setting Goals and Objectives • Scoping and Prioritizing Work • Allocating Resources Responsibilities – Planning
  10. An Engineer’s Guide to Developing People @GainesK A singleton is

    a sole instance of a shared resource which is created once and exposed via a common interface. • Sacrifice transparency for convenience • Coordination through observation or notification Dependencies injection provides the required resource to those who need them. • Better handles instability Pattern – Singleton vs Dependency Injection
  11. An Engineer’s Guide to Developing People @GainesK • Setting an

    Example for Interaction • Engaging Stakeholders Responsibilities – Nurture Collaboration
  12. An Engineer’s Guide to Developing People @GainesK Pattern – Chain

    of Responsibility
  13. An Engineer’s Guide to Developing People @GainesK • Setting an

    Example for Interaction • Engaging Stakeholders • Facilitating Communication within the Team Responsibilities – Facilitating Communications
  14. An Engineer’s Guide to Developing People @GainesK • Optimization comes

    at a cost and increases complexity. • A simple approach should be used until requirements and implementation can be assessed. Principle – Avoid Premature Optimization
  15. An Engineer’s Guide to Developing People @GainesK • Being a

    Role Model • Cultivating a Motivating Environment • Empowering the Team • Focusing on Solutions over Problems • Inviting Productive Challenge • Celebrating Performance Responsibilities – Promote Performance
  16. An Engineer’s Guide to Developing People @GainesK • Cultivating Learning

    • Facilitating Training • Advocating for Individuals Responsibilities – Encourage Growth
  17. An Engineer’s Guide to Developing People @GainesK Pattern – Bounded

    Context
  18. An Engineer’s Guide to Developing People @GainesK • How do

    you measure the impact of communication? • What indicators should determine if a new team member is a good fit? • Which metric will tell us if code reviews are effective? • Is stakeholder satisfaction more important than quantity of work delivered? Measuring Success
  19. An Engineer’s Guide to Developing People @GainesK • What gives

    you energy? • What drives and excites you? • How do you feel accomplishment? • What types of challenges do you want to tackle? • What kind of work life would you enjoy? Why do it?
  20. An Engineer’s Guide to Developing People @GainesK 1. Develop a

    plan 2. Seek mentors 3. Engage a coach 4. Find your leadership style 5. Get to know your team (one-on-ones) 6. Trust your people and process 7. Hone your time management skills Tips
  21. An Engineer’s Guide to Developing People @GainesK Silver Sponsors Platinum

    Sponsors Celebration Sponsor Lanyards Sponsor Notebook Sponsor Registration Sponsor
  22. An Engineer’s Guide to Developing People @GainesK Q & A

    Review 1. Managing is more relational than technical 2. Managers are multipliers 3. Broader array of concerns 4. More interrupt driven 5. Success is more difficult to measure 6. Delegation can be difficult 7. Team success and satisfaction is rewarding Slides at DotNetDude.net