Top Banner
BUILDING A FRONT END PRACTICE & TEAM Scaling FED
52

Building & Scaling a Front End Practice & Team

Jan 26, 2017

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Building & Scaling a Front End Practice & Team

B U I L D I N G A F R O N T E N D P R A C T I C E & T E A M

Scaling FED

Page 2: Building & Scaling a Front End Practice & Team
Page 3: Building & Scaling a Front End Practice & Team
Page 4: Building & Scaling a Front End Practice & Team

• Definitions of FED • Building a Craft • Building a Culture

Today

Page 5: Building & Scaling a Front End Practice & Team

1 - Defining FEDHey Fronteers, what do you do?

Page 6: Building & Scaling a Front End Practice & Team

WTFED?• HTML • CSS • JavaScript

Page 7: Building & Scaling a Front End Practice & Team

WTFED?• HTML • CSS • JavaScript • Node/WebPack/Sass/Gulp/PostCSS/jQuery/CoffeeScript/

a11y/Bourbon/SVG/Bower/npm/React/Animations/ AMP/PWA/Responsive/Angular/Data Viz/BEM/Performance/TypeScript/Ember/Browserify/OOCSS

Page 8: Building & Scaling a Front End Practice & Team

CHAOS?

Page 9: Building & Scaling a Front End Practice & Team

Design App Dev*

Page 10: Building & Scaling a Front End Practice & Team

HTML CSS JS Design App Dev*

Page 11: Building & Scaling a Front End Practice & Team

User Interfaces Design App Dev*

Page 12: Building & Scaling a Front End Practice & Team

•inconsistent or even buggy UI • spaghetti code • hard to maintain & iterate • not accessible/performant/responsive

Page 13: Building & Scaling a Front End Practice & Team

HTML CSS

JS Design App Dev*

😍

💖

Page 14: Building & Scaling a Front End Practice & Team

Owners on a spectrum

FED Design App Dev*

Page 15: Building & Scaling a Front End Practice & Team

Owners on a spectrum

FED Design App Dev*

💃🏃

Page 16: Building & Scaling a Front End Practice & Team

Building a Craft1. Language Styleguides 2. Code Reviews 3. Pattern Libraries

Page 17: Building & Scaling a Front End Practice & Team

1. Language Styleguides• shared coding standards • consistency is key • helps team members read each other’s code • helps you read your own code 6 months from now

Page 18: Building & Scaling a Front End Practice & Team

Form an opinion

Page 19: Building & Scaling a Front End Practice & Team

http://cssguidelin.es/ http://sass-guidelin.es/ https://github.com/Shopify/javascript https://github.com/rwaldron/idiomatic.js/ https://google.github.io/styleguide/javascriptguide.xml

Borrow one to start

Page 20: Building & Scaling a Front End Practice & Team

💬💬

🎉

🍕🍕

Page 21: Building & Scaling a Front End Practice & Team

2. Code Reviews

…or use a linter - eshint, scss-lint

Page 22: Building & Scaling a Front End Practice & Team

• support & grow your guide • standards to make things easier

• if hard to enforce, it might not be useful • shared definition of quality

2. Code Reviews

Page 23: Building & Scaling a Front End Practice & Team

• burning existing code isn’t usually an option

Page 24: Building & Scaling a Front End Practice & Team

• support & grow your guide • standards to make things easier

• if hard to enforce, it might not be useful • shared definition of quality • builds a culture of feedback and knowledge sharing

2. Code Reviews

Page 25: Building & Scaling a Front End Practice & Team

Growing Into Reusable SystemsPattern Libraries

Page 26: Building & Scaling a Front End Practice & Team

Pattern Libraries• a way to pool our efforts • make it possible to share code automatically • a starting point for new projects

Page 27: Building & Scaling a Front End Practice & Team

What might you include?• A common stack(s) • responsive guidelines - easy defaults for breakpoints,

flexible grids, starting points for styling and behavior, testing standards

• performance standards & language tooling

• accessibility best practices

Page 28: Building & Scaling a Front End Practice & Team

Accessibility• colour contrast audits in a single place

Page 29: Building & Scaling a Front End Practice & Team

Accessibility• JS helpers for common a11y fixes

• eg keycodes & focus handlers

Page 30: Building & Scaling a Front End Practice & Team
Page 31: Building & Scaling a Front End Practice & Team

Full UI components• common UI for re-use

Page 32: Building & Scaling a Front End Practice & Team
Page 33: Building & Scaling a Front End Practice & Team

UI library• core application patterns, built in a reusable way • solve for our use cases

• opinionated • provide constraints • custom to our stack

Page 34: Building & Scaling a Front End Practice & Team

Hi! I’m an icon that comes alongwith some text⚡ ⚡Me Too!

something special

⚡Me Too!

Page 35: Building & Scaling a Front End Practice & Team

Hi! I’m an icon that comes alongwith some text⚡ ⚡Me Too!

something special

⚡Me Too!

Page 36: Building & Scaling a Front End Practice & Team

is this a pattern?

how should it be built?

FED Design App Dev*

Page 37: Building & Scaling a Front End Practice & Team
Page 38: Building & Scaling a Front End Practice & Team

Why bother?• we solve problems once* • more people can contribute • more time on most impactful features

Page 39: Building & Scaling a Front End Practice & Team

Why bother?• we solve problems once* • more people can contribute • more time on most impactful features

Page 40: Building & Scaling a Front End Practice & Team

Design FED

Iteration

Build

Review

Teach

Page 41: Building & Scaling a Front End Practice & Team

Building a Culture

Page 42: Building & Scaling a Front End Practice & Team

How does your team make decisions?

Page 43: Building & Scaling a Front End Practice & Team

Expectations & Hiring

Page 44: Building & Scaling a Front End Practice & Team

Have more conversations

Page 45: Building & Scaling a Front End Practice & Team

#FED Talks• talk about standards • talk about common problems • share work from in and out of day-to-day

Page 46: Building & Scaling a Front End Practice & Team

FED Design App Dev*

Page 47: Building & Scaling a Front End Practice & Team

Continuing to Scale

Page 48: Building & Scaling a Front End Practice & Team

prototyper

CSS developer

performance specialist

accessibility expert

web animator

JS data engineer

interaction engineer

future framework X engineer

Design App Dev*

Page 49: Building & Scaling a Front End Practice & Team

HTML CSS

JS Design App Dev*

Page 50: Building & Scaling a Front End Practice & Team

Find and follow opportunities for impact

Page 51: Building & Scaling a Front End Practice & Team

what do you want to grow?

Page 52: Building & Scaling a Front End Practice & Team

Thanks!

@ M O N S I K Am e d i u m . c o m / s h o p i f y - u x