Skip to content

Instantly share code, notes, and snippets.

@victoriachuang
Created December 7, 2018 03:07
Show Gist options
  • Save victoriachuang/ef30d90e7008d7cc86198f15ab89f0a2 to your computer and use it in GitHub Desktop.
Save victoriachuang/ef30d90e7008d7cc86198f15ab89f0a2 to your computer and use it in GitHub Desktop.
Lead Developer Austin 2018 talks

Navigating Team Friction

Lara Hogan, Co-founder of Wherewithall

  • Teams go through Tuckman's Stages of Group Development

    • Forming: New state; team will have roughly-planned goals and objectives
    • Storming: Friction arises as team members start to learn how to work together (this is a normal and necessary part of forming a group)
    • Norming: Members start to resolve differences
    • Performing: Flow state; members start to become productive
    • A team can restart this process when there is new management, a new team structure and/or new team members
  • Friction is normal in early stages, but can act as a distraction and a team needs to resolve differences in order to move projects forward

  • The amygdala, the part of our brain that processes external stimulus and determines whether they are threats or rewards, can cause us to be overwhelmed with emotion when one of our BICEPS core needs are threatened (see Paloma Medina's BICEPS)

    • Belonging: the need to belong to a group; social rejection can elicit the same biological response as feeling physical pain
    • Improvement: the need to see progress in ourselves and things that we care about
    • Choice/autonomy: the freedom to make decisions for ourselves; too much can be overwhelming
    • Equality and fairness
    • Predictability: too little can threaten our sense of stability, too much can lead to boredom
    • Significance: the need for us to gain status and/or feel important
    • How important each core need is, is different to each individual, so it's important to understand what is important to each team member to better resolve conflicts
  • Giving feedback

    • Feedback should be specific and actionable; "You're doing great!" sounds nice but isn't particularly helpful
    • Feedback should comprise an objective observation of behavior, the impact of the behavior, and a question or request
      • Questions as to why the person is behaving a certain way opens a discussion and helps develop empathy within a group
    • As how the individual prefers to receive feedback (ie. email, in-person, on an agenda so they have time to prepare for the conversation)
    • Leverage team-wide processes to address issues without pointing people out (ie. discuss patterns in behavior during retros)
    • When leadership and/or HR needs to be involved, re-state the observation and impact of behavior, and give suggestions as to what you think might help (ie. new processes or policies)
  • Other

    • It takes six seconds for the body to process the chemicals released by the amygdala, so if you feel overwhelmed with emotion, give yourself a few seconds to calm down. If you need to leave a conversation, tell the other person about how you're feeling and ask them to postpone the conversation.
    • Create a living document of team roles and processes to better define team member interactions. This should be a document that anyone on the team can contribute to.

Code Reviews for the Culture

Erica Stanley, engineering manager at SalesLoft

  • Types of values
    • Permission to play: principles on how to behave, such as honesty and kindness
    • Core: need to already exist in the organization
    • Aspirational: attributes that the organization believes it needs to adopt in order to be successful. The organization should actively strive to embody these values through new processes and programs.
    • Accidental: unintentional; can be harmful or helpful. Helpful accidental values should become core or aspirational values; harmful accidental values can often arise from homogeneity and need to be addressed immediately.

How To Get Away With Refactoring

Maude Lemaire, senior engineer at Slack

  • Reasons to refactor:

    • Shift in product requirements
    • Adopting new tech
    • Improving performance
  • Refactoring can:

    • Cause regressions
    • Unearth bugs
    • Grow in scope
    • Introduce unnecessary complexity
  • Why was code written a certain way in the first place?

    • Product shifts
    • Changing data models
    • Inability to see into the future
  • Keys to successful refactors:

    • Stick to the initially-planned scope
    • Feature flags

Building and Scaling Distributed Teams

Katie Womersley, VP of engineering at Buffer

  • Hiring

    • Having a distributed team allows the company to hire from a more diverse talent pool, including working mothers and those who are physically unable to go an office.
    • Each hire should have a manager, technical buddy and culture buddy for a strong support network. Buddies should be in similar timezones.
  • Decision-making

    • Clarify the decision to be made and be explicit with details
    • Who are the decision-makers? Use the RACI model
    • Decisions made in Slack erode trust because team members were left out of the discussion
      • This also requires people to constantly monitor conversations to make sure they were included, which distracts from working
    • Create a decision document for finalized decisions
  • Collaborating

    • Keep teams small and cross-functional
    • Create opportunities for socializing, like sharing pictures and fun slackbots
  • Managing

    • Schedule regular 1-1's
    • Create boundaries between home and work; remote employees tend to overwork to prove that they're working
    • Set an example and leave loudly; make it known that you're going to be unavailable and take vacations so employees know it's okay to do the same
    • Remote employees can be lonely and are at higher risk for developing mental health issues
      • Encourage them to go to coffeeshops and co-working spaces, and allow them to expense those things
      • Provide mental health counseling and be open about it so your reports will be comfortable discussing/expensing related things
      • Host onsites a few times a year; excluded team members are more likely to quit

Bootstrapping Inclusion

Jason Wong, inclusion consultant

See blog post here.

Eiffel's Tower

Nickolas Means, senior engineering manager at Github

  • We can learn several lessons on office politics from the history of the Eiffel Tower

  • Networking and self-promotion

    • Gustave Eiffel was able to push through his plan for the tower by networking with those involved in government decision-making and making it known that his work is important and impactful. This same practice is important in building relationships with coworkers, getting promotions and growing your career in general.
  • Collaboration

    • Develop empathy for coworkers in other job functions and find solutions that achieve a compromise
  • The role of a manager is often seen as a "shit shield," where the manager is expected to fully shelter direct reports from distractions, but they should act as heat shields instead. Sheltering team members too much may hinder their sense of purpose in the context of the organization and their ability to network effectively with the rest of the company, but one of a manager's most important responsibilities is to help their reports be able to navigate the company's politics effectively so they are able to grow their careers at the company instead of quitting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment