Getting better

55
Getting better Lessons learned in software development, start-ups and life in general

description

Getting better: lessons learned in software development, start-ups and life in general

Transcript of Getting better

Page 1: Getting better

Getting betterLessons learned in software development, start-ups and life in general

Page 2: Getting better

@ToJans

Page 3: Getting better

Getting betterPractice, practice, practice

Failure versus mistakeRetrospectives

Page 4: Getting better

PracticePracticePracticePracticePracticePracticePracticePracticePracticePracticePracticePracticePracticePracticePracticePracticePracticePracticePracticePracticePracticePracticePracticePractice

PracticePracticePractice

PracticePracticePracticePracticePracticePractice

PracticePracticePracticePracticePracticePracticePracticePracticePracticePracticePracticePractice

Page 5: Getting better

Jonathan "Fatal1ty" WendelFirst pro FPS player

Page 6: Getting better

WHY ?

Page 7: Getting better

Dreyfus modelht

tp://

www.

lean

lead

ersh

ipac

adem

y.com

/lla-

and-

the-

gene

sis-

of-t

he-le

an-e

xper

t/

Page 8: Getting better

Example: poker

Page 9: Getting better

Thinking levels0: I know nothing

1: What do I have?

2: What does my opponent have?

3: What does my opponent think I have?

4: What does my opponent think that I think they have?

5: What does my opponent think that I think they think I have?

=> To beat a player, play exactly 1 level above him/her

Page 10: Getting better

Thinking levels0: I know nothing => learn the poker rules

1: What do I have? => Which starting hand might be profitable

2: What does my opponent have? => Which hand might be profitable assuming the range of my opponent and poker odds, postflop play

3: What does my opponent think I have? => Which hand might be profitable assuming the range of my opponent and the range my opponent assumes I have, odds and postflop play

Page 11: Getting better

Leveling upLearn new thing => Practice, practice, practice => Intuition => Learn new thing => Practice, practice, practice => Intuition => Learn new thing => Practice, practice, practice => Intuition => Learn new thing => Practice, practice, practice => Intuition => Learn new thing => Practice, practice, practice => Intuition => Learn new thing => Practice, practice, practice => Intuition => Learn new thing => Practice, practice, practice => Intuition => Learn new thing => Practice, practice, practice => Intuition => Learn new thing => Practice, practice, practice => Intuition => Learn new thing => Practice, practice, practice => Intuition => xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Page 12: Getting better

Poker professionals play roughly

100K hands/month

(5K/day or 1K/hour or 17/minute) Practice, practice, practice

Page 13: Getting better

Level upas a developer

http://xkcd.com/1075/

Page 14: Getting better

Leveling upLearn new thing => Practice, practice, practice => Intuition => Learn new thing => Practice, practice, practice => Intuition => Learn new thing => Practice, practice, practice => Intuition => Learn new thing => Practice, practice, practice => Intuition => Learn new thing => Practice, practice, practice => Intuition => Learn new thing => Practice, practice, practice => Intuition => Learn new thing => Practice, practice, practice => Intuition => Learn new thing => Practice, practice, practice => Intuition => Learn new thing => Practice, practice, practice => Intuition => Learn new thing => Practice, practice, practice => Intuition => xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Page 15: Getting better

GitH

ub

Page 16: Getting better

Grou

ps

Page 17: Getting better

Shar

e

Page 18: Getting better

Meet up

Page 19: Getting better

Getting betterPractice, practice, practice

Failure versus mistakeRetrospectives

Page 21: Getting better
Page 22: Getting better

ProblemA leaking faucet

causes a wet floor

Page 23: Getting better

Fixing Problems

Page 24: Getting better
Page 25: Getting better

Problem Fixed ?

Page 26: Getting better
Page 27: Getting better

We can Fix that!

Page 28: Getting better
Page 29: Getting better

Failure!!!!!!!!

Page 30: Getting better

If you're not failing every now and again, it's a sign you're not doing anything very innovative.

Woody Allen

Page 31: Getting better

Let's tryAgain!

Page 32: Getting better
Page 33: Getting better

"Let's use the cloud!"

Page 34: Getting better
Page 35: Getting better

This isA mistake

Page 36: Getting better

Why Why Why Why Why

RootCause Analysis

Avoid fixing the wrong thing!!!

Page 37: Getting better

Failure = goodMistakes = bad

http://einiverse.eingang.org/2012/08/08/persist-or-die/

Page 38: Getting better

Failure in Development

Page 39: Getting better

Mis

take

Page 40: Getting better

In today's knowledge economy, it is not the tech stack that will give a competitive advantage. Anyone can google, download and install a tool.

Page 41: Getting better

Competitive advantage from software development should come from exploring the core domain, not from infrastructure.Small baby steps providing real business value is the way to go!

Page 42: Getting better

Focus on process, not on infrastructure.Reduce friction using automation, optimize for happiness *

* http://tom.preston-werner.com/2010/10/18/optimize-for-happiness.html

Page 43: Getting better

Things that might help:Continuous integration & deployment * TDD * BDD * CQ(R)S * Functional programming * Event sourcing * Feature branching * ...

Learn, unlearn and evolve !

Page 44: Getting better

Learning is the first step

Everything looks like a nail when you have a hammer

Page 45: Getting better

A simple form does not require umphteen client side validations

Understand the cost and risk of adding complexity

Page 46: Getting better

Software architecture should be driven by the features you require, not the other way around

Optimize for productivity

Page 47: Getting better

Do not invest when the added business value is not worth it...

This is my product catalog editor

Page 48: Getting better

Getting betterPractice, practice, practice

Failure versus mistakeRetrospectives

Page 49: Getting better

I am a great believer that any tool that enhances communication has profound effects in terms of how people can learn from each other, and how they can achieve the kind of freedoms that they are interested in.

Bill Gates

Page 50: Getting better

Why blog?

"Rubber duck" effect

Page 51: Getting better

Why blog?

Chuck Norris. Visibility.

Page 52: Getting better

Why blog?

Meeting other peers.

Page 53: Getting better

How to blog?Blog about anythingI prefer "brain dumps"Try finding a new approachAvoid negativity

Page 54: Getting better

Getting betterPractice, practice, practice

Failure versus mistakeRetrospectives

Page 55: Getting better

Questions?

@ToJanshttp://www.corebvba.be