SlideShare a Scribd company logo
1 of 22
Engineering Management Framework
Building an Awesome Software Engineering Team
The Engineering Management Framework
People
Processes
Technology
Culture
+ Hiring / talent standards
+ Talent development / mentorship
+ Organization structure
Sub-areas Explanation / details
+ Eng teams live and die based on talent / tendency towards action
+ Grow eng skills internally via L&L’s, mentorship, pair prgming, etc
+ Create well-defined roles & responsibilities that fit team member
talents and aspirations
+ Roadmap Development
+ Sprint Planning & Req Gathering
+ Dev → QA → Deploy pipeline (GSD)
+ Bug / issue reporting & resolution
+ Product leads with heavy input / buy-in from Eng team
+ Crux of making sure all teams are on the same page
+ Maximize throughput while minimizing tech debt / bugs
+ Ensure we address urgent customer issues ASAP and provide
mechanism for reporting bugs
+ DevOps / infrastructure
+ Front end architecture
+ Backend languages / architecture
+ Tools
+ Ensure uptime and agility
+ Create a great customer UX that’s maintainable
+ Create maintainable backend codebases to support your UX
+ Foster productivity with “right tool for the job” approach
+ Autonomy, Mastery, Purpose
+ Psychological safety
+ Bottoms up and top down (provide a
vision / empower the team)
+ Ensures the team is engaged and minimizes turnover
+ Psychological safety is THE most important ingredient in team results
+ Culture has to come from both directions to succeed
Details to follow on each sub-area
Engineering Mgmt Framework
People
Hiring / talent standards
Talent development / mentorship
Organization structure
Process
Technology
Culture
People: Hiring / talent standards
ENGINEERING MANAGEMENT FRAMEWORK
Overview
Sourcing candidates
+ Hiring quality engineers is absolutely critical to building a successful team.
+ Hiring should be a top priority for leadership when you have open roles
+ Sourcing quality candidates can be tough; leverage platforms like Hired.com and Angelist, encourage the team to
send referrals, and use recruiters as a last resort
Interview process
+ Three rounds with a HW problem b/w 2nd and final seems to work well; keep the pre-final round screening process
the same for all candidates to ensure consistency
+ Make sure the candidate writes code!
+ Having a fairly consistent interview team is important but it’s also good to give people a “step-up” opportunity by
participating in the process; make sure to balance these competing priorities
+ Team might be on the fence about some candidates; figure out a strategy for handling this ahead of time (additional
homework, always no, etc)
Other considerations
+ Promote internally where possible - try to avoid hiring above someone unless it really makes sense
+ Culture is super-duper important so reject candidates for cultural reasons
People: Talent development / mentorship (1/2)
ENGINEERING MANAGEMENT FRAMEWORK
Overview
Review process
+ Developing talent internally is super-important and should always be a consideration when making decisions
+ Regular review processes and formal / informal mentorship are both necessary
+ Ensure some sort of x-team knowledge sharing occurs on a regular basis (iron sharpens iron)
+ Review process should take place every six months to ensure people are always getting feedback they need
+ Align on a structured framework & process ahead of time that enables a holistic approach with 360 feedback
+ Engineers should be assigned mentors who will be in charge of collecting feedback and writing a fair review
Promotions
+ Regular review process provides an easy forum to review performance and assess whether or not someone is
ready for a promotion
+ Generally, a promotion should recognize a role someone is already playing (though exceptions can be made)
+ Should generally be agreement amongst engineering leadership on the promotion; strong dissent likely means the
person isn’t quite ready yet
+ Promotion recommendations should be provided to the CEO for blessing though it’s mostly “rubber stamping”
+ Comp is a bit tricky. Let’s review in person.
Performance issues
+ Performance issues should be addressed fairly quickly by someone’s direct manager
+ If problem persists, bring it up the chain to discuss potential options; if performance is bad enough to lead to
termination if not corrected, make sure to mention it to the Management Team
+ Head of Engineering should have a very frank conversation with the person. Perf. improvement plan should be
kept relatively short, 2-4 weeks, to be fair to all parties involved. Probation period afterwards of 1-2 months to
encourage continued better performance assuming they’re not let go.
People: Talent development / mentorship (2/2)
ENGINEERING MANAGEMENT FRAMEWORK
Mentorship
+ All engineers should have a formal mentor who’s in charge of directing their development over the long term
+ It’s also useful to encourage an informal mentorship network where strong engineers can provide mentorship to any
engineer who’s interested
Knowledge sharing
+ Encourage all engineers to share their knowledge with the rest of the team through some mechanism, e.g., “Lunch
& Learn”, documentation, Slack, email, etc
Leadership training
+ Provide leadership coaching, guidance, and training to engineers who are interested
+ Consider future organizational needs and ensure internal talent will be prepared to help address them
People: Organization structure
ENGINEERING MANAGEMENT FRAMEWORK
Overview
Designing an
organization
+ Finding the right people for roles & responsibilities makes everything much easier
+ Org structure forces people into certain mindsets so design it carefully
+ First, map out what needs the team has (e.g., someone needs to own DevOps, QA, Acquisition, etc)
+ Next, try to group related stuff together where possible so that you don’t have a bunch of 1 engineer teams (e.g.,
maybe we have a team called “Strategic Tech” that does DevOps, Data, and Search stuff
+ Adjust the above if necessary for talent constraints and/or individual development needs
Other considerations
+ Make sure the org structure aligns with business needs and generally “makes sense”
+ Don’t change it too often if possible
+ Be flexible and design it so most engineers can change teams if necessary → bus factor = 1 is very scary
+ Consider development trajectories and emotions
+ Keep great teams together if at all possible → research suggests that it takes time for teams to “get in a rhythm”
and they’re much more productive when they do
Engineering Mgmt Framework
People
Process
Roadmap development
Sprint Planning & Req Gathering
Dev → QA → Deploy pipeline (GSD)
Bug / issue reporting & resolution
Technology
Process: Roadmap Development
ENGINEERING MANAGEMENT FRAMEWORK
Overview
Considerations
+ Long-term product roadmap essential to developing a great product
+ Mostly Product Management’s responsibility though Engineering should be heavily involved for input
+ Business rationale: Double check that the roadmap makes sense from a business perspective
+ Ensure that timelines are reasonable (e.g., engineering leads should do high level LOE estimations)
+ Tech debt: Ensure that it accounts for technical debt cleanup / other behind the scenes tech stuff that product may
not be as aware of
+ Think about how it might influence Engineering AMP / team morale
+ Think about how it might influence team structure
+ Consider whether or not it affects the hiring plan
Process: Sprint Planning & Req gathering (1/2)
ENGINEERING MANAGEMENT FRAMEWORK
Overview
Requirements
gathering
+ Gather requirements, estimate effort for tasks, and prioritize stuff in the short term
+ Product takes lead on the “what” though we as engineering have a heavy responsibility to help prioritize and provide
an active input where we can do things more efficiently; ideally there’s a well-groomed backlog
+ Product should take lead on pulling in other stakeholders
+ Make sure we’re getting good enough requirements
+ Ideally engineers can point out when requirements are clear enough and problem solve with Product Mgmt to
resolve the issues
Handling problems
+ Unclear requirements: It’s best not to commit to something in a Sprint when the requirements aren’t clear enough to
deliver; however, high priority situations will require that we be flexible
+ Uncertainty around an ask: If you know something could come up in the future, book Sprint time (e.g., 360/VR ask
for NAB) even if it’s a bit vague; with a well-groomed backlog we can keep chugging even if we don’t end up
executing against the vague ask
Estimation
+ Let the entire team participate in point estimation where possible; it builds buy-in and ensures that the team doesn’t
feel like it’s just taking orders as much
+ Try to keep point estimations constant over time
+ Slowly but surely increase point allocations / eng / day as long as you keep delivering though make sure this isn’t at
the expense of work/life balance; you genuinely want the team to get more efficient
Process: Sprint Planning & Req gathering (2/2)
ENGINEERING MANAGEMENT FRAMEWORK
Retrospectives
+ Make sure to do retrospectives every Sprint so the teams can continue improving
+ What went well, what can be improved
Process: Dev → QA → Deploy pipeline (GSD)
ENGINEERING MANAGEMENT FRAMEWORK
Overview
Development
+ Core engineering process that delivers new functionality
+ Where Engineers (ideally) spend most of their time!
+ Minimize meetings and distractions: Ideally, engineers should spend most of their time developing features
+ Includes Design and Code Reviews, which are crucial to building a great GSD pipeline. Otherwise you’ll leave
massive amounts of tech debt in your wake
+ Fairly tightly coupled with some tech choices (Git/GitHub for source control)
QA
+ TDD and a TDD culture are a must!
+ Unit tests, integration tests, Selenium / end-to-end tests
+ Tests should be fast!
+ Devs should do manual testing before handing it off to formal QA
+ We should have a fairly strong manual QA team
Deploy
+ Ideally our test suites are good enough for us to do Continuous Integration if we want
+ Should have push-button deploys
+ Rollbacks should be super-simple
+ Anyone should be able to deploy but there should be people available to help fix problems if they arise (e.g., no
middle-of-the-night deploys when you’re the only person awake)
Process: Bug / issue reporting
ENGINEERING MANAGEMENT FRAMEWORK
Overview
Reporting
+ Bugs and other issues are certain to occur
+ We need to have a process for fixing them and communicating appropriately with stakeholders
+ There should be as few channels for reporting bugs as possible while ensuring that urgent issues are always ID’d
and resolved quickly
+ It should be easy to report bugs / issues and the “how” should be easy to remember
+ Non-urgent issues should be kept in a backlog of some kind
Fixing issues / bugs
+ Standardize a process for addressing bugs / issues that everyone aligns on. Might be part of Sprint planning, might
be it’s own process (e.g., Dev Requests)
+ Ideally all engineers help fixing bugs / issues -- don’t create two “classes” of engineers (coders and bug-fixers).
Engineering Mgmt Framework
People
Process
Technology
DevOps / Infrastructure
Front end architecture
Backend languages / architecture
Tools
Process: DevOps / Infrastructure
ENGINEERING MANAGEMENT FRAMEWORK
Overview
DevOps
+ DevOps should enable the team to move quickly and ensure our products are available for our customers
+ DevOps is a strategic asset b/c it lets you move faster than the competition when done well
+ Ensure that most of the team can do at least some DevOps and understands the basic concepts
+ Makes sense to have a specialist or two once the team reaches a critical size
+ Docker rules!
+ Remember, the goal is to leverage DevOps to move fast!
Infrastructure
+ Our infrastructure should support our current needs and be prepared to scale to 10x our current volume
+ Make sure it’s flexible for new demands even within the 10x volume
+ Make sure it’s not slowing you down or costing too much
+ Know the architecture! Current architecture leads to a lot of business constraints that you have to be able to
communicate to the executive team.
+ Have a plan for the future! Even within the 10x volume constraint our infrastructure will need to evolve to support
future needs (e.g., OneAccount)
Process: Frontend Architecture
ENGINEERING MANAGEMENT FRAMEWORK
Overview
ReactJS / Flux
+ Our frontend architecture should support an amazing customer UX and also be maintainable
+ ReactJS / Flux combo seems to be the best option at the moment
+ The future! Easy-to-understand design pattern makes for an extremely flexible way of building web apps
+ The one downside (thanks to Kim for calling this out) seems to be CSS transitions
Everything else
+ The past
+ We should eventually migrate to ReactJS / Flux where it makes sense
Process: Backend languages / architecture
ENGINEERING MANAGEMENT FRAMEWORK
Overview
Backend languages
+ Ideally, we should use the right tool for the job
+ Transitioning backend to microservices will enable the business to move faster
+ Good options for VB: PHP, Node, Scala
+ Many other options are ok depending on the circumstances
Microservices
+ Backends for frontends with microservices
+ First build a monolith then split out services once you’ve scaled (code well initially and this is much easier)
Process: Tools
ENGINEERING MANAGEMENT FRAMEWORK
Overview
Tool selection
+ Super important to choose the right tools for the job because they dramatically affect productivity
+ Version control: Git, GitHub, and SmartGit
+ IDE: anything JetBrains
+ Use a debugger!
+ CircleCI for unit testing
+ Not sure for Selenium testing
+ Sequel Pro (Mac) for MySQL
+ Sublime Text for editing random txt docs, some code
+ BeyondCompare for FTP / file diffs
+ AWS!
+ Docker Hub
Engineering Mgmt Framework
People
Process
Technology
Culture
Autonomy, Master, Purpose
Psychological safety
Bottoms up and top down
Culture: Autonomy, Mastery, Purpose
ENGINEERING MANAGEMENT FRAMEWORK
Overview
Autonomy
+ The secret to building a happy, motivated team; HUGE for retention!
+ Straight from Daniel Pink’s “Drive”
+ The power to make impactful decisions in your day-to-day work
+ Improves autonomy: building new stuff, flexibility to select your projects
+ Decreases autonomy: processes, just following instructions
Mastery
+ Continued growth and development
+ Improves mastery: learning new technologies & skills, solving hard but tractable problems
+ Decreases mastery: simply doing the same thing over and over again
Purpose
+ Connecting work to a larger cause than yourself
+ Improves purpose: delivering value and Getting Shit Done (GSD)
+ Decreases purpose: impossible problems, working on inconsequential stuff
On all of these, what matters is how teammates feel,
not necessarily the facts of the situation
Culture: Psychological safety
ENGINEERING MANAGEMENT FRAMEWORK
Overview
Psychological safety
+ Psychological safety is THE most important aspect to succeeding as a team
+ Team bonding, building trust, and having “good” conflict that doesn’t disparage people are all important aspects
+ The shared belief that the team is safe for interpersonal risk taking. In psychologically safe teams, team members
feel accepted and respected.
+ Benefits are manifold: improves likelihood that innovation will be successful, increases amount team members
learn from mistakes, boosts employee engagement, improves team innovation
+ Two key leadership aspects help create it: participatory management and inclusive management
+ Two aspects of a team that really help improve it: well-defined team structure where team members understand
their roles; strong relationships between cohesive team members
Build strong
relationships
+ Strong relationships are key to psychological safety so it’s important to ensure they exist on the team
+ Focusing on building trust / ability to have productive conflict is crucial: consider reading “Five Dysfunctions of a
Team” together
+ Encourage team interactions outside the office such as offsites, happy hours, hanging out, etc
+ Family-like atmosphere
Encourage feedback
and growth
+ Encourage team members to seek constant personal and professional growth
+ Encourage team members to provide each other feedback on a regular basis
Culture: Bottoms up and top down
ENGINEERING MANAGEMENT FRAMEWORK
Overview
Top-down
+ Culture must come from the top-down from leadership and be strongly supported bottoms-up by team members
reinforcing the culture
+ Team leadership needs to formally establish the culture by defining principles and values for the team
+ Leadership should also vocally support Autonomy/Master/Purpose and Psychological Safety
+ Be consistent in rewarding behavior according to principles
Bottoms up
+ A lot of bottoms up culture happens through a combination of hiring the right people, rewarding behavior consistent
with cultural principles, and supporting team AMP
+ Encourage the team to “own” culture and provide an environment where that’s possible

More Related Content

What's hot

Agile evolution lifecycle - From implementing Agile to being Agile
Agile evolution lifecycle - From implementing Agile to being AgileAgile evolution lifecycle - From implementing Agile to being Agile
Agile evolution lifecycle - From implementing Agile to being AgileMichal Epstein
 
Kanban for Portfolio Management
Kanban for Portfolio ManagementKanban for Portfolio Management
Kanban for Portfolio ManagementGaetano Mazzanti
 
Agile transformation best practices
Agile transformation best practicesAgile transformation best practices
Agile transformation best practicesAllyson Chiarini
 
SAFe® - scaled agile framework in practice
SAFe® - scaled agile framework in practiceSAFe® - scaled agile framework in practice
SAFe® - scaled agile framework in practiceIntland Software GmbH
 
Turning Up the Magic in PI Planning
Turning Up the Magic in PI PlanningTurning Up the Magic in PI Planning
Turning Up the Magic in PI PlanningEm Campbell-Pretty
 
How to measure the outcome of agile transformation
How to measure the outcome of agile transformationHow to measure the outcome of agile transformation
How to measure the outcome of agile transformationRahul Sudame
 
Introduction to Scaled Agile Framework SAFe
Introduction to Scaled Agile Framework SAFeIntroduction to Scaled Agile Framework SAFe
Introduction to Scaled Agile Framework SAFeJosef Scherer
 
Agile Mindset : The Paradigm Shift..! - Agile Tour Algiers 2017
Agile Mindset : The Paradigm Shift..! - Agile Tour Algiers 2017Agile Mindset : The Paradigm Shift..! - Agile Tour Algiers 2017
Agile Mindset : The Paradigm Shift..! - Agile Tour Algiers 2017Taoufik Fekhar
 
What Is Platform as a Product - Clues from Team Topologies @ AXA, Sep 2021
What Is Platform as a Product - Clues from Team Topologies @ AXA, Sep 2021What Is Platform as a Product - Clues from Team Topologies @ AXA, Sep 2021
What Is Platform as a Product - Clues from Team Topologies @ AXA, Sep 2021Manuel Pais
 
Agile Estimating & Planning
Agile Estimating & PlanningAgile Estimating & Planning
Agile Estimating & PlanningAgileDad
 
Agile Transformation
Agile TransformationAgile Transformation
Agile TransformationMax Carlin
 
Scaling Agile With SAFe (Scaled Agile Framework)
Scaling Agile With SAFe (Scaled Agile Framework)Scaling Agile With SAFe (Scaled Agile Framework)
Scaling Agile With SAFe (Scaled Agile Framework)Andreano Lanusse
 
Exploring Agile Transformation and Scaling Patterns
Exploring Agile Transformation and Scaling PatternsExploring Agile Transformation and Scaling Patterns
Exploring Agile Transformation and Scaling PatternsMike Cottmeyer
 
10 differences between SAFe and LeSS
10 differences between SAFe and LeSS10 differences between SAFe and LeSS
10 differences between SAFe and LeSSStanislaw Matczak
 
Customer Focus and an Agile Mindset to Navigate in Complexity
Customer Focus and an Agile Mindset to Navigate in ComplexityCustomer Focus and an Agile Mindset to Navigate in Complexity
Customer Focus and an Agile Mindset to Navigate in ComplexityMia Kolmodin
 
Introduction to scaled agile framework
Introduction to scaled agile frameworkIntroduction to scaled agile framework
Introduction to scaled agile frameworkITEM
 

What's hot (20)

Agile Teams
Agile TeamsAgile Teams
Agile Teams
 
Agile evolution lifecycle - From implementing Agile to being Agile
Agile evolution lifecycle - From implementing Agile to being AgileAgile evolution lifecycle - From implementing Agile to being Agile
Agile evolution lifecycle - From implementing Agile to being Agile
 
Kanban for Portfolio Management
Kanban for Portfolio ManagementKanban for Portfolio Management
Kanban for Portfolio Management
 
Agile transformation best practices
Agile transformation best practicesAgile transformation best practices
Agile transformation best practices
 
SAFe® - scaled agile framework in practice
SAFe® - scaled agile framework in practiceSAFe® - scaled agile framework in practice
SAFe® - scaled agile framework in practice
 
Turning Up the Magic in PI Planning
Turning Up the Magic in PI PlanningTurning Up the Magic in PI Planning
Turning Up the Magic in PI Planning
 
How to measure the outcome of agile transformation
How to measure the outcome of agile transformationHow to measure the outcome of agile transformation
How to measure the outcome of agile transformation
 
Introduction to Scaled Agile Framework SAFe
Introduction to Scaled Agile Framework SAFeIntroduction to Scaled Agile Framework SAFe
Introduction to Scaled Agile Framework SAFe
 
Agile Mindset : The Paradigm Shift..! - Agile Tour Algiers 2017
Agile Mindset : The Paradigm Shift..! - Agile Tour Algiers 2017Agile Mindset : The Paradigm Shift..! - Agile Tour Algiers 2017
Agile Mindset : The Paradigm Shift..! - Agile Tour Algiers 2017
 
What Is Platform as a Product - Clues from Team Topologies @ AXA, Sep 2021
What Is Platform as a Product - Clues from Team Topologies @ AXA, Sep 2021What Is Platform as a Product - Clues from Team Topologies @ AXA, Sep 2021
What Is Platform as a Product - Clues from Team Topologies @ AXA, Sep 2021
 
Agile Estimating & Planning
Agile Estimating & PlanningAgile Estimating & Planning
Agile Estimating & Planning
 
Agile Transformation
Agile TransformationAgile Transformation
Agile Transformation
 
Agile
AgileAgile
Agile
 
Scaling Agile With SAFe (Scaled Agile Framework)
Scaling Agile With SAFe (Scaled Agile Framework)Scaling Agile With SAFe (Scaled Agile Framework)
Scaling Agile With SAFe (Scaled Agile Framework)
 
The Challenges of Agile Adoption
The Challenges of Agile AdoptionThe Challenges of Agile Adoption
The Challenges of Agile Adoption
 
Exploring Agile Transformation and Scaling Patterns
Exploring Agile Transformation and Scaling PatternsExploring Agile Transformation and Scaling Patterns
Exploring Agile Transformation and Scaling Patterns
 
10 differences between SAFe and LeSS
10 differences between SAFe and LeSS10 differences between SAFe and LeSS
10 differences between SAFe and LeSS
 
Customer Focus and an Agile Mindset to Navigate in Complexity
Customer Focus and an Agile Mindset to Navigate in ComplexityCustomer Focus and an Agile Mindset to Navigate in Complexity
Customer Focus and an Agile Mindset to Navigate in Complexity
 
Scrum in a nutshell
Scrum in a nutshellScrum in a nutshell
Scrum in a nutshell
 
Introduction to scaled agile framework
Introduction to scaled agile frameworkIntroduction to scaled agile framework
Introduction to scaled agile framework
 

Similar to Eng Mgmt Fw People Processes Tech Culture

Postmortemanalysis 120520033844-phpapp02
Postmortemanalysis 120520033844-phpapp02Postmortemanalysis 120520033844-phpapp02
Postmortemanalysis 120520033844-phpapp02Loriebel Manabat
 
DOES15 - Damon Edwards - DevOps Kaizen Practical Steps to Start & Sustain a T...
DOES15 - Damon Edwards - DevOps Kaizen Practical Steps to Start & Sustain a T...DOES15 - Damon Edwards - DevOps Kaizen Practical Steps to Start & Sustain a T...
DOES15 - Damon Edwards - DevOps Kaizen Practical Steps to Start & Sustain a T...Gene Kim
 
DevOps Kaizen: Practical Steps to Start & Sustain a Transformation
DevOps Kaizen: Practical Steps to Start & Sustain a TransformationDevOps Kaizen: Practical Steps to Start & Sustain a Transformation
DevOps Kaizen: Practical Steps to Start & Sustain a Transformationdev2ops
 
Agile Experience In Complex Projects
Agile Experience In Complex ProjectsAgile Experience In Complex Projects
Agile Experience In Complex ProjectsBorys Lebeda
 
Andrew Lukianenko: Role of Project Manager in tech startups (UA)
Andrew Lukianenko: Role of Project Manager in tech startups (UA)Andrew Lukianenko: Role of Project Manager in tech startups (UA)
Andrew Lukianenko: Role of Project Manager in tech startups (UA)Lviv Startup Club
 
Agile Metrics Meetup: What to Measure and How?
Agile Metrics Meetup: What to Measure and How?Agile Metrics Meetup: What to Measure and How?
Agile Metrics Meetup: What to Measure and How?Agile Circles Indonesia
 
Agile Metrics Meetup: What to Measure and How?
Agile Metrics Meetup: What to Measure and How?Agile Metrics Meetup: What to Measure and How?
Agile Metrics Meetup: What to Measure and How?Hugo Messer
 
Tom - Scrum
Tom - ScrumTom - Scrum
Tom - Scrumd0nn9n
 
Susan Clarke - The practicalities of adopting scaled agile methodologies
Susan Clarke - The practicalities of adopting scaled agile methodologiesSusan Clarke - The practicalities of adopting scaled agile methodologies
Susan Clarke - The practicalities of adopting scaled agile methodologiesAssociation for Project Management
 
LeSS-Intro - Scrum Meetup Berlin
LeSS-Intro - Scrum Meetup BerlinLeSS-Intro - Scrum Meetup Berlin
LeSS-Intro - Scrum Meetup BerlinAnton Skornyakov
 
Agile Team Performance Appraisal
Agile Team Performance AppraisalAgile Team Performance Appraisal
Agile Team Performance AppraisalAshutosh Rai
 
Best Practices When Moving To Agile Project Management
Best Practices When Moving To Agile Project ManagementBest Practices When Moving To Agile Project Management
Best Practices When Moving To Agile Project ManagementRobert McGeachy
 
DOES15 - Heather Mickman & Ross Clanton - (Re)building an Engineering Culture...
DOES15 - Heather Mickman & Ross Clanton - (Re)building an Engineering Culture...DOES15 - Heather Mickman & Ross Clanton - (Re)building an Engineering Culture...
DOES15 - Heather Mickman & Ross Clanton - (Re)building an Engineering Culture...Gene Kim
 
DOES15 DevOps@TGT (re)building an engineering culture
DOES15 DevOps@TGT (re)building an engineering culture DOES15 DevOps@TGT (re)building an engineering culture
DOES15 DevOps@TGT (re)building an engineering culture Ross Clanton
 
Scrum. Beginning Your Agile Transformation
Scrum. Beginning Your Agile TransformationScrum. Beginning Your Agile Transformation
Scrum. Beginning Your Agile TransformationAndreea Visanoiu
 
Brief introduction to project management and project management tools
Brief introduction to project management and project management toolsBrief introduction to project management and project management tools
Brief introduction to project management and project management toolsNathan Petralia
 

Similar to Eng Mgmt Fw People Processes Tech Culture (20)

Introducing techsharp
Introducing techsharpIntroducing techsharp
Introducing techsharp
 
Postmortemanalysis 120520033844-phpapp02
Postmortemanalysis 120520033844-phpapp02Postmortemanalysis 120520033844-phpapp02
Postmortemanalysis 120520033844-phpapp02
 
DOES15 - Damon Edwards - DevOps Kaizen Practical Steps to Start & Sustain a T...
DOES15 - Damon Edwards - DevOps Kaizen Practical Steps to Start & Sustain a T...DOES15 - Damon Edwards - DevOps Kaizen Practical Steps to Start & Sustain a T...
DOES15 - Damon Edwards - DevOps Kaizen Practical Steps to Start & Sustain a T...
 
DevOps Kaizen: Practical Steps to Start & Sustain a Transformation
DevOps Kaizen: Practical Steps to Start & Sustain a TransformationDevOps Kaizen: Practical Steps to Start & Sustain a Transformation
DevOps Kaizen: Practical Steps to Start & Sustain a Transformation
 
Agile Experience In Complex Projects
Agile Experience In Complex ProjectsAgile Experience In Complex Projects
Agile Experience In Complex Projects
 
Andrew Lukianenko: Role of Project Manager in tech startups (UA)
Andrew Lukianenko: Role of Project Manager in tech startups (UA)Andrew Lukianenko: Role of Project Manager in tech startups (UA)
Andrew Lukianenko: Role of Project Manager in tech startups (UA)
 
Agile Metrics Meetup: What to Measure and How?
Agile Metrics Meetup: What to Measure and How?Agile Metrics Meetup: What to Measure and How?
Agile Metrics Meetup: What to Measure and How?
 
Agile Metrics Meetup: What to Measure and How?
Agile Metrics Meetup: What to Measure and How?Agile Metrics Meetup: What to Measure and How?
Agile Metrics Meetup: What to Measure and How?
 
Tom - Scrum
Tom - ScrumTom - Scrum
Tom - Scrum
 
Susan Clarke - The practicalities of adopting scaled agile methodologies
Susan Clarke - The practicalities of adopting scaled agile methodologiesSusan Clarke - The practicalities of adopting scaled agile methodologies
Susan Clarke - The practicalities of adopting scaled agile methodologies
 
LeSS-Intro - Scrum Meetup Berlin
LeSS-Intro - Scrum Meetup BerlinLeSS-Intro - Scrum Meetup Berlin
LeSS-Intro - Scrum Meetup Berlin
 
Agile Team Performance Appraisal
Agile Team Performance AppraisalAgile Team Performance Appraisal
Agile Team Performance Appraisal
 
Project Management
Project ManagementProject Management
Project Management
 
Best Practices When Moving To Agile Project Management
Best Practices When Moving To Agile Project ManagementBest Practices When Moving To Agile Project Management
Best Practices When Moving To Agile Project Management
 
DOES15 - Heather Mickman & Ross Clanton - (Re)building an Engineering Culture...
DOES15 - Heather Mickman & Ross Clanton - (Re)building an Engineering Culture...DOES15 - Heather Mickman & Ross Clanton - (Re)building an Engineering Culture...
DOES15 - Heather Mickman & Ross Clanton - (Re)building an Engineering Culture...
 
DOES15 DevOps@TGT (re)building an engineering culture
DOES15 DevOps@TGT (re)building an engineering culture DOES15 DevOps@TGT (re)building an engineering culture
DOES15 DevOps@TGT (re)building an engineering culture
 
Feb Apln OC Shawna C
Feb Apln OC  Shawna CFeb Apln OC  Shawna C
Feb Apln OC Shawna C
 
Scrum. Beginning Your Agile Transformation
Scrum. Beginning Your Agile TransformationScrum. Beginning Your Agile Transformation
Scrum. Beginning Your Agile Transformation
 
Brief introduction to project management and project management tools
Brief introduction to project management and project management toolsBrief introduction to project management and project management tools
Brief introduction to project management and project management tools
 
First fare 2011 project-management
First fare 2011 project-managementFirst fare 2011 project-management
First fare 2011 project-management
 

Recently uploaded

Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 

Recently uploaded (20)

E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 

Eng Mgmt Fw People Processes Tech Culture

  • 1. Engineering Management Framework Building an Awesome Software Engineering Team
  • 2. The Engineering Management Framework People Processes Technology Culture + Hiring / talent standards + Talent development / mentorship + Organization structure Sub-areas Explanation / details + Eng teams live and die based on talent / tendency towards action + Grow eng skills internally via L&L’s, mentorship, pair prgming, etc + Create well-defined roles & responsibilities that fit team member talents and aspirations + Roadmap Development + Sprint Planning & Req Gathering + Dev → QA → Deploy pipeline (GSD) + Bug / issue reporting & resolution + Product leads with heavy input / buy-in from Eng team + Crux of making sure all teams are on the same page + Maximize throughput while minimizing tech debt / bugs + Ensure we address urgent customer issues ASAP and provide mechanism for reporting bugs + DevOps / infrastructure + Front end architecture + Backend languages / architecture + Tools + Ensure uptime and agility + Create a great customer UX that’s maintainable + Create maintainable backend codebases to support your UX + Foster productivity with “right tool for the job” approach + Autonomy, Mastery, Purpose + Psychological safety + Bottoms up and top down (provide a vision / empower the team) + Ensures the team is engaged and minimizes turnover + Psychological safety is THE most important ingredient in team results + Culture has to come from both directions to succeed Details to follow on each sub-area
  • 3. Engineering Mgmt Framework People Hiring / talent standards Talent development / mentorship Organization structure Process Technology Culture
  • 4. People: Hiring / talent standards ENGINEERING MANAGEMENT FRAMEWORK Overview Sourcing candidates + Hiring quality engineers is absolutely critical to building a successful team. + Hiring should be a top priority for leadership when you have open roles + Sourcing quality candidates can be tough; leverage platforms like Hired.com and Angelist, encourage the team to send referrals, and use recruiters as a last resort Interview process + Three rounds with a HW problem b/w 2nd and final seems to work well; keep the pre-final round screening process the same for all candidates to ensure consistency + Make sure the candidate writes code! + Having a fairly consistent interview team is important but it’s also good to give people a “step-up” opportunity by participating in the process; make sure to balance these competing priorities + Team might be on the fence about some candidates; figure out a strategy for handling this ahead of time (additional homework, always no, etc) Other considerations + Promote internally where possible - try to avoid hiring above someone unless it really makes sense + Culture is super-duper important so reject candidates for cultural reasons
  • 5. People: Talent development / mentorship (1/2) ENGINEERING MANAGEMENT FRAMEWORK Overview Review process + Developing talent internally is super-important and should always be a consideration when making decisions + Regular review processes and formal / informal mentorship are both necessary + Ensure some sort of x-team knowledge sharing occurs on a regular basis (iron sharpens iron) + Review process should take place every six months to ensure people are always getting feedback they need + Align on a structured framework & process ahead of time that enables a holistic approach with 360 feedback + Engineers should be assigned mentors who will be in charge of collecting feedback and writing a fair review Promotions + Regular review process provides an easy forum to review performance and assess whether or not someone is ready for a promotion + Generally, a promotion should recognize a role someone is already playing (though exceptions can be made) + Should generally be agreement amongst engineering leadership on the promotion; strong dissent likely means the person isn’t quite ready yet + Promotion recommendations should be provided to the CEO for blessing though it’s mostly “rubber stamping” + Comp is a bit tricky. Let’s review in person. Performance issues + Performance issues should be addressed fairly quickly by someone’s direct manager + If problem persists, bring it up the chain to discuss potential options; if performance is bad enough to lead to termination if not corrected, make sure to mention it to the Management Team + Head of Engineering should have a very frank conversation with the person. Perf. improvement plan should be kept relatively short, 2-4 weeks, to be fair to all parties involved. Probation period afterwards of 1-2 months to encourage continued better performance assuming they’re not let go.
  • 6. People: Talent development / mentorship (2/2) ENGINEERING MANAGEMENT FRAMEWORK Mentorship + All engineers should have a formal mentor who’s in charge of directing their development over the long term + It’s also useful to encourage an informal mentorship network where strong engineers can provide mentorship to any engineer who’s interested Knowledge sharing + Encourage all engineers to share their knowledge with the rest of the team through some mechanism, e.g., “Lunch & Learn”, documentation, Slack, email, etc Leadership training + Provide leadership coaching, guidance, and training to engineers who are interested + Consider future organizational needs and ensure internal talent will be prepared to help address them
  • 7. People: Organization structure ENGINEERING MANAGEMENT FRAMEWORK Overview Designing an organization + Finding the right people for roles & responsibilities makes everything much easier + Org structure forces people into certain mindsets so design it carefully + First, map out what needs the team has (e.g., someone needs to own DevOps, QA, Acquisition, etc) + Next, try to group related stuff together where possible so that you don’t have a bunch of 1 engineer teams (e.g., maybe we have a team called “Strategic Tech” that does DevOps, Data, and Search stuff + Adjust the above if necessary for talent constraints and/or individual development needs Other considerations + Make sure the org structure aligns with business needs and generally “makes sense” + Don’t change it too often if possible + Be flexible and design it so most engineers can change teams if necessary → bus factor = 1 is very scary + Consider development trajectories and emotions + Keep great teams together if at all possible → research suggests that it takes time for teams to “get in a rhythm” and they’re much more productive when they do
  • 8. Engineering Mgmt Framework People Process Roadmap development Sprint Planning & Req Gathering Dev → QA → Deploy pipeline (GSD) Bug / issue reporting & resolution Technology
  • 9. Process: Roadmap Development ENGINEERING MANAGEMENT FRAMEWORK Overview Considerations + Long-term product roadmap essential to developing a great product + Mostly Product Management’s responsibility though Engineering should be heavily involved for input + Business rationale: Double check that the roadmap makes sense from a business perspective + Ensure that timelines are reasonable (e.g., engineering leads should do high level LOE estimations) + Tech debt: Ensure that it accounts for technical debt cleanup / other behind the scenes tech stuff that product may not be as aware of + Think about how it might influence Engineering AMP / team morale + Think about how it might influence team structure + Consider whether or not it affects the hiring plan
  • 10. Process: Sprint Planning & Req gathering (1/2) ENGINEERING MANAGEMENT FRAMEWORK Overview Requirements gathering + Gather requirements, estimate effort for tasks, and prioritize stuff in the short term + Product takes lead on the “what” though we as engineering have a heavy responsibility to help prioritize and provide an active input where we can do things more efficiently; ideally there’s a well-groomed backlog + Product should take lead on pulling in other stakeholders + Make sure we’re getting good enough requirements + Ideally engineers can point out when requirements are clear enough and problem solve with Product Mgmt to resolve the issues Handling problems + Unclear requirements: It’s best not to commit to something in a Sprint when the requirements aren’t clear enough to deliver; however, high priority situations will require that we be flexible + Uncertainty around an ask: If you know something could come up in the future, book Sprint time (e.g., 360/VR ask for NAB) even if it’s a bit vague; with a well-groomed backlog we can keep chugging even if we don’t end up executing against the vague ask Estimation + Let the entire team participate in point estimation where possible; it builds buy-in and ensures that the team doesn’t feel like it’s just taking orders as much + Try to keep point estimations constant over time + Slowly but surely increase point allocations / eng / day as long as you keep delivering though make sure this isn’t at the expense of work/life balance; you genuinely want the team to get more efficient
  • 11. Process: Sprint Planning & Req gathering (2/2) ENGINEERING MANAGEMENT FRAMEWORK Retrospectives + Make sure to do retrospectives every Sprint so the teams can continue improving + What went well, what can be improved
  • 12. Process: Dev → QA → Deploy pipeline (GSD) ENGINEERING MANAGEMENT FRAMEWORK Overview Development + Core engineering process that delivers new functionality + Where Engineers (ideally) spend most of their time! + Minimize meetings and distractions: Ideally, engineers should spend most of their time developing features + Includes Design and Code Reviews, which are crucial to building a great GSD pipeline. Otherwise you’ll leave massive amounts of tech debt in your wake + Fairly tightly coupled with some tech choices (Git/GitHub for source control) QA + TDD and a TDD culture are a must! + Unit tests, integration tests, Selenium / end-to-end tests + Tests should be fast! + Devs should do manual testing before handing it off to formal QA + We should have a fairly strong manual QA team Deploy + Ideally our test suites are good enough for us to do Continuous Integration if we want + Should have push-button deploys + Rollbacks should be super-simple + Anyone should be able to deploy but there should be people available to help fix problems if they arise (e.g., no middle-of-the-night deploys when you’re the only person awake)
  • 13. Process: Bug / issue reporting ENGINEERING MANAGEMENT FRAMEWORK Overview Reporting + Bugs and other issues are certain to occur + We need to have a process for fixing them and communicating appropriately with stakeholders + There should be as few channels for reporting bugs as possible while ensuring that urgent issues are always ID’d and resolved quickly + It should be easy to report bugs / issues and the “how” should be easy to remember + Non-urgent issues should be kept in a backlog of some kind Fixing issues / bugs + Standardize a process for addressing bugs / issues that everyone aligns on. Might be part of Sprint planning, might be it’s own process (e.g., Dev Requests) + Ideally all engineers help fixing bugs / issues -- don’t create two “classes” of engineers (coders and bug-fixers).
  • 14. Engineering Mgmt Framework People Process Technology DevOps / Infrastructure Front end architecture Backend languages / architecture Tools
  • 15. Process: DevOps / Infrastructure ENGINEERING MANAGEMENT FRAMEWORK Overview DevOps + DevOps should enable the team to move quickly and ensure our products are available for our customers + DevOps is a strategic asset b/c it lets you move faster than the competition when done well + Ensure that most of the team can do at least some DevOps and understands the basic concepts + Makes sense to have a specialist or two once the team reaches a critical size + Docker rules! + Remember, the goal is to leverage DevOps to move fast! Infrastructure + Our infrastructure should support our current needs and be prepared to scale to 10x our current volume + Make sure it’s flexible for new demands even within the 10x volume + Make sure it’s not slowing you down or costing too much + Know the architecture! Current architecture leads to a lot of business constraints that you have to be able to communicate to the executive team. + Have a plan for the future! Even within the 10x volume constraint our infrastructure will need to evolve to support future needs (e.g., OneAccount)
  • 16. Process: Frontend Architecture ENGINEERING MANAGEMENT FRAMEWORK Overview ReactJS / Flux + Our frontend architecture should support an amazing customer UX and also be maintainable + ReactJS / Flux combo seems to be the best option at the moment + The future! Easy-to-understand design pattern makes for an extremely flexible way of building web apps + The one downside (thanks to Kim for calling this out) seems to be CSS transitions Everything else + The past + We should eventually migrate to ReactJS / Flux where it makes sense
  • 17. Process: Backend languages / architecture ENGINEERING MANAGEMENT FRAMEWORK Overview Backend languages + Ideally, we should use the right tool for the job + Transitioning backend to microservices will enable the business to move faster + Good options for VB: PHP, Node, Scala + Many other options are ok depending on the circumstances Microservices + Backends for frontends with microservices + First build a monolith then split out services once you’ve scaled (code well initially and this is much easier)
  • 18. Process: Tools ENGINEERING MANAGEMENT FRAMEWORK Overview Tool selection + Super important to choose the right tools for the job because they dramatically affect productivity + Version control: Git, GitHub, and SmartGit + IDE: anything JetBrains + Use a debugger! + CircleCI for unit testing + Not sure for Selenium testing + Sequel Pro (Mac) for MySQL + Sublime Text for editing random txt docs, some code + BeyondCompare for FTP / file diffs + AWS! + Docker Hub
  • 19. Engineering Mgmt Framework People Process Technology Culture Autonomy, Master, Purpose Psychological safety Bottoms up and top down
  • 20. Culture: Autonomy, Mastery, Purpose ENGINEERING MANAGEMENT FRAMEWORK Overview Autonomy + The secret to building a happy, motivated team; HUGE for retention! + Straight from Daniel Pink’s “Drive” + The power to make impactful decisions in your day-to-day work + Improves autonomy: building new stuff, flexibility to select your projects + Decreases autonomy: processes, just following instructions Mastery + Continued growth and development + Improves mastery: learning new technologies & skills, solving hard but tractable problems + Decreases mastery: simply doing the same thing over and over again Purpose + Connecting work to a larger cause than yourself + Improves purpose: delivering value and Getting Shit Done (GSD) + Decreases purpose: impossible problems, working on inconsequential stuff On all of these, what matters is how teammates feel, not necessarily the facts of the situation
  • 21. Culture: Psychological safety ENGINEERING MANAGEMENT FRAMEWORK Overview Psychological safety + Psychological safety is THE most important aspect to succeeding as a team + Team bonding, building trust, and having “good” conflict that doesn’t disparage people are all important aspects + The shared belief that the team is safe for interpersonal risk taking. In psychologically safe teams, team members feel accepted and respected. + Benefits are manifold: improves likelihood that innovation will be successful, increases amount team members learn from mistakes, boosts employee engagement, improves team innovation + Two key leadership aspects help create it: participatory management and inclusive management + Two aspects of a team that really help improve it: well-defined team structure where team members understand their roles; strong relationships between cohesive team members Build strong relationships + Strong relationships are key to psychological safety so it’s important to ensure they exist on the team + Focusing on building trust / ability to have productive conflict is crucial: consider reading “Five Dysfunctions of a Team” together + Encourage team interactions outside the office such as offsites, happy hours, hanging out, etc + Family-like atmosphere Encourage feedback and growth + Encourage team members to seek constant personal and professional growth + Encourage team members to provide each other feedback on a regular basis
  • 22. Culture: Bottoms up and top down ENGINEERING MANAGEMENT FRAMEWORK Overview Top-down + Culture must come from the top-down from leadership and be strongly supported bottoms-up by team members reinforcing the culture + Team leadership needs to formally establish the culture by defining principles and values for the team + Leadership should also vocally support Autonomy/Master/Purpose and Psychological Safety + Be consistent in rewarding behavior according to principles Bottoms up + A lot of bottoms up culture happens through a combination of hiring the right people, rewarding behavior consistent with cultural principles, and supporting team AMP + Encourage the team to “own” culture and provide an environment where that’s possible