Be A Developer Experience Super Hero: Robust Dev Scripts For Peace - - PowerPoint PPT Presentation

be a developer experience super hero
SMART_READER_LITE
LIVE PREVIEW

Be A Developer Experience Super Hero: Robust Dev Scripts For Peace - - PowerPoint PPT Presentation

Be A Developer Experience Super Hero: Robust Dev Scripts For Peace and Joy 1 Hi, Im Dustin LeBlanc! Customer Success Engineer at Pantheon dustinleblanc on Twitter, Github, Linkedin, and drupal.org dustin@pantheon.io Pantheon.io 2 1.


slide-1
SLIDE 1

Be A Developer Experience Super Hero:

Robust Dev Scripts For Peace and Joy

1

slide-2
SLIDE 2

Pantheon.io

Hi, I’m Dustin LeBlanc!

Customer Success Engineer at Pantheon dustinleblanc on Twitter, Github, Linkedin, and drupal.org dustin@pantheon.io

2

slide-3
SLIDE 3

Who Are you?

Who who, who who?

3

  • 1. Agency CTO / Lead
  • 2. Lead developer
  • 3. Those who want to be

leaders

slide-4
SLIDE 4

Why care about developer experience?

4

slide-5
SLIDE 5

Pantheon.io

We aren’t just building sites

We’re building teams!

5

slide-6
SLIDE 6

Pantheon.io

Developers Are Easy to Lose

Source: Stack Overflow Developer Survey 2017

6

slide-7
SLIDE 7

7

What do developers want?

slide-8
SLIDE 8

Pantheon.io

Top Reasons Developers Leave

Source: 2014 Glass Door Survey

8

slide-9
SLIDE 9
  • Manual testing
  • Workstation

configuration

  • Project setup

Less time spent on:

9

More time spent on:

  • Billable work
  • Fancypants fun stuff
  • Open source

contribution

  • Building better orgs
slide-10
SLIDE 10

10

Which means you can pay your team more

slide-11
SLIDE 11

11

And bug them about making money less

slide-12
SLIDE 12

I’m Sold! But How?

12

slide-13
SLIDE 13

Pantheon.io

Components of Scripted Serenity

  • Minimal Local Dependencies (cross

platform, as much as possible)

  • Automated tests, builds, and

deployments

  • Accessible, reliable, and reusable scripts

13

slide-14
SLIDE 14

Local Dependencies

14

slide-15
SLIDE 15

Pantheon.io

Minimal Self Managed Dependencies

Composer Docker-Compose

15

slide-16
SLIDE 16

Dependable and Repeatable Tests/Builds

16

slide-17
SLIDE 17

Pantheon.io

Make a machine QA your work

Regression testing is easier than it has ever been, manual testing hasn’t gotten any easier... But setting up CI/CD can still be a pain

17

slide-18
SLIDE 18

Pantheon.io 18

74th time is a charm!

If at first you don’t succeed...

slide-19
SLIDE 19

Pantheon.io

Terminus Build Tools

One Command:

  • New Pantheon Site
  • New Github Repo
  • CircleCI
  • Behat
  • Deploy to multi-dev

19

$ terminus build-env:create-project --team="Team Discovery Channel" disc-d8 best-site-ever

Get it here: https://github.com/pantheon-systems/terminus-build-tools-plugin

slide-20
SLIDE 20

Pantheon.io

Much Better!

20

slide-21
SLIDE 21

Pantheon.io

How best to use CI?

  • Build Assets, keeping source repos small,

making patching declarative and automated.

  • Check code style, complexity, and

performance

  • Run acceptance and unit tests
  • Consistent and reliable deployments
  • Everything you need to do before

shipping...but forget to do.

21

slide-22
SLIDE 22

Super Smart Scripting

22

slide-23
SLIDE 23

Pantheon.io

What Devops Scripting Should Be

23

  • Easy to contribute
  • Easy to understand
  • Easy to extend
slide-24
SLIDE 24

Pantheon.io

Scripting like a PHP developer

http://robo.li

Robo to the rescue!

24

slide-25
SLIDE 25

Pantheon.io

Symfony Console Style Commands

25

slide-26
SLIDE 26

Pantheon.io

Just Public Functions In A Class

26

slide-27
SLIDE 27

Pantheon.io

Why use PHP?

  • Familiar to Drupal developers
  • Cuts down on context switching and

number of languages (per project)

  • Access to Application functionality
  • Consistent execution
  • Encourages contribution

27

slide-28
SLIDE 28

Pantheon.io

Example Project

https://github.com/dustinleblanc/super-scripts

28

slide-29
SLIDE 29

Pantheon.io

Zero To Passing In No Time

5 Commands From never touching the project, to ready to add new features

29

slide-30
SLIDE 30

Helpful tools

30

slide-31
SLIDE 31

Pantheon.io

Every Superhero needs a team!

31

Local development with Docker + Slick GUI + Sick Pantheon Integration www.kalabox.io

slide-32
SLIDE 32

Pantheon.io

Every Superhero needs a team!

32

Docker4Drupal by Wodby Docker-Compose containers that are super easy to get started with

slide-33
SLIDE 33

Pantheon.io

Every Superhero needs a team!

33

DrupalVM is a great non-Docker way to have consistent and declarative dev environments

slide-34
SLIDE 34

Pantheon.io

Do the Friday sprints!

Participate in the Drupal community, attend the Friday sprints! https://events.drupal.org/baltimore2017/sprints All are welcome, from new folks to wise and experienced Drupalists, help make Drupal even better!

34

slide-35
SLIDE 35

Pantheon.io

Thank you!

Thanks so much for your time! Please provide any feedback you have on my presentation here: https://events.drupal.org/baltimore2017/sessions/be-developer-experience-super

  • hero-robust-dev-scripts-peace-and-joy

35

slide-36
SLIDE 36

36

Questions?