Everything Object Oriented Design Taught Me About Leadership

Most senior software developers eventually find themselves in a position of leadership. About two years ago, I was in the same boat, being asked to take over as tech lead for a large agile project. I felt unprepared, I didn't know the first thing about being in charge! I found myself falling back to the thing I had spent years learning: object-oriented design principles.

In this talk, I'll walk through some of the parallels between clean coding and leadership. I'll discuss some design anti-patterns with different styles of leadership and how to avoid falling into classic management traps. If you've always felt like your bosses treat you like a class with too many responsibilities, come learn how to code better leadership!

 
2 favorite thumb_down thumb_up 0 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist
 

Outline/structure of the Session

  • Introduction / About Me (1 minutes)
  • The problem: software developers as leaders (3 minutes)
  • Topic 1: Ascending to leadership, taking on too much (High Cohesion) (7 minutes)
    • Design Pattern: Single Responsibility Principle
  • Topic 2: Loose Coupling as a leader (7 minutes)
    • Design Pattern: Delegation techniques
  • Topic 3: Dealing with Failure (i.e. when your people have bugs)
    • Failures of Competence (fixed with unit tests)
    • Failures of Clarity (fixed with Intent-based leadership)
  • Topic 4: Leading multiple teams (teams at scale) (7 minutes)
    • Design Pattern: Asynchronous Events / Event Driven Architecture
  • Topic 5: What happens when I leave? / grooming others for leadership (7 minutes)
    • Design Pattern: Resiliency Patterns (What can Netflix teach us about failure?)
  • Summarize lessons, final thoughts (remind audience that we work with people not code, so be good to them) (2 minutes)

Learning Outcome

  • Several examples of design patterns that can be applied to team leadership
  • A refresher on some object-oriented design best practices
  • An understanding of classic management myths and why they don't apply to leading software teams
  • A couple of good book suggestions for learning more about leadership
  • Reassurance that they are capable of leading teams and it doesn't require fancy training

Target Audience

Developers who are afraid of becoming the next Bill Lumbergh from Office Space

Prerequisite

  • General knowledge about classic software design principles, like SOLID, DRY, Decoupling, etc. Mastery is NOT required, just some familiarity with the terms.
schedule Submitted 1 week ago

Comments Subscribe to Comments

comment Comment on this Proposal

  • Paul Boos
    Paul Boos
    schedule 1 week ago
    Sold Out!
    45 mins
    Workshop
    Intermediate

    Losing good people during your transformation? Getting more resistance than you expected? You may be producing unwanted reactions in the way you are leading your people through change. If you want your Agile transformation firing on all cylinders without the harmful side-effects, people at all levels need to become Catalysts.

    Catalytic leaders help lead continual improvement - change. How can we do that? How can anyone be a leader? This workshop will mix presentation with exercises to help you understand practical things you can do to lead change effectively.

  • Paul Boos
    Paul Boos
    Daniel Davis
    Daniel Davis
    schedule 1 week ago
    Sold Out!
    45 mins
    Talk
    Intermediate

    As we have seen from recent reports in the news and elsewhere, cyberattacks come many sources. How can we use Agile practices to improve organization's information security posture?

    In this session, Dan and Paul will discuss techniques that can help make information security an important part of software development and speed your response to threats. The use of hardening pipelines, dark stories, and user stories/acceptance criteria that map to policy guidance based on NIST 800-53 controls will be discussed and how each approaches improving your security posture from a different angle.

  • Liked Daniel Davis
    keyboard_arrow_down

    So You Want To Go Faster?

    Daniel Davis
    Daniel Davis
    schedule 1 week ago
    Sold Out!
    45 mins
    Talk
    Beginner

    How frequently does a good agile team deploy to production? Not every team is capable of deploying "on every commit". What does it take for a team to even start deploying at the end of each sprint, or each week, or each day?

    Most companies don't realize that deploying more frequently often requires both significant technical change as well as cultural change. In this talk, I'll guide you through what it takes to deploy more frequently, both from the technical side of setting up pipelines as well as the organizational side of removing red tape. I'll draw on the unique challenges that teams must overcome at each step of the way, from deploying once a month all the way down to full continuous delivery. If your team has been struggling to go faster, come see how you can change to get there. And if you already are at full continuous delivery, come see how to go even faster than that!

  • Liked JENNIFER M FORREST
    keyboard_arrow_down

    Jira 101

    JENNIFER M FORREST
    JENNIFER M FORREST
    schedule 5 days ago
    Sold Out!
    45 mins
    Talk
    Beginner

    This session is for newbies to JIRA who want to learn how to survive (and thrive!) using JIRA every day. We'll be walking through a variety of real projects in JIRA and you'll come away with a better basic understanding of the tool.