Getting better

Post on 23-Jan-2015

1.478 views 0 download

description

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

Transcript of Getting better

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

@ToJans

Getting betterPractice, practice, practice

Failure versus mistakeRetrospectives

PracticePracticePracticePracticePracticePracticePracticePracticePracticePracticePracticePracticePracticePracticePracticePracticePracticePracticePracticePracticePracticePracticePracticePractice

PracticePracticePractice

PracticePracticePracticePracticePracticePractice

PracticePracticePracticePracticePracticePracticePracticePracticePracticePracticePracticePractice

Jonathan "Fatal1ty" WendelFirst pro FPS player

WHY ?

Dreyfus modelht

tp://

www.

lean

lead

ersh

ipac

adem

y.com

/lla-

and-

the-

gene

sis-

of-t

he-le

an-e

xper

t/

Example: poker

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

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

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

Poker professionals play roughly

100K hands/month

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

Level upas a developer

http://xkcd.com/1075/

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

GitH

ub

Grou

ps

Shar

e

Meet up

Getting betterPractice, practice, practice

Failure versus mistakeRetrospectives

ProblemA leaking faucet

causes a wet floor

Fixing Problems

Problem Fixed ?

We can Fix that!

Failure!!!!!!!!

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

Woody Allen

Let's tryAgain!

"Let's use the cloud!"

This isA mistake

Why Why Why Why Why

RootCause Analysis

Avoid fixing the wrong thing!!!

Failure = goodMistakes = bad

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

Failure in Development

Mis

take

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.

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!

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

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

Learn, unlearn and evolve !

Learning is the first step

Everything looks like a nail when you have a hammer

A simple form does not require umphteen client side validations

Understand the cost and risk of adding complexity

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

Optimize for productivity

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

This is my product catalog editor

Getting betterPractice, practice, practice

Failure versus mistakeRetrospectives

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

Why blog?

"Rubber duck" effect

Why blog?

Chuck Norris. Visibility.

Why blog?

Meeting other peers.

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

Getting betterPractice, practice, practice

Failure versus mistakeRetrospectives

Questions?

@ToJanshttp://www.corebvba.be