Slide 1

Slide 1 text

The best programmer I know Daniel Terhorst-North  @[email protected]  @tastapod.com

Slide 2

Slide 2 text

@tastapod Part 1: Getting the job done Part 2: Choosing the right tool Part 3: Caring about the team

Slide 3

Slide 3 text

@tastapod Resist procrastinating - Start anywhere - Seriously, anywhere! - Doing is researching Know you don’t know - It doesn’t have to be right, or even good - You will rewrite it! Iterate wildly ‘Stoplight to stoplight’ - Try, fail, learn, repeat Just start! Getting the job done

Slide 4

Slide 4 text

@tastapod Invest in the outcome - Code is just the means - Have no emotional attachment to it! Study the domain - and its inhabitants - Represent this in code Watch your users - What frustrates them? - Simplify it; eliminate it Build a product Getting the job done

Slide 5

Slide 5 text

@tastapod Solve the real problem - not some fancy generalised version - Caution: may reduced dependencies Learn to see what is really there - not what you are conditioned to see - Develop ‘ fi rst sight’ Strive for simplicity - ‘the simplicity the other side of complexity’ - Write the README,
 then reduce the embarrassment! Solve for now Getting the job done

Slide 6

Slide 6 text

@tastapod Part 1: Getting the job done Part 2: Choosing the right tool Part 3: Caring about the team Choosing the right tool

Slide 7

Slide 7 text

@tastapod Choosing the right tool Do the simplest thing, not the easiest - h/t Rich Hickey* - Minimise distance to solution space Teams can learn! - Code outlive teams - Data outlives code, and organisations! - Be kind to future you The ‘right tool’ may change over time - so be prepared to revisit your choices - ‘Make the change easy’ …for the product, not the team! *https://dannorth.net/go/simple-made-easy

Slide 8

Slide 8 text

@tastapod Reduce, reuse, recycle - Easy to decompose - Easy to restructure - Easy to rewrite Minimise blast radius - Write small, self- contained ‘hacks’ - Spike and Stabilise - ‘Try now, pay later’ Then do the same with production code! - CUPID* is your friend - Architecture as options Make the change easy Choosing the right tool * https://cupid.dev

Slide 9

Slide 9 text

@tastapod Be ‘full-stack’ - What makes a great web page? - a great service API? - a great architecture? Explore languages, tools, paradigms - They will give you di ff erent perspectives - Try Advent of Code* Be really full-stack - Redesign the process - Use hardware! - Challenge the premise Be a polyglot * https://adventofcode.com Choosing the right tool

Slide 10

Slide 10 text

@tastapod Part 1: Getting the job done Part 2: Choosing the right tool Part 3: Caring about the team Caring about

Slide 11

Slide 11 text

@tastapod Send the team home! - No one should be working late - A rested team is an e ff ective team Find joy in helping others learn - Teaching is the best way to learn - Sometimes just encouraging words Be kind - Assume everyone is doing their best - Build psychological safety …your teammates Caring about

Slide 12

Slide 12 text

@tastapod Try new things - But retain a healthy scepticism - Especially about blockchain ‘AI’ Join communities - Be a net contributor - Find people who will challenge you - Throw the net wide Practise, practise, practise - There is no ‘innate programming gift’ - Be prepared to be rubbish at new things! …staying current Caring about

Slide 13

Slide 13 text

@tastapod Go home on time - Who will remember you working late? - Sleep is the best debugger Have interests outside of programming - Find a sport or activity - If you don’t have a thing, try lots of things! Be kind to yourself - You’ve got this - ‘Yesterday I was wrong’ …yourself Caring about

Slide 14

Slide 14 text

@tastapod Wrapping up Get the job done Choose the right tool Care about the team

Slide 15

Slide 15 text

@tastapod Wrapping up Above all, be kind

Slide 16

Slide 16 text

@tastapod Thank you https://dannorth.net @[email protected] @tastapod.com linkedin.com/in/tastapod