Upload
quentin-adam
View
8.952
Download
0
Embed Size (px)
Citation preview
I WANT TO BE A MORE EFFICIENT DEVELOPER TALK BY @WAXZCE – QUENTIN ADAMAT MIX IT 2014
MY DAY TO DAY WORK : CLEVER CLOUD, MAKE YOUR APP RUN ALL THE TIME
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…
DEVELOPERS ARE MORE AND MORE CREATIVE
DEVS LEADS A LOT OF BUSINESS
SHIP QUICKLY WORKING APPS
VALUE IS ON PEOPLE MARKET KNOWLEDGE, TEAM MANAGEMENT, PRODUCT OWNERSHIP…
HOW MAKE THEM BE MORE EFFICIENT ?
DEVELOPER HAPPINESS IS KEY
HAPPY PEOPLE PRODUCE BETTER WORK
OPTIMIZE CODE AND PROCESS TO BE HAPPY OF WHAT YOU ARE DOING
OPEN SOURCES WORK PROCESSES ARE BETTER
PEOPLE WRITING CODE BECAUSE THEY JUST WANT TO DO IT
THINK ABOUT
BECAUSE THEY CAN SOLVE PROBLEM OF THE WORLD
BUILD A FRAMEWORK TO PRODUCE CODE EASILY AND SHOW IT EASILY
RELEASE EARLYRELEASE OFTEN
RELEASE EARLYDEPLOYOFTEN
FOCUS ON YOUR OWN ADDED VALUE
DEPLOYMENT HAS TO BE EASY !
BE FOCUS WHEN YOU CODE
GIT PUSH <YOUR_FAVORITE_HOSTING_PROVIDER> MASTER
GIT PUSH <YOUR_FAVORITE_CONTINUOUS_INTEGRATION_SYSTEM> MASTER
OR NOT ;-)
ALL THE TEAM HAVE TO BE READY TO DEPLOY
YOU HAVE TO DEPLOY YOUR APP SEVERAL TIMES A DAY
SPLIT YOUR APP
SPLIT THE CODE : MODULES
SMALLEST CODE BASE POSSIBLE FOR EACH PROGRAM
EACH MODULE IS VIEWED AS A SERVICE BY OTHERSHTTP OR AMQP COMUNICATION
OR AS A CLIENT
USE EVENT BROKER TO MODULARIZE YOUR APP• AMQP• Celery • 0MQ• Redis• JMS• Some case : hadoop, akka…• …
CRON is not an event queue
FOCUS ON THE BEST TOOL TO SOLVE YOUR PROBLEM
DON’T BE THAT GUY
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
DO NOT CREATE MONSTERS
LEAR NEW THINGS & INNOVATE
{P, DB, S} aaS
USE OPS FREE SOLUTION TO LEARN AND START
USE ONLINE DATABASE / BE READY TO TEST IN JUST A FEW MINUTES NO NEED TO TRASH YOUR COMPUTER
MAKE ALL DEPLOYMENTS ASYNC MODULE BY MODULE
Statelessness everywhere
AVOID HOST SPECIFIC THINGS
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
SCALE YOUR TEAMMODULARIZE YOUR TEAM
SOA IS BACK
TIME WILL TRASH YOUR CODE
THE POWER OF REWRITE EVERYTHING
SMALL CODE BASE + MULTIPLE TECHNOLOGIES = LEGACY KILLER
REWRITE IS QUICK BECAUSE YOU KNOW ALL THE PROBLEMS BEFORE IT HAPPENS
HAPPY DEVELOPER WORKS BETTER : ARE YOU HAPPY WHEN YOU START YOUR IDE?
VERSION EVERYTHING !Data & API
NOSQL JSON DATA NEED VERSION
Get doc on DB
Version check : is there an update to
do ?
Use it at last code version
USE HTTPAND ALL THE GOODNESS IT BRING ON YOUR APP
200 OKBODY : { TYPE : ERROR, MESSAGE : I CAN’T FIND THE FILE }
REALLY ?
PUT SOME TOOLS IN YOUR CODE
USE BUILD MANAGER
LET PEOPLES FREE TO CHOOSE THEIR IDE
USE A CONFIGURATION MANAGER / LIBRARY
LEARN GIT “LIKE A BOSS”
I MEAN : USE GIT WITH CLI
FOCUS ON CODE READABILITY
AVOID EARLY PERFORMANCES OPTIMIZATION
YOU HAVE TO THINK IT’S YOUR FIRST DAY ON THE CODE BASE
AND SOMETHING WILL MAKE YOU HAPPY
A DOCUMENTATION SLIM AS POSSIBLE
WRITE EVERYTHING
DO YOU WORK LIKE THIS ?
EXAMPLE : HOW DOES CLEVER CLOUD WORK ?
SOME OF TECHNOLOGY WE USE
C
ALL TOGETHER USING HTTP & AMQP
THE FAST DEVELOPER WAY
• Statup weekends
• Hackatons • Coding dojo• Lean startup
machine
I’m @waxzce on twitter
I’m the CEO of
A PaaS provider, give it a try ;-)
THX FOR LISTENING & QUESTIONS TIME