Watch this space - opening keynote

A presentation at DevFest Nantes 2018 in October 2018 in Nantes, France by Chris Heilmann

Slide 1

Slide 1

Watch this space… Chris Heilmann (@codepo8) October 2018

Slide 2

Slide 2

Welcome, makers of our space! https://en.wikipedia.org/wiki/Pioneer_plaque

Slide 3

Slide 3

Coding should be for everyone… twitter.com/stephstad/status/994340133733253120

Slide 4

Slide 4

Coding can be a second chance… twitter.com/JBalloonist/status/994957763154411520

Slide 5

Slide 5

What’s wrong with coding? nothing null undefined “” [] false NaN

Slide 6

Slide 6

I am worried about the perception of coding… ▪ Huge misconception: everybody who learns to code will have a great, fulfilling job. ▪ Danger: people who just learned to code will immediately build products without understanding what they do. ▪ Hype isn’t good: we are professionals, not miracle workers.

Slide 7

Slide 7

The “coder” of today is the astronaut of the 50s

Slide 8

Slide 8

An astronaut with job security and no physical demands…

Slide 9

Slide 9

If we look closely, things look bad.. @codepo8 https://www.theatlantic.com/technology/archive/2 017/09/saving-the-world-from-code/540393/

Slide 10

Slide 10

We start to realise the mess we created @codepo8 Nikita Prokopov http://tonsky.me/blog/disenchantment/

Slide 11

Slide 11

Code as craft (or even art) is 3.62% of what we do…

Slide 12

Slide 12

We need to improve the quality of day-to-day code

Slide 13

Slide 13

It started simple and future-proof… @codepo8 warnerbros.com/archive/spacejam/movie/jam.htm

Slide 14

Slide 14

Openness and resilience is both gift and curse… @codepo8

Slide 15

Slide 15

Web tech was terrible and we hacked our way through @codepo8

Slide 16

Slide 16

The need to be forgiving… @codepo8 ▪ Anyone is allowed to write code for the web – or use whatever they want to create that code. ▪ Users shouldn’t suffer from developer errors ▪ Legacy products will never get fixed ▪ You can’t break the web

Slide 17

Slide 17

Years of technical debt…

Slide 18

Slide 18

The web of today is slow and annoying…

Slide 19

Slide 19

Which is odd, seeing that most users are on mobiles

Slide 20

Slide 20

With unreliable connections.

Slide 21

Slide 21

It is up to us to clean this mess up. @codepo8 ▪ Developing software products is a service to our users ▪ We all profited from years of “let’s see what works” ▪ It is time to be more responsible as creators of software products ▪ And that’s not being a Rockstar, Ninja or Code Warrior.

Slide 22

Slide 22

It may be the warriors who get the glory. But it's the engineers who build societies. – Steve Jobs

Slide 23

Slide 23

It may be the warriors who get the glory. But it's the engineers who build societies. – B'elanna Torres

Slide 24

Slide 24

Astronauts are users empowered byengineers Director of Apollo Flight Computer Programming Margaret Hamilton https://github.com/chrislgarry/Apollo-11

Slide 25

Slide 25

It was never easier to get started…

Slide 26

Slide 26

Soon you realise that you need to know a lot… @codepo8 ▪ Performance ▪ Accessibility ▪ Interoperability ▪ Security ▪ Maintainability ▪ Browser Quirks ▪ Developer toolchains ▪ Browser developer tools ▪ Abstractions ▪ CLI ▪ Editors

Slide 27

Slide 27

Where to learn all that? @codepo8 ▪ Standards documentation? ▪ Browser vendor docs? ▪ Conferences? ▪ Books? ▪ Workshops? ▪ Developer tools? ▪ News channels?

Slide 28

Slide 28

Learning obstacles @codepo8 ▪ Resources with upvoting options favour the how over the why ▪ We’re not paid to learn, we’re paid to deliver ▪ Peer pressure makes developers who don’t know things afraid to admit it ▪ There’s always a “good enough” way to create a lot in a short amount of time.

Slide 29

Slide 29

Tooling and insights into how our code works is great @codepo8

Slide 30

Slide 30

Customisable best practices in context @codepo8 ▪ Having information isn’t enough when people don’t go there ▪ We need to prevent mistakes before they happen ▪ We need to allow people to customize these experiences. An intranet site needs different settings than a marketing site ▪ So, let’s target editors and build processes

Slide 31

Slide 31

Linting and inline insights in editors @codepo8 code.visualstudio.com

Slide 32

Slide 32

webhint.io webhint.io

Slide 33

Slide 33

Enter a URL… webhint.io

Slide 34

Slide 34

Get a report on issues… Add new screenshot webhint.io

Slide 35

Slide 35

Get explanations why these are issues & how to fix them webhint.io

Slide 36

Slide 36

Get in-depth explanation on the issues… webhint.io

Slide 37

Slide 37

Hinting during deployment @codepo8 ▪ A web interface to get reports doesn’t scale to production ▪ Why not install hinting at as part of your build/deployment process? ▪ That way you can also test the setup of your bundler/preprocessor to avoid huge release sizes

Slide 38

Slide 38

Out of the box hints… Performance Development environment Accessibility PWA Readiness Interoperability Security

Slide 39

Slide 39

Customising hints… webhint.io/docs/user-guide/

Slide 40

Slide 40

How about preventing people to make errors?

Slide 41

Slide 41

webhint @code extension https://medium.com/webhint/getting-hints-from-visual-studio-code-69118e48de1b

Slide 42

Slide 42

Create valid app manifests… webhint.io

Slide 43

Slide 43

Fixing your tooling setup… webhint.io

Slide 44

Slide 44

Are you creating inaccessible content? webhint.io

Slide 45

Slide 45

We’re working right now for a much different web than we used to…

Slide 46

Slide 46

And the web is under attack…

Slide 47

Slide 47

The open web is under attack… @codepo8 http://www.europarl.europa.eu/news/en/pressroom/20180906IPR12103/parliament-adopts-its-position-ondigital-copyright-rules

Slide 48

Slide 48

The open web is under attack… https://www.fcc.gov/document/fcc-takes-action-restoreinternet-freedom @codepo8

Slide 49

Slide 49

The open web is under attack… @codepo8 Slate.com

Slide 50

Slide 50

https://www.washingtonpost.com/technology/2018/09/21/formergoogle-chief-predicts-internet-will-split-by-chinese-web-anamerican-one/ Are we too late? https://www.washingtonpost.com/technology/2018/09/21/for mer-google-chief-predicts-internet-will-split-by-chineseweb-an-american-one/ @codepo8

Slide 51

Slide 51

Our accumulated insights are a great starting point… @codepo8 ▪ We accumulated a lot of great knowledge on how to do web the right way ▪ Instead of re-iterating this knowledge and hope people get it, let’s use this as a base to start from ▪ Our technology stack has evolved from a text editor and a terrible browser to amazing, open tools. ▪ Let’s introduce new people of the web to them early on - as part of the development setup.

Slide 52

Slide 52

It’s cool to be an engineer – NASA has them! ▪ Nothing should stop you from building wild and cool things ▪ Thinking about code as a career, maybe it is time to concentrate on making what we do more reliable ▪ If we stop writing bloated and short-lived solutions that can be maintained we free ourselves to explore the universe…

Slide 53

Slide 53

Thanks! Chris Heilmann @codepo8