86
Little words of wisdom for the developer

Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Embed Size (px)

DESCRIPTION

Presented at JAX London 2013 Community Night Through some famous quotes and pictures that will make you think, Guillaume Laforge, Head of Groovy Development for SpringSource, will illustrate some simple principles that he has followed on the projects he’s worked on, and walk through the lessons he’s learned throughout the journey. Guillaume is the official Groovy Project Manager, and the spec lead of JSR-241, the JSR that standardizes the Groovy dynamic language.

Citation preview

Page 1: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Little words of wisdom for the developer

Page 2: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Guillaume Laforge

@glaforge ! http://glaforge.appspot.com "

http://gplus.to/glaforge +

Page 3: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)
Page 4: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Have Fun!

Page 5: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

“ million downloadsper year1.7

Page 6: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)
Page 7: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Great forscripting

Page 8: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Great forscripting

Fit for Domain-Specific Languages

Page 9: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Great forscripting

Fit for Domain-Specific Languages

Most seamless integration &interoperability wih java!

Page 10: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)
Page 11: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)
Page 12: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Yup, we’re allusing Groovy!

Page 13: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

“There are three types of people on earth: ones make things happen,

ones watch things happen, ones wonder what happened

— Jim LovellAppollo 13 astraunaut

Page 14: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Contribute to Open Source

Page 15: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Contribute to Open Source

Best carreermove for me!

Page 16: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Contribute to Open Source

Best carreermove for me!

Work with greatdevelopers

Page 17: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Contribute to Open Source

Best carreermove for me!

Travel and meetgreat people

Work with greatdevelopers

Page 18: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Contribute to Open Source

Best carreermove for me!

Travel and meetgreat people

Work with greatdevelopers

A job thatdoesn’t feel

like a job

Page 19: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Contribute to Open Source

Best carreermove for me!

Travel and meetgreat people

Work with greatdevelopers

A job thatdoesn’t feel

like a job

You’ll learna lot

Page 20: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)
Page 21: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Speak publicly

Page 22: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Speak publiclyGet more confident in

your skills, yourknowledge, yourself…

Page 23: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)
Page 24: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Always be nice& helpful

Page 25: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Always be nice& helpful

You get thecommunity you

deserve

Page 26: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

“ Software is eating

the world— Marc Andreessen

Netscape fame Venture Capitalist

Page 27: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)
Page 28: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Software disrupted:retail, book, newspaper,

music industries….

Page 29: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Software disrupted:retail, book, newspaper,

music industries….

Need to reinventyourself !

Page 30: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)
Page 31: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Software offers us alot of opportunities

Page 32: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Software offers us alot of opportunities

Deploy in the cloud,spread the word onsocial networks…

Page 33: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Software offers us alot of opportunities

Deploy in the cloud,spread the word onsocial networks…

Create the nextdisruption!

Page 34: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

“Don’t worry about what anybody else is going to do. The best

way to predict the future is to invent it.

— Alan Kay Smalltalk co-inventor

Page 35: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)
Page 36: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Be an actor!

Page 37: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)
Page 38: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Your bestasset is you!

Page 39: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Your bestasset is you!

Always investin yourself !

Page 40: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Think out of the box

Page 41: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

“ Nothing is black or white. Life is never either / or.

Nothing is ever as straightforward

as it appears— Nelson Mandella

Page 42: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

VI EMACS

Page 43: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

STATIC DYNAMIC

Page 44: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)
Page 45: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Groovy adds statictyping and static

compilation

Page 46: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Groovy adds statictyping and static

compilation

C# adds a dynamickeyword, and Scala a

dynamic trait

Page 47: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Groovy adds statictyping and static

compilation

C# adds a dynamickeyword, and Scala a

dynamic trait

Everybody claimsto be functional

Page 48: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

A blended world of languages…

Compiled

Static

Imperative

Object oriented

Single dispatch

Strong typing

Interpreted

Dynamic

Functional

Prototype based

Multiple dispatch

Weak typing

Page 49: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

A blended world of languages…

Compiled

Static

Imperative

Object oriented

Single dispatch

Strong typing

Interpreted

Dynamic

Functional

Prototype based

Multiple dispatch

Weak typing

Not just 0 or 1

Page 50: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

A blended world of languages…

Compiled

Static

Imperative

Object oriented

Single dispatch

Strong typing

Interpreted

Dynamic

Functional

Prototype based

Multiple dispatch

Weak typing

Not just 0 or 1

A float between 0 and 1

Page 51: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

A blended world of languages…

Compiled

Static

Imperative

Object oriented

Single dispatch

Strong typing

Interpreted

Dynamic

Functional

Prototype based

Multiple dispatch

Weak typing

Not just 0 or 1

A float between 0 and 1

Even a vector of floats!

Page 52: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

A blended world of languages…

Compiled

Static

Imperative

Object oriented

Single dispatch

Strong typing

Interpreted

Dynamic

Functional

Prototype based

Multiple dispatch

Weak typing

Not just 0 or 1

A float between 0 and 1

Even a vector of floats!

Several attributes atthe same time

Page 53: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

“Programs must be written for people to read, and

only incidentally for machines to execute

— Abelson & SussmanStructure & Interpretation

of Computer Programs

Page 54: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Readability matters

Page 55: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Readability matters

Conciseness shouldn’tcompromise readability

Page 56: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Readability matters

Conciseness shouldn’tcompromise readability 80 % reading,

20 % writing code

Page 57: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Ascii art programming…

(0:/o)(_*_)

Page 58: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Ascii art programming…

(0:/o)(_*_)(0:/o)(_*_)

Page 59: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Ascii art programming…

(0:/o)(_*_)

Page 60: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Ascii art programming…

(0:/o)(_*_)(0:/o)(_*_)

Page 61: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Ascii art programming…

(0:/o)(_*_)

Page 62: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Ascii art programming…

(0:/o)(_*_)(0:/o)(_*_)

Page 63: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Ascii art programming…

(0:/o)(_*_)

Page 64: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Ascii art programming…

(0:/o)(_*_)

Page 65: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

“ Any sufficiently advanced technology is indistinguishable

from magic— Arthur C. Clarke

Page 66: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)
Page 67: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Use magicwith caution

Page 68: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Use magicwith caution

Too many« implicits » or« conventions »can be harmful

Page 69: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Use magicwith caution

Too many« implicits » or« conventions »can be harmful

Often « explicit »is more obvious

Page 70: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)
Page 71: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Reinventingthe wheel isn’t

always bad!

Page 72: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Reinventingthe wheel isn’t

always bad!

What about anew language?

Page 73: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Reinventingthe wheel isn’t

always bad!

New languagesmature the field

What about anew language?

Page 74: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Reinventingthe wheel isn’t

always bad!

New languagesmature the field

Design patternsbecome language

features

What about anew language?

Page 75: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Reinventingthe wheel isn’t

always bad!

New languagesmature the field

Design patternsbecome language

features

We’d be stilldeveloping in

ASM or Cobol…

What about anew language?

Page 76: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

“ Perfection is achieved not when there is nothing more

to add, but when there is nothing left to take away

— Antoine de Saint-Exupéry

Page 77: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)
Page 78: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Keep ItSimpleStupid

Page 79: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Keep ItSimpleStupid

Don’t over-engineertoo much

Page 80: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Keep ItSimpleStupid

Don’t over-engineertoo much

You Ain’t GonnaNeed It

Page 81: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Summary — about yourself

• Contribute to Open Source • You get the community you deserve

!

• Be an actor! • Speak publicly • Create the next disruption with software

!

• Your best asset is you • Invest in yourself • Think out of the box • Reinvent yourself

Page 82: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Summary — about your craft

!

• Be cautious with magic !

• Readability matters !

• Keep things simple !

• Don’t be afraid of reinventing the wheel

Page 83: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Summary — and…

!

• Have fun!

Page 84: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

“ We must be very careful when giving advice to younger people:

sometimes they follow it

— Edgar Dijkstra

Page 85: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)
Page 86: Little words of wisdom for the developer - Guillaume Laforge (Pivotal)

Thanks for your attention!