I want to be an efficient developer - APIdays Barcelona version

1,216 views

Published on

some practices to be a more efficient developer

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

No Downloads
Views
Total views
1,216
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
7
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Some slides

    Lots of != techs
    Lots of modules
    Only http or amqp

  • I want to be an efficient developer - APIdays Barcelona version

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

    ×