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

813 views

Published on

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.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
813
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 1. Little words of wisdom for the developer
  2. 2. Guillaume Laforge @glaforge http://glaforge.appspot.com http://gplus.to/glaforge +
  3. 3. Have Fun!
  4. 4. “ 1.7 million 
 downloads
 per year
  5. 5. Great for scripting
  6. 6. Great for scripting Fit for DomainSpecific Languages
  7. 7. Great for scripting Fit for DomainSpecific Languages Most seamless integration & interoperability wih java!
  8. 8. Yup, we’re all using Groovy!
  9. 9. “ 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
  10. 10. Contribute to Open Source
  11. 11. Contribute to Open Source Best carreer move for me!
  12. 12. Contribute to Open Source Best carreer move for me! Work with great developers
  13. 13. Contribute to Open Source Best carreer move for me! Work with great developers Travel and meet great people
  14. 14. Contribute to Open Source Best carreer move for me! Work with great developers Travel and meet great people A job that doesn’t feel like a job
  15. 15. Contribute to Open Source Best carreer move for me! Work with great developers Travel and meet great people A job that doesn’t feel like a job You’ll learn a lot
  16. 16. Speak publicly
  17. 17. Speak publicly Get more confident in your skills, your knowledge, yourself…
  18. 18. Always be nice & helpful
  19. 19. Always be nice & helpful You get the community you deserve
  20. 20. “ Software 
 is eating 
 the world — Marc Andreessen Netscape fame Venture Capitalist
  21. 21. Software disrupted: retail, book, newspaper, music industries….
  22. 22. Software disrupted: retail, book, newspaper, music industries…. Need to reinvent yourself!
  23. 23. Software offers us a lot of opportunities
  24. 24. Software offers us a lot of opportunities Deploy in the cloud, spread the word on social networks…
  25. 25. Software offers us a lot of opportunities Deploy in the cloud, spread the word on social networks… Create the next disruption!
  26. 26. “ 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
  27. 27. Be an actor!
  28. 28. Your best asset is you!
  29. 29. Your best asset is you! Always invest in yourself!
  30. 30. Think out of the box
  31. 31. “ Nothing is black or white. 
 Life is never either / or. 
 Nothing is ever as straightforward as it appears — Nelson Mandella
  32. 32. VI EMACS
  33. 33. STATIC DYNAMIC
  34. 34. Groovy adds static typing and static compilation
  35. 35. Groovy adds static typing and static compilation C# adds a dynamic keyword, and Scala a dynamic trait
  36. 36. Groovy adds static typing and static compilation Everybody claims to be functional C# adds a dynamic keyword, and Scala a dynamic trait
  37. 37. A blended world of languages… Compiled Static Imperative Interpreted Dynamic Functional Object oriented Prototype based Single dispatch Multiple dispatch Strong typing Weak typing
  38. 38. A blended world of languages… Compiled Not just 0 or 1 Static Imperative Interpreted Dynamic Functional Object oriented Prototype based Single dispatch Multiple dispatch Strong typing Weak typing
  39. 39. A blended world of languages… Compiled Not just 0 or 1 Interpreted Staticfloat between 0 and 1 Dynamic A Imperative Functional Object oriented Prototype based Single dispatch Multiple dispatch Strong typing Weak typing
  40. 40. A blended world of languages… Compiled Not just 0 or 1 Interpreted Staticfloat between 0 and 1 Dynamic A Imperative Functional Even Object oriented a vector of floats! Prototype based Single dispatch Strong typing Multiple dispatch Weak typing
  41. 41. A blended world of languages… Compiled Not just 0 or 1 Interpreted Staticfloat between 0 and 1 Dynamic A Imperative Functional Even Object oriented a vector of floats! Prototype based Single dispatch Multiple dispatch Strong typing Weak typing Several attributes at the same time
  42. 42. “ Programs must be written for people to read, and 
 only incidentally for 
 machines to execute — Abelson & Sussman
 Structure & Interpretation 
 of Computer Programs
  43. 43. Readability matters
  44. 44. Readability matters Conciseness shouldn’t compromise readability
  45. 45. Readability matters Conciseness shouldn’t compromise readability 80 % reading, 20 % writing code
  46. 46. Ascii art programming… (0:/o) (_*_)
  47. 47. Ascii art programming… (0:/o) (_*_)
  48. 48. Ascii art programming… (0:/o) (_*_)
  49. 49. Ascii art programming… (0:/o) (_*_)
  50. 50. Ascii art programming… (0:/o) (_*_)
  51. 51. Ascii art programming… (0:/o) (_*_)
  52. 52. Ascii art programming… (0:/o) (_*_)
  53. 53. Ascii art programming… (0:/o) (_*_)
  54. 54. “ Any sufficiently 
 advanced technology 
 is indistinguishable 
 from magic — Arthur C. Clarke
  55. 55. Use magic with caution
  56. 56. Use magic with caution Too many « implicits » or « conventions » can be harmful
  57. 57. Use magic with caution Too many « implicits » or « conventions » can be harmful Often « explicit » is more obvious
  58. 58. Reinventing the wheel isn’t always bad!
  59. 59. Reinventing the wheel isn’t always bad! What about a new language?
  60. 60. Reinventing the wheel isn’t always bad! What about a new language? New languages mature the field
  61. 61. Reinventing the wheel isn’t always bad! New languages mature the field Design patterns become language features What about a new language?
  62. 62. Reinventing the wheel isn’t always bad! New languages mature the field Design patterns become language features What about a new language? We’d be still developing in ASM or Cobol…
  63. 63. “ 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
  64. 64. Keep It Simple Stupid
  65. 65. Keep It Simple Stupid Don’t over-engineer too much
  66. 66. Keep It Simple Stupid Don’t over-engineer too much You Ain’t Gonna Need It
  67. 67. 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
  68. 68. Summary — about your craft ! • Be cautious with magic ! • Readability matters ! • Keep things simple ! • Don’t be afraid of reinventing the wheel
  69. 69. Summary — and… ! • Have fun!
  70. 70. “ We must be very careful when giving advice 
 to younger people: sometimes 
 they follow it — Edgar Dijkstra
  71. 71. Thanks for 
 your attention!

×