Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Some words of wisdom for the developer

Some words of wisdom for the developer

Short presentation I've given at the London Java Community even, during the JAX London 2013 conference.

Guillaume Laforge

October 29, 2013
Tweet

More Decks by Guillaume Laforge

Other Decks in Technology

Transcript

  1. “There are three types of people on earth: ones make

    things happen, ones watch things happen, 
 ones wonder what happened — Jim Lovell
 Appollo 13 astraunaut
  2. Contribute to Open Source Best carreer move for me! Travel

    and meet great people Work with great developers
  3. Contribute to Open Source Best carreer move for me! Travel

    and meet great people Work with great developers A job that doesn’t feel like a job
  4. Contribute to Open Source Best carreer move for me! Travel

    and meet great people Work with great developers A job that doesn’t feel like a job You’ll learn a lot
  5. “ Software 
 is eating 
 the world — Marc

    Andreessen Netscape fame Venture Capitalist
  6. Software offers us a lot of opportunities Deploy in the

    cloud, spread the word on social networks…
  7. Software offers us a lot of opportunities Deploy in the

    cloud, spread the word on social networks… Create the next disruption!
  8. “ 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
  9. “ Nothing is black or white. 
 Life is never

    either / or. 
 Nothing is ever as straightforward as it appears — Nelson Mandella
  10. Groovy adds static typing and static compilation C# adds a

    dynamic keyword, and Scala a dynamic trait
  11. Groovy adds static typing and static compilation C# adds a

    dynamic keyword, and Scala a dynamic trait Everybody claims to be functional
  12. A blended world of languages… Compiled Static Imperative Object oriented

    Single dispatch Strong typing Interpreted Dynamic Functional Prototype based Multiple dispatch Weak typing
  13. 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
  14. 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
  15. 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!
  16. 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 at the same time
  17. “Programs must be written for people to read, and 


    only incidentally for 
 machines to execute — Abelson & Sussman
 Structure & Interpretation 
 of Computer Programs
  18. Use magic with caution Too many « implicits » or

    « conventions » can be harmful
  19. Use magic with caution Too many « implicits » or

    « conventions » can be harmful Often « explicit » is more obvious
  20. Reinventing the wheel isn’t always bad! New languages mature the

    field Design patterns become language features What about a new language?
  21. Reinventing the wheel isn’t always bad! New languages mature the

    field Design patterns become language features We’d be still developing in ASM or Cobol… What about a new language?
  22. “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
  23. 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
  24. Summary — about your craft ! • Be cautious with

    magic ! • Readability matters ! • Keep things simple ! • Don’t be afraid of reinventing the wheel
  25. “ We must be very careful when giving advice 


    to younger people: sometimes 
 they follow it — Edgar Dijkstra