Forget Velocity, Let's Talk Acceleration • Jessica Kerr • GOTO 2017¶
- How do we get better at our job?
- Our job doesn't get easier
- Definition of "done"?
- Why is this so hard?
The most important thing for a piece of software¶
- Real estate: Location location location
- Software: is it useful? Useful? Useful?
Definition of done¶
- Software maintenance doesn't exist.
- maintenance is doing the same thing every year
- oil change
- Every problem in software is different
- (like parenting)
- you can only stop parenting when when the software is done/dead
- it's dead when it's no longer useful
- analogy: baby -> adult (observability, auto re-deploy when it breaks)
- adult: only need help for extreme circumstances
Our job is to change software, not build it
- Saves kreplets (attention unit)
- Changes behaviour by making the right thing easier
- less yak shaving
- Add a little check after something goes wrong so it doesn't happen again
- Reproducibility & make docs simpler
- run this script to reproduce
- instead of run this script
- How much you contribute to the team
- Team's productivity with vs without you
- Automation is generative
How much time should you spend to automate?¶
- Time box
- First time: ignore it
- Second time, spend 15 mins
- Third time: an hour
- Then ask the group
Best programming language¶
- The best programming language is the one you already know
- You can learn a new programming language in a few weeks
- You can learn the build tools, the ecosystem, the major frameworks and libraries, the idioms, the memory considerations, the garbage collection in decades
System mover, not system builder¶
Last update: 2023-03-20