SlideShare a Scribd company logo
1 of 51
Download to read offline
HOW TO BUILD
SUSTAINABLE DEV TEAMS
INCLUSIVE ARCHITECTURE
WHAT IS THE PAMSTACK?
PROCESS MENTORSHIPABSTRACTIONS
INCLUSIVE
ARCHITECTURE
ENABLES
● Less project maintenance
● Less stress
● Cooperative teams
● Decrease project costs
● Greater diversity
TRACY LEE
@ladyleet
Lead, This Dot Labs, JS consulting (Angular, React, Vue, Node, Polymer)
RxJS Core Team
Google Developer Expert, Angular
Microsoft MVP
Community Rel, Node.js @ OpenJS Foundation
Women Techmakers, GDG Silicon Valley & Triangle
Modern Web Podcast
WHY AREN’T JUNIORS
SUCCESSFUL ON OUR
TEAMS?
People believe that the reason
juniors don’t succeed is due to a
deficiency of the juniors.
They don’t realize it may be a fault
of the the teams.
How non-inclusive projects hurt juniors:
● Poor onboarding documentation
● Rely on individual excellence
● Unnecessarily complex codebase
● No review or mentorship
How non-inclusivity actually hurts everyone
● Harder to onboard and hire
● “Hit by a bus” fears
● Productivity delays
● Lack of advancement & stagnant careers
Individuals succeed and are enabled by teamwork and collaboration
Decrease unnecessary complexity and focus on important features
More innovation, more excitement, more learning
A wider and more diverse set of engineers and skills on your team
THE INCLUSIVE VISION
WHAT IS THE PAMSTACK?
PROCESS MENTORSHIPABSTRACTIONS
WHAT IS THE PAMSTACK?
PROCESS MENTORSHIPABSTRACTIONS
Process doesn’t have to be...
“Processes are usually ad hoc and chaotic.
The organization usually does not provide a
stable environment to support processes...”
“... Success in these organizations depends
on the competence and heroics of the
people in the organization and not on the
use of proven processes...”
“...These organizations are characterized by
a tendency to overcommit, abandon their
processes in a time of crisis, and be unable
to repeat their successes.”
● Clear expectations
● Greater team engagement and cooperation
● No single-points-of-failure
● Less stress during the crazy
● Reduced conflicts and fewer power struggles
THE BENEFITS OF
PROCESS DONE RIGHT
● What needs to be done?
● Who will do those things?
● How should it be done?
● When should it be done?
HOW TO CREATE PLANS
The purpose of code peer review is to ensure
that changes to source code Verification Items
are correct, appropriate and follow style
guidelines.
The goal of the code peer review process is to
discover and correct defects in code before they
can be observed by testers or customers.
CODE PEER REVIEW
Once all Peer Reviewers have
completed the review, the author
responds to comments and
corrects defects.
If there is a disagreement about how
to resolve an issue, the parties
involved should work together to
reach compromise. If an agreement
is not reached, the Development
Manager will arbitrate the dispute.
If a review defect cannot be resolved in the
scope of the peer review, it will be marked
as Track Externally and a defect will be
created in the Quality Center for the issue
and the defect number is added on the
peer review for traceability.
The person who makes the initial changes to the code, makes the review in
CodeCollaborator and revises the Verification Items based on the results of the peer
review.
Responsible for reviewing Verification Items. Can be any developer except the
author. At least one Peer Reviewer is required.
Responsible for reviewing code. Can be any Project 4 team member. Unlike Peer
Reviewers, they are not required to approve a review before it concludes. Having an
observer is not required either.
They take the role of Authors, Peer Reviewers or Observers.
AUTHOR
PEER REVIEWERS
OBSERVERS
DEVELOPERS
ROLES AND RESPONSIBILITIES
● Minimize errors
● Teach new team members
● Reduce cognitive load
CREATE CHECKLISTS
TYPES OF REVIEWS
● Meeting Notes
● Designs
● Requirements
● Tests
● Code
● Plans
● Email to Clients
WHAT IS THE PAMSTACK?
PROCESS MENTORSHIPABSTRACTIONS
WHAT IS THE PAMSTACK?
PROCESS MENTORSHIPABSTRACTIONS
WEB DEVELOPMENT IS HARD
Performance
Security
Accessibility
Responsive Design
Progressive Enhancement
Browser Compatibility
Progressive Web Apps
FRAMEWORKS CAN HELP!
THEY MAKE IT EASY TO DO THE RIGHT THING
LET A FRAMEWORK
DEAL WITH BASIC
PERFORMANCE & SCALABILITY
Tools
● Angular CLI
● Angular Console
● Nx
● Prettier
● Great docs
Architecture & Code
● Component based
● Code reusability
● Libraries
● TypeScript
● Angular Material
& the community!
● Goal is to isolate the construction of the interface from the
business logic and the complicated tech integrations
● This could be done by separating the application into layers
● The senior engineers can implement the most critical sections
and provide hooks for juniors to wire the interface together
ARCHITECTURE
● Strongly typed methods, variables, services
● Easier to understand functionality
● Stricter rules come with less bugs and growing need to
understand the purpose of each method
● Know what to expect and plan accordingly
● Better error handling, spotting the root of the problem
TYPESCRIPT
QUICK START DEVELOPMENT -
CLIS FTW!
● Scaffolding a new project
● Zero-config environment
● Smart defaults
● Out of the box performance using
automatic differential serving, lazy
loading, tree shaking, AoT
compilation
● Actively maintained and kept
up-to-date with core libraries
CLIS FTW!
● Reduce the risk of defects due to
out-of-date or misconfigured
technologies
● Easy migration between major
versions of libraries
● Documentation readily available
● Low risk - ejecting always a
possibility
FRAMEWORK GUIS
STATE MANAGEMENT
STATE MANAGEMENT
STATE MACHINES
DESIGN AND USER EXPERIENCE
● Shared visual language for your team
● Focus and constrain the set of options when building interfaces
● Contain:
○ Design purpose and guidelines
○ Designer resources (ex: Sketch files)
○ Content guidelines
○ Patterns
○ CSS Classes
DESIGN SYSTEMS
● Set of basic reusable components
● Implement the requirements of a design system
● Help tackle accessibility, responsiveness, etc.
● API is usually more complete and thoughtful
COMPONENT LIBRARIES
WHAT IS THE PAMSTACK?
PROCESS MENTORSHIPABSTRACTIONS
WHAT IS THE PAMSTACK?
PROCESS MENTORSHIPABSTRACTIONS
HIRING IS EXPENSIVE FOR YOUR TEAM -
KEEP YOUR PEOPLE
● Accelerates learning & growth
● Increases confidence
● Decreases fear of contribution/collaboration/idea sharing
● Increases communication skills
● Mentees feel more invested-in and valued
● Improves upward mobility (5x more likely to be promoted)
● Mentees become mentors and pass all these benefits on
Eric Elliott https://medium.com/javascript-scene/struggling-to-find-great-senior-javascript-developers-mentorship-is-the-answer-d352ea3574eb
WHAT’S IN IT FOR MENTEES
● Great perk for recruiting
● Increases developer productivity & retention (~70% more likely)
● Reduces knowledge silos
● Improves the bus factor — reduces succession risks
● Creates a more positive, helpful, collaborative team culture
● Increases loyalty
● Increases employee engagement and motivation
● Improves leader identification and promotion pipeline — mentors
are 6 times more likely to be promoted (Sun Microsystems)
WHAT’S IN IT FOR OTHERS
Eric Elliott https://medium.com/javascript-scene/struggling-to-find-great-senior-javascript-developers-mentorship-is-the-answer-d352ea3574eb
● Fostering a culture of teaching and sharing
● Formal 1:1 Sessions
● Code Reviews
● Pair Programming
● “Tech Talks”
● Chat Channels
SHIFTING THE ROLE
OF THE SENIOR DEV
WHAT IS THE PAMSTACK?
PROCESS MENTORSHIPABSTRACTIONS
HOW JUNIORS CAN HELP THEIR
TEAM USE THE PAMSTACK
● Bootstrap process by writing things down, sharing with the team
● Mentor and help your peers who are being onboarded
● Ask questions about the project, code, or process. Document the
answers and share with others.
● Do and ask for code reviews proactively as a way to understand,
get feedback, and create a culture of mentorship.
● If team loves your process or ideas, ask for it to be formally
incorporated into process
Upcoming Events
Angular Online - 1st Thursdays
React Online - 2nd Thursdays
Vue Online - 3rd Thursdays
Cloud Functions & Firebase Training - October 8
If you’re interested in
JavaScript Consulting
let me know!
Also, we’re hiring!
hi@thisdot.co
THANK YOU!

More Related Content

What's hot

BA World - BA in AGILE Projects
BA World - BA in AGILE ProjectsBA World - BA in AGILE Projects
BA World - BA in AGILE ProjectsMethodgroup
 
Team maturity scale: How old is your team?
Team maturity scale: How old is your team?Team maturity scale: How old is your team?
Team maturity scale: How old is your team?Tanya Ivanova
 
Agile project inception workshop
Agile project inception workshopAgile project inception workshop
Agile project inception workshopBill Bourne
 
Rapid Project Inception
Rapid Project InceptionRapid Project Inception
Rapid Project Inceptionudairaj
 
Lean/Agile/DevOps 2016 part 1
Lean/Agile/DevOps 2016  part 1Lean/Agile/DevOps 2016  part 1
Lean/Agile/DevOps 2016 part 1Diego Pacheco
 
ScottKellyresume3-24-2016
ScottKellyresume3-24-2016ScottKellyresume3-24-2016
ScottKellyresume3-24-2016Scott Kelly
 
(( Lucas lima )) Managing WordPress Projects - STL Meetup August 2015
(( Lucas lima )) Managing WordPress Projects - STL Meetup August 2015(( Lucas lima )) Managing WordPress Projects - STL Meetup August 2015
(( Lucas lima )) Managing WordPress Projects - STL Meetup August 2015Lucas Lima
 
Developer relations KPIs
Developer relations KPIsDeveloper relations KPIs
Developer relations KPIsTessa Mero
 
Webinar on Distributed Agile Development - what works and why
Webinar on Distributed Agile Development - what works and why  Webinar on Distributed Agile Development - what works and why
Webinar on Distributed Agile Development - what works and why Impetus Technologies
 
HP's Dev Ops Summit 2021, Better Together: An Inner Source Journey
HP's Dev Ops Summit 2021, Better Together: An Inner Source JourneyHP's Dev Ops Summit 2021, Better Together: An Inner Source Journey
HP's Dev Ops Summit 2021, Better Together: An Inner Source JourneyAliza Carpio
 
Implementing Dual-Track Agile :: Lessons from the trenches @ITSpring.by May 2019
Implementing Dual-Track Agile :: Lessons from the trenches @ITSpring.by May 2019Implementing Dual-Track Agile :: Lessons from the trenches @ITSpring.by May 2019
Implementing Dual-Track Agile :: Lessons from the trenches @ITSpring.by May 2019Pedro Teixeira
 
Lean/Agile/DevOps 2016 part 2
Lean/Agile/DevOps 2016 part 2Lean/Agile/DevOps 2016 part 2
Lean/Agile/DevOps 2016 part 2Diego Pacheco
 
Less Process, more Guidance with a Team Playbook
Less Process, more Guidance with a Team PlaybookLess Process, more Guidance with a Team Playbook
Less Process, more Guidance with a Team PlaybookSven Peters
 
Main presentation slides Developer Student Clubs GEC Bilaspur
Main presentation slides Developer Student Clubs GEC BilaspurMain presentation slides Developer Student Clubs GEC Bilaspur
Main presentation slides Developer Student Clubs GEC BilaspurDomendra Sahu
 
Let's Work Together!
Let's Work Together!Let's Work Together!
Let's Work Together!Brad Frost
 
Agile For Life : Becoming Agile Family
Agile For Life : Becoming Agile FamilyAgile For Life : Becoming Agile Family
Agile For Life : Becoming Agile FamilyYoungjin Kim
 
UC Irvine WICS workshop feb 2017
UC Irvine WICS workshop feb 2017UC Irvine WICS workshop feb 2017
UC Irvine WICS workshop feb 2017Aliza Carpio
 

What's hot (19)

Introducing techsharp
Introducing techsharpIntroducing techsharp
Introducing techsharp
 
BA World - BA in AGILE Projects
BA World - BA in AGILE ProjectsBA World - BA in AGILE Projects
BA World - BA in AGILE Projects
 
Team maturity scale: How old is your team?
Team maturity scale: How old is your team?Team maturity scale: How old is your team?
Team maturity scale: How old is your team?
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Agile project inception workshop
Agile project inception workshopAgile project inception workshop
Agile project inception workshop
 
Rapid Project Inception
Rapid Project InceptionRapid Project Inception
Rapid Project Inception
 
Lean/Agile/DevOps 2016 part 1
Lean/Agile/DevOps 2016  part 1Lean/Agile/DevOps 2016  part 1
Lean/Agile/DevOps 2016 part 1
 
ScottKellyresume3-24-2016
ScottKellyresume3-24-2016ScottKellyresume3-24-2016
ScottKellyresume3-24-2016
 
(( Lucas lima )) Managing WordPress Projects - STL Meetup August 2015
(( Lucas lima )) Managing WordPress Projects - STL Meetup August 2015(( Lucas lima )) Managing WordPress Projects - STL Meetup August 2015
(( Lucas lima )) Managing WordPress Projects - STL Meetup August 2015
 
Developer relations KPIs
Developer relations KPIsDeveloper relations KPIs
Developer relations KPIs
 
Webinar on Distributed Agile Development - what works and why
Webinar on Distributed Agile Development - what works and why  Webinar on Distributed Agile Development - what works and why
Webinar on Distributed Agile Development - what works and why
 
HP's Dev Ops Summit 2021, Better Together: An Inner Source Journey
HP's Dev Ops Summit 2021, Better Together: An Inner Source JourneyHP's Dev Ops Summit 2021, Better Together: An Inner Source Journey
HP's Dev Ops Summit 2021, Better Together: An Inner Source Journey
 
Implementing Dual-Track Agile :: Lessons from the trenches @ITSpring.by May 2019
Implementing Dual-Track Agile :: Lessons from the trenches @ITSpring.by May 2019Implementing Dual-Track Agile :: Lessons from the trenches @ITSpring.by May 2019
Implementing Dual-Track Agile :: Lessons from the trenches @ITSpring.by May 2019
 
Lean/Agile/DevOps 2016 part 2
Lean/Agile/DevOps 2016 part 2Lean/Agile/DevOps 2016 part 2
Lean/Agile/DevOps 2016 part 2
 
Less Process, more Guidance with a Team Playbook
Less Process, more Guidance with a Team PlaybookLess Process, more Guidance with a Team Playbook
Less Process, more Guidance with a Team Playbook
 
Main presentation slides Developer Student Clubs GEC Bilaspur
Main presentation slides Developer Student Clubs GEC BilaspurMain presentation slides Developer Student Clubs GEC Bilaspur
Main presentation slides Developer Student Clubs GEC Bilaspur
 
Let's Work Together!
Let's Work Together!Let's Work Together!
Let's Work Together!
 
Agile For Life : Becoming Agile Family
Agile For Life : Becoming Agile FamilyAgile For Life : Becoming Agile Family
Agile For Life : Becoming Agile Family
 
UC Irvine WICS workshop feb 2017
UC Irvine WICS workshop feb 2017UC Irvine WICS workshop feb 2017
UC Irvine WICS workshop feb 2017
 

Similar to ChicagoJS's JSCAMP 2019 Keynote - Inclusive Architecture - Building Sustainable Dev Teams with the PAMstack

The complexity in the simplicity of Agile? by Arie van Bennekum
The complexity in the simplicity of Agile? by Arie van BennekumThe complexity in the simplicity of Agile? by Arie van Bennekum
The complexity in the simplicity of Agile? by Arie van BennekumAgile ME
 
Agile software development
Agile software development Agile software development
Agile software development saurabh goel
 
Software Engineer's Career Management Toolkit
Software Engineer's Career Management ToolkitSoftware Engineer's Career Management Toolkit
Software Engineer's Career Management Toolkitozgengungor1
 
PMI-ACP Training Deck
PMI-ACP Training DeckPMI-ACP Training Deck
PMI-ACP Training Deckwjperez0629
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software DevelopmentAhmet Bulut
 
How to get the best out of DevSecOps - a developers perspective
How to get the best out of DevSecOps - a developers perspectiveHow to get the best out of DevSecOps - a developers perspective
How to get the best out of DevSecOps - a developers perspectiveColin Domoney
 
DevOpsDays Jakarta Igites
DevOpsDays Jakarta IgitesDevOpsDays Jakarta Igites
DevOpsDays Jakarta IgitesDevOpsDaysJKT
 
Process and flows of an IT Project - presentation.pdf
Process and flows of an IT Project - presentation.pdfProcess and flows of an IT Project - presentation.pdf
Process and flows of an IT Project - presentation.pdfCasey Ordoña
 
Career Talk Series Web Developer
Career Talk Series Web DeveloperCareer Talk Series Web Developer
Career Talk Series Web DeveloperRajwaAthoriq
 
Advancing Testing Program Maturity in your organization
Advancing Testing Program Maturity in your organizationAdvancing Testing Program Maturity in your organization
Advancing Testing Program Maturity in your organizationRamkumar Ravichandran
 
IT Consultant
IT ConsultantIT Consultant
IT ConsultantM Wahab
 
Java vs javascript (XPages)
Java vs javascript (XPages)Java vs javascript (XPages)
Java vs javascript (XPages)Andrew Barickman
 
User Stories from Scenarios
User Stories from ScenariosUser Stories from Scenarios
User Stories from ScenariosRavikanth-BA
 
Discovery 101
Discovery 101Discovery 101
Discovery 101creed
 
Testers and Coders - Blurring the Lines
Testers and Coders - Blurring the LinesTesters and Coders - Blurring the Lines
Testers and Coders - Blurring the LinesNoam Kfir
 
Solit 2014, Agile ValueTeam, учимся понимать Scrum, Семенченко Антон
Solit 2014, Agile ValueTeam, учимся понимать Scrum, Семенченко АнтонSolit 2014, Agile ValueTeam, учимся понимать Scrum, Семенченко Антон
Solit 2014, Agile ValueTeam, учимся понимать Scrum, Семенченко Антонsolit
 

Similar to ChicagoJS's JSCAMP 2019 Keynote - Inclusive Architecture - Building Sustainable Dev Teams with the PAMstack (20)

The complexity in the simplicity of Agile? by Arie van Bennekum
The complexity in the simplicity of Agile? by Arie van BennekumThe complexity in the simplicity of Agile? by Arie van Bennekum
The complexity in the simplicity of Agile? by Arie van Bennekum
 
Agile software development
Agile software development Agile software development
Agile software development
 
Software Engineer's Career Management Toolkit
Software Engineer's Career Management ToolkitSoftware Engineer's Career Management Toolkit
Software Engineer's Career Management Toolkit
 
Technical Debt.pptx
Technical Debt.pptxTechnical Debt.pptx
Technical Debt.pptx
 
PMI-ACP Training Deck
PMI-ACP Training DeckPMI-ACP Training Deck
PMI-ACP Training Deck
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
How to get the best out of DevSecOps - a developers perspective
How to get the best out of DevSecOps - a developers perspectiveHow to get the best out of DevSecOps - a developers perspective
How to get the best out of DevSecOps - a developers perspective
 
English digital business 2.1.pptx
English digital business 2.1.pptxEnglish digital business 2.1.pptx
English digital business 2.1.pptx
 
DevOpsDays Jakarta Igites
DevOpsDays Jakarta IgitesDevOpsDays Jakarta Igites
DevOpsDays Jakarta Igites
 
Process and flows of an IT Project - presentation.pdf
Process and flows of an IT Project - presentation.pdfProcess and flows of an IT Project - presentation.pdf
Process and flows of an IT Project - presentation.pdf
 
14.1 features
14.1 features14.1 features
14.1 features
 
Career Talk Series Web Developer
Career Talk Series Web DeveloperCareer Talk Series Web Developer
Career Talk Series Web Developer
 
Scrum methodology
Scrum methodologyScrum methodology
Scrum methodology
 
Advancing Testing Program Maturity in your organization
Advancing Testing Program Maturity in your organizationAdvancing Testing Program Maturity in your organization
Advancing Testing Program Maturity in your organization
 
IT Consultant
IT ConsultantIT Consultant
IT Consultant
 
Java vs javascript (XPages)
Java vs javascript (XPages)Java vs javascript (XPages)
Java vs javascript (XPages)
 
User Stories from Scenarios
User Stories from ScenariosUser Stories from Scenarios
User Stories from Scenarios
 
Discovery 101
Discovery 101Discovery 101
Discovery 101
 
Testers and Coders - Blurring the Lines
Testers and Coders - Blurring the LinesTesters and Coders - Blurring the Lines
Testers and Coders - Blurring the Lines
 
Solit 2014, Agile ValueTeam, учимся понимать Scrum, Семенченко Антон
Solit 2014, Agile ValueTeam, учимся понимать Scrum, Семенченко АнтонSolit 2014, Agile ValueTeam, учимся понимать Scrum, Семенченко Антон
Solit 2014, Agile ValueTeam, учимся понимать Scrum, Семенченко Антон
 

More from Tracy Lee

Contributing to Open Source - Angular World Tour
Contributing to Open Source - Angular World TourContributing to Open Source - Angular World Tour
Contributing to Open Source - Angular World TourTracy Lee
 
Angular Girls Kansas City - The Power of Open Source and Social Media
Angular Girls Kansas City - The Power of Open Source and Social MediaAngular Girls Kansas City - The Power of Open Source and Social Media
Angular Girls Kansas City - The Power of Open Source and Social MediaTracy Lee
 
Diversity & Inclusion Conference Talk - Refactr
Diversity & Inclusion Conference Talk - RefactrDiversity & Inclusion Conference Talk - Refactr
Diversity & Inclusion Conference Talk - RefactrTracy Lee
 
RxJS Operators - Real World Use Cases (FULL VERSION)
RxJS Operators - Real World Use Cases (FULL VERSION)RxJS Operators - Real World Use Cases (FULL VERSION)
RxJS Operators - Real World Use Cases (FULL VERSION)Tracy Lee
 
RxJS Operators - Real World Use Cases - AngularMix
RxJS Operators - Real World Use Cases - AngularMixRxJS Operators - Real World Use Cases - AngularMix
RxJS Operators - Real World Use Cases - AngularMixTracy Lee
 
Diversity, Inclusive Mindsets, and Architecture
Diversity, Inclusive Mindsets, and ArchitectureDiversity, Inclusive Mindsets, and Architecture
Diversity, Inclusive Mindsets, and ArchitectureTracy Lee
 
Diversity & Inclusion Keynote at Open Source 101
Diversity & Inclusion Keynote at Open Source 101Diversity & Inclusion Keynote at Open Source 101
Diversity & Inclusion Keynote at Open Source 101Tracy Lee
 
Reactive programming with RxJS - ByteConf 2018
Reactive programming with RxJS - ByteConf 2018Reactive programming with RxJS - ByteConf 2018
Reactive programming with RxJS - ByteConf 2018Tracy Lee
 
A Practical Approach to React Native at All Things Open Conference
A Practical Approach to React Native at All Things Open ConferenceA Practical Approach to React Native at All Things Open Conference
A Practical Approach to React Native at All Things Open ConferenceTracy Lee
 
The Power of RxJS in Nativescript + Angular
The Power of RxJS in Nativescript + AngularThe Power of RxJS in Nativescript + Angular
The Power of RxJS in Nativescript + AngularTracy Lee
 
React Native - Getting Started
React Native - Getting StartedReact Native - Getting Started
React Native - Getting StartedTracy Lee
 
RxJS - The Basics & The Future
RxJS - The Basics & The FutureRxJS - The Basics & The Future
RxJS - The Basics & The FutureTracy Lee
 
RxJS: A Beginner & Expert's Perspective - ng-conf 2017
RxJS: A Beginner & Expert's Perspective - ng-conf 2017RxJS: A Beginner & Expert's Perspective - ng-conf 2017
RxJS: A Beginner & Expert's Perspective - ng-conf 2017Tracy Lee
 
An Introduction Into Using Angular’s Material Design
An Introduction Into Using Angular’s Material DesignAn Introduction Into Using Angular’s Material Design
An Introduction Into Using Angular’s Material DesignTracy Lee
 
The Tale of the 3 CLIs - jDays2017
The Tale of the 3 CLIs - jDays2017The Tale of the 3 CLIs - jDays2017
The Tale of the 3 CLIs - jDays2017Tracy Lee
 
Angular Material (2) - NgVikingsConf
Angular Material (2) - NgVikingsConfAngular Material (2) - NgVikingsConf
Angular Material (2) - NgVikingsConfTracy Lee
 
Using Angular-CLI to Deploy an Angular 2 App Using Firebase in 30 Minutes
Using Angular-CLI to Deploy an Angular 2 App Using Firebase in 30 MinutesUsing Angular-CLI to Deploy an Angular 2 App Using Firebase in 30 Minutes
Using Angular-CLI to Deploy an Angular 2 App Using Firebase in 30 MinutesTracy Lee
 
A Tale of 3 CLIs - Angular 2, Ember, and React
A Tale of 3 CLIs - Angular 2, Ember, and ReactA Tale of 3 CLIs - Angular 2, Ember, and React
A Tale of 3 CLIs - Angular 2, Ember, and ReactTracy Lee
 
Learning the New Tech Lingua Franca: Social Media
Learning the New Tech Lingua Franca: Social MediaLearning the New Tech Lingua Franca: Social Media
Learning the New Tech Lingua Franca: Social MediaTracy Lee
 
From 0 to Developer - Silicon Valley Code Camp
From 0 to Developer - Silicon Valley Code CampFrom 0 to Developer - Silicon Valley Code Camp
From 0 to Developer - Silicon Valley Code CampTracy Lee
 

More from Tracy Lee (20)

Contributing to Open Source - Angular World Tour
Contributing to Open Source - Angular World TourContributing to Open Source - Angular World Tour
Contributing to Open Source - Angular World Tour
 
Angular Girls Kansas City - The Power of Open Source and Social Media
Angular Girls Kansas City - The Power of Open Source and Social MediaAngular Girls Kansas City - The Power of Open Source and Social Media
Angular Girls Kansas City - The Power of Open Source and Social Media
 
Diversity & Inclusion Conference Talk - Refactr
Diversity & Inclusion Conference Talk - RefactrDiversity & Inclusion Conference Talk - Refactr
Diversity & Inclusion Conference Talk - Refactr
 
RxJS Operators - Real World Use Cases (FULL VERSION)
RxJS Operators - Real World Use Cases (FULL VERSION)RxJS Operators - Real World Use Cases (FULL VERSION)
RxJS Operators - Real World Use Cases (FULL VERSION)
 
RxJS Operators - Real World Use Cases - AngularMix
RxJS Operators - Real World Use Cases - AngularMixRxJS Operators - Real World Use Cases - AngularMix
RxJS Operators - Real World Use Cases - AngularMix
 
Diversity, Inclusive Mindsets, and Architecture
Diversity, Inclusive Mindsets, and ArchitectureDiversity, Inclusive Mindsets, and Architecture
Diversity, Inclusive Mindsets, and Architecture
 
Diversity & Inclusion Keynote at Open Source 101
Diversity & Inclusion Keynote at Open Source 101Diversity & Inclusion Keynote at Open Source 101
Diversity & Inclusion Keynote at Open Source 101
 
Reactive programming with RxJS - ByteConf 2018
Reactive programming with RxJS - ByteConf 2018Reactive programming with RxJS - ByteConf 2018
Reactive programming with RxJS - ByteConf 2018
 
A Practical Approach to React Native at All Things Open Conference
A Practical Approach to React Native at All Things Open ConferenceA Practical Approach to React Native at All Things Open Conference
A Practical Approach to React Native at All Things Open Conference
 
The Power of RxJS in Nativescript + Angular
The Power of RxJS in Nativescript + AngularThe Power of RxJS in Nativescript + Angular
The Power of RxJS in Nativescript + Angular
 
React Native - Getting Started
React Native - Getting StartedReact Native - Getting Started
React Native - Getting Started
 
RxJS - The Basics & The Future
RxJS - The Basics & The FutureRxJS - The Basics & The Future
RxJS - The Basics & The Future
 
RxJS: A Beginner & Expert's Perspective - ng-conf 2017
RxJS: A Beginner & Expert's Perspective - ng-conf 2017RxJS: A Beginner & Expert's Perspective - ng-conf 2017
RxJS: A Beginner & Expert's Perspective - ng-conf 2017
 
An Introduction Into Using Angular’s Material Design
An Introduction Into Using Angular’s Material DesignAn Introduction Into Using Angular’s Material Design
An Introduction Into Using Angular’s Material Design
 
The Tale of the 3 CLIs - jDays2017
The Tale of the 3 CLIs - jDays2017The Tale of the 3 CLIs - jDays2017
The Tale of the 3 CLIs - jDays2017
 
Angular Material (2) - NgVikingsConf
Angular Material (2) - NgVikingsConfAngular Material (2) - NgVikingsConf
Angular Material (2) - NgVikingsConf
 
Using Angular-CLI to Deploy an Angular 2 App Using Firebase in 30 Minutes
Using Angular-CLI to Deploy an Angular 2 App Using Firebase in 30 MinutesUsing Angular-CLI to Deploy an Angular 2 App Using Firebase in 30 Minutes
Using Angular-CLI to Deploy an Angular 2 App Using Firebase in 30 Minutes
 
A Tale of 3 CLIs - Angular 2, Ember, and React
A Tale of 3 CLIs - Angular 2, Ember, and ReactA Tale of 3 CLIs - Angular 2, Ember, and React
A Tale of 3 CLIs - Angular 2, Ember, and React
 
Learning the New Tech Lingua Franca: Social Media
Learning the New Tech Lingua Franca: Social MediaLearning the New Tech Lingua Franca: Social Media
Learning the New Tech Lingua Franca: Social Media
 
From 0 to Developer - Silicon Valley Code Camp
From 0 to Developer - Silicon Valley Code CampFrom 0 to Developer - Silicon Valley Code Camp
From 0 to Developer - Silicon Valley Code Camp
 

Recently uploaded

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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 

Recently uploaded (20)

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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 

ChicagoJS's JSCAMP 2019 Keynote - Inclusive Architecture - Building Sustainable Dev Teams with the PAMstack

  • 1. HOW TO BUILD SUSTAINABLE DEV TEAMS INCLUSIVE ARCHITECTURE
  • 2. WHAT IS THE PAMSTACK? PROCESS MENTORSHIPABSTRACTIONS
  • 3. INCLUSIVE ARCHITECTURE ENABLES ● Less project maintenance ● Less stress ● Cooperative teams ● Decrease project costs ● Greater diversity
  • 4. TRACY LEE @ladyleet Lead, This Dot Labs, JS consulting (Angular, React, Vue, Node, Polymer) RxJS Core Team Google Developer Expert, Angular Microsoft MVP Community Rel, Node.js @ OpenJS Foundation Women Techmakers, GDG Silicon Valley & Triangle Modern Web Podcast
  • 6. People believe that the reason juniors don’t succeed is due to a deficiency of the juniors. They don’t realize it may be a fault of the the teams.
  • 7. How non-inclusive projects hurt juniors: ● Poor onboarding documentation ● Rely on individual excellence ● Unnecessarily complex codebase ● No review or mentorship
  • 8. How non-inclusivity actually hurts everyone ● Harder to onboard and hire ● “Hit by a bus” fears ● Productivity delays ● Lack of advancement & stagnant careers
  • 9. Individuals succeed and are enabled by teamwork and collaboration Decrease unnecessary complexity and focus on important features More innovation, more excitement, more learning A wider and more diverse set of engineers and skills on your team THE INCLUSIVE VISION
  • 10. WHAT IS THE PAMSTACK? PROCESS MENTORSHIPABSTRACTIONS
  • 11. WHAT IS THE PAMSTACK? PROCESS MENTORSHIPABSTRACTIONS
  • 13. “Processes are usually ad hoc and chaotic. The organization usually does not provide a stable environment to support processes...”
  • 14. “... Success in these organizations depends on the competence and heroics of the people in the organization and not on the use of proven processes...”
  • 15. “...These organizations are characterized by a tendency to overcommit, abandon their processes in a time of crisis, and be unable to repeat their successes.”
  • 16. ● Clear expectations ● Greater team engagement and cooperation ● No single-points-of-failure ● Less stress during the crazy ● Reduced conflicts and fewer power struggles THE BENEFITS OF PROCESS DONE RIGHT
  • 17. ● What needs to be done? ● Who will do those things? ● How should it be done? ● When should it be done? HOW TO CREATE PLANS
  • 18. The purpose of code peer review is to ensure that changes to source code Verification Items are correct, appropriate and follow style guidelines. The goal of the code peer review process is to discover and correct defects in code before they can be observed by testers or customers. CODE PEER REVIEW Once all Peer Reviewers have completed the review, the author responds to comments and corrects defects. If there is a disagreement about how to resolve an issue, the parties involved should work together to reach compromise. If an agreement is not reached, the Development Manager will arbitrate the dispute. If a review defect cannot be resolved in the scope of the peer review, it will be marked as Track Externally and a defect will be created in the Quality Center for the issue and the defect number is added on the peer review for traceability.
  • 19. The person who makes the initial changes to the code, makes the review in CodeCollaborator and revises the Verification Items based on the results of the peer review. Responsible for reviewing Verification Items. Can be any developer except the author. At least one Peer Reviewer is required. Responsible for reviewing code. Can be any Project 4 team member. Unlike Peer Reviewers, they are not required to approve a review before it concludes. Having an observer is not required either. They take the role of Authors, Peer Reviewers or Observers. AUTHOR PEER REVIEWERS OBSERVERS DEVELOPERS ROLES AND RESPONSIBILITIES
  • 20. ● Minimize errors ● Teach new team members ● Reduce cognitive load CREATE CHECKLISTS
  • 21. TYPES OF REVIEWS ● Meeting Notes ● Designs ● Requirements ● Tests ● Code ● Plans ● Email to Clients
  • 22. WHAT IS THE PAMSTACK? PROCESS MENTORSHIPABSTRACTIONS
  • 23. WHAT IS THE PAMSTACK? PROCESS MENTORSHIPABSTRACTIONS
  • 24. WEB DEVELOPMENT IS HARD Performance Security Accessibility Responsive Design Progressive Enhancement Browser Compatibility Progressive Web Apps
  • 25. FRAMEWORKS CAN HELP! THEY MAKE IT EASY TO DO THE RIGHT THING
  • 26. LET A FRAMEWORK DEAL WITH BASIC PERFORMANCE & SCALABILITY
  • 27. Tools ● Angular CLI ● Angular Console ● Nx ● Prettier ● Great docs Architecture & Code ● Component based ● Code reusability ● Libraries ● TypeScript ● Angular Material & the community!
  • 28. ● Goal is to isolate the construction of the interface from the business logic and the complicated tech integrations ● This could be done by separating the application into layers ● The senior engineers can implement the most critical sections and provide hooks for juniors to wire the interface together ARCHITECTURE
  • 29. ● Strongly typed methods, variables, services ● Easier to understand functionality ● Stricter rules come with less bugs and growing need to understand the purpose of each method ● Know what to expect and plan accordingly ● Better error handling, spotting the root of the problem TYPESCRIPT
  • 30. QUICK START DEVELOPMENT - CLIS FTW!
  • 31. ● Scaffolding a new project ● Zero-config environment ● Smart defaults ● Out of the box performance using automatic differential serving, lazy loading, tree shaking, AoT compilation ● Actively maintained and kept up-to-date with core libraries CLIS FTW! ● Reduce the risk of defects due to out-of-date or misconfigured technologies ● Easy migration between major versions of libraries ● Documentation readily available ● Low risk - ejecting always a possibility
  • 36.
  • 37. DESIGN AND USER EXPERIENCE
  • 38. ● Shared visual language for your team ● Focus and constrain the set of options when building interfaces ● Contain: ○ Design purpose and guidelines ○ Designer resources (ex: Sketch files) ○ Content guidelines ○ Patterns ○ CSS Classes DESIGN SYSTEMS
  • 39. ● Set of basic reusable components ● Implement the requirements of a design system ● Help tackle accessibility, responsiveness, etc. ● API is usually more complete and thoughtful COMPONENT LIBRARIES
  • 40. WHAT IS THE PAMSTACK? PROCESS MENTORSHIPABSTRACTIONS
  • 41. WHAT IS THE PAMSTACK? PROCESS MENTORSHIPABSTRACTIONS
  • 42.
  • 43. HIRING IS EXPENSIVE FOR YOUR TEAM - KEEP YOUR PEOPLE
  • 44. ● Accelerates learning & growth ● Increases confidence ● Decreases fear of contribution/collaboration/idea sharing ● Increases communication skills ● Mentees feel more invested-in and valued ● Improves upward mobility (5x more likely to be promoted) ● Mentees become mentors and pass all these benefits on Eric Elliott https://medium.com/javascript-scene/struggling-to-find-great-senior-javascript-developers-mentorship-is-the-answer-d352ea3574eb WHAT’S IN IT FOR MENTEES
  • 45. ● Great perk for recruiting ● Increases developer productivity & retention (~70% more likely) ● Reduces knowledge silos ● Improves the bus factor — reduces succession risks ● Creates a more positive, helpful, collaborative team culture ● Increases loyalty ● Increases employee engagement and motivation ● Improves leader identification and promotion pipeline — mentors are 6 times more likely to be promoted (Sun Microsystems) WHAT’S IN IT FOR OTHERS Eric Elliott https://medium.com/javascript-scene/struggling-to-find-great-senior-javascript-developers-mentorship-is-the-answer-d352ea3574eb
  • 46. ● Fostering a culture of teaching and sharing ● Formal 1:1 Sessions ● Code Reviews ● Pair Programming ● “Tech Talks” ● Chat Channels SHIFTING THE ROLE OF THE SENIOR DEV
  • 47. WHAT IS THE PAMSTACK? PROCESS MENTORSHIPABSTRACTIONS
  • 48. HOW JUNIORS CAN HELP THEIR TEAM USE THE PAMSTACK ● Bootstrap process by writing things down, sharing with the team ● Mentor and help your peers who are being onboarded ● Ask questions about the project, code, or process. Document the answers and share with others. ● Do and ask for code reviews proactively as a way to understand, get feedback, and create a culture of mentorship. ● If team loves your process or ideas, ask for it to be formally incorporated into process
  • 49. Upcoming Events Angular Online - 1st Thursdays React Online - 2nd Thursdays Vue Online - 3rd Thursdays Cloud Functions & Firebase Training - October 8
  • 50. If you’re interested in JavaScript Consulting let me know! Also, we’re hiring!