I want to be an efficient developper - APIdays Berlin 2014

962 views

Published on

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

No Downloads
Views
Total views
962
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

I want to be an efficient developper - APIdays Berlin 2014

  1. 1. I WANT TO BE A MORE EFFICIENT DEVELOPER TALK BY @WAXZCE – QUENTIN ADAM AT APIDAYS BERLIN 2014
  2. 2. MY DAY TO DAY WORK : CLEVER CLOUD, MAKE YOUR APP RUN ALL THE TIME
  3. 3. And learn a lot of things about your code, apps, and good/bad design… KEEP YOUR APPS ONLINE. MADE WITH NODE.JS, SCALA, JAVA, RUBY, PHP, PYTHON, GO…
  4. 4. DEVELOPERS ARE MORE AND MORE CREATIVE
  5. 5. DEVS LEADS A LOT OF BUSINESS
  6. 6. SHIP QUICKLY WORKING APPS
  7. 7. VALUE IS ON PEOPLE MARKET KNOWLEDGE, TEAM MANAGEMENT, PRODUCT OWNERSHIP…
  8. 8. HOW MAKE THEM BE MORE EFFICIENT ?
  9. 9. DEVELOPER HAPPINESS IS KEY
  10. 10. HAPPY PEOPLE PRODUCE BETTER WORK
  11. 11. OPTIMIZE CODE AND PROCESS TO BE HAPPY OF WHAT YOU ARE DOING
  12. 12. OPEN SOURCES WORK PROCESSES ARE BETTER
  13. 13. PEOPLE WRITING CODE BECAUSE THEY JUST WANT TO DO IT THINK ABOUT
  14. 14. BECAUSE THEY CAN SOLVE PROBLEM OF THE WORLD
  15. 15. OPEN SOURCES SHOW A VERY SUCCESSFUL TRACK RECORDS
  16. 16. BUILD A FRAMEWORK TO PRODUCE CODE EASILY AND SHOW IT EASILY
  17. 17. RELEASE EARLY RELEASE OFTEN
  18. 18. YOU HAVE TO REMOVE ALL DISTURBING / DISTRACTING ACTIONS
  19. 19. FOCUS ON YOUR OWN ADDED VALUE
  20. 20. BE FOCUS WHEN YOU CODE
  21. 21. RELEASE EARLY DEPLOY OFTEN
  22. 22. DEPLOYMENT HAS TO BE EASY !
  23. 23. GIT PUSH <YOUR_FAVORITE_HOSTING_ PROVIDER> MASTER
  24. 24. GIT PUSH <YOUR_FAVORITE_ CONTINUOUS_INTEGRATION_ SYSTEM> MASTER
  25. 25. ALL THE TEAM HAVE TO BE READY TO DEPLOY
  26. 26. YOU HAVE TO DEPLOY YOUR APP SEVERAL TIMES A DAY
  27. 27. SPLIT YOUR APP
  28. 28. SPLIT THE CODE : MODULES
  29. 29. SMALLEST CODE BASE POSSIBLE FOR EACH PROGRAM
  30. 30. EACH MODULE IS VIEWED AS A SERVICE BY OTHERS HTTP OR AMQP COMUNICATION OR AS A CLIENT
  31. 31. USE EVENT BROKER TO MODULARIZE YOUR APP • AMQP • Celery • 0MQ • Redis • JMS • Some case : hadoop, akka… • … CRON is not an event queue
  32. 32. FOCUS ON THE BEST TOOL TO SOLVE YOUR PROBLEM
  33. 33. DON’T BE THAT GUY
  34. 34. DO NOT USE A TECHNOLOGY BECAUSE YOU <3 IT OR BECAUSE IT’S HYPE : USE IT BECAUSE IT FITS YOUR NEEDS BALANCE YOUR LEARNING CURVE WITH THE TIME SAVED
  35. 35. DO NOT CREATE MONSTERS
  36. 36. SCALE YOUR TEAM MODULARIZE YOUR TEAM
  37. 37. LEAR NEW THINGS & INNOVATE
  38. 38. {P, DB, S} aaS USE OPS FREE SOLUTION TO LEARN AND START
  39. 39. USE ONLINE DATABASE / BE READY TO TEST IN JUST A FEW MINUTES NO NEED TO TRASH YOUR COMPUTER
  40. 40. Statelessness everywhere AVOID HOST SPECIFIC THINGS
  41. 41. DO NOT USE FILE SYSTEM TO STORE SOMETHING • It doesn’t scale • It’s hard to expose as a service • It’s a SPOF • There is ALWAYS a better option
  42. 42. TIME WILL TRASH YOUR CODE
  43. 43. THE POWER OF REWRITE EVERYTHING
  44. 44. SMALL CODE BASE + MULTIPLE TECHNOLOGIES = LEGACY KILLER
  45. 45. REWRITE IS QUICK BECAUSE YOU KNOW ALL THE PROBLEMS BEFORE IT HAPPENS
  46. 46. HAPPY DEVELOPER WORKS BETTER : ARE YOU HAPPY WHEN YOU START YOUR IDE?
  47. 47. VERSION EVERYTHING ! Data & API
  48. 48. USE HTTP AND ALL THE GOODNESS IT BRING ON YOUR APP
  49. 49. 200 OK BODY : { TYPE : ERROR, MESSAGE : I CAN’T FIND THE FILE }
  50. 50. REALLY ?
  51. 51. WRITE EVERYTHING
  52. 52. PUT SOME TOOLS IN YOUR CODE
  53. 53. USE BUILD MANAGER
  54. 54. LET PEOPLES FREE TO CHOOSE THEIR IDE
  55. 55. USE A CONFIGURATION MANAGER / LIBRARY
  56. 56. LEARN GIT “LIKE A BOSS”
  57. 57. I MEAN : USE GIT WITH CLI
  58. 58. FOCUS ON CODE READABILITY
  59. 59. AVOID EARLY PERFORMANCES OPTIMIZATION
  60. 60. YOU HAVE TO THINK IT’S YOUR FIRST DAY ON THE CODE BASE
  61. 61. DO YOU WORK LIKE THIS ?
  62. 62. EXAMPLE : HOW DOES CLEVER CLOUD WORK ?
  63. 63. SOME OF TECHNOLOGY WE USE C
  64. 64. ALL TOGETHER USING HTTP & AMQP
  65. 65. THE FAST DEVELOPER WAY • Statup weekends • Hackatons • Coding dojo • Lean startup machine
  66. 66. I’m @waxzce on twitter I’m the CEO of A PaaS provider, give it a try ;-) THX FOR LISTENING & QUESTIONS TIME

×