71
I WANT TO BE A MORE EFFICIENT DEVELOPER TALK BY @WAXZCE – QUENTIN ADAM AT MIX IT 2014

I want to be an efficient developper. Mix-IT version

Embed Size (px)

Citation preview

Page 1: I want to be an efficient developper. Mix-IT version

I WANT TO BE A MORE EFFICIENT DEVELOPER TALK BY @WAXZCE – QUENTIN ADAMAT MIX IT 2014

Page 2: I want to be an efficient developper. Mix-IT version

MY DAY TO DAY WORK : CLEVER CLOUD, MAKE YOUR APP RUN ALL THE TIME

Page 3: I want to be an efficient developper. Mix-IT version

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…

Page 4: I want to be an efficient developper. Mix-IT version

DEVELOPERS ARE MORE AND MORE CREATIVE

Page 5: I want to be an efficient developper. Mix-IT version

DEVS LEADS A LOT OF BUSINESS

Page 6: I want to be an efficient developper. Mix-IT version

SHIP QUICKLY WORKING APPS

Page 7: I want to be an efficient developper. Mix-IT version

VALUE IS ON PEOPLE MARKET KNOWLEDGE, TEAM MANAGEMENT, PRODUCT OWNERSHIP…

Page 8: I want to be an efficient developper. Mix-IT version

HOW MAKE THEM BE MORE EFFICIENT ?

Page 9: I want to be an efficient developper. Mix-IT version

DEVELOPER HAPPINESS IS KEY

Page 10: I want to be an efficient developper. Mix-IT version

HAPPY PEOPLE PRODUCE BETTER WORK

Page 11: I want to be an efficient developper. Mix-IT version

OPTIMIZE CODE AND PROCESS TO BE HAPPY OF WHAT YOU ARE DOING

Page 12: I want to be an efficient developper. Mix-IT version

OPEN SOURCES WORK PROCESSES ARE BETTER

Page 13: I want to be an efficient developper. Mix-IT version

PEOPLE WRITING CODE BECAUSE THEY JUST WANT TO DO IT

THINK ABOUT

Page 14: I want to be an efficient developper. Mix-IT version

BECAUSE THEY CAN SOLVE PROBLEM OF THE WORLD

Page 15: I want to be an efficient developper. Mix-IT version

BUILD A FRAMEWORK TO PRODUCE CODE EASILY AND SHOW IT EASILY

Page 16: I want to be an efficient developper. Mix-IT version

RELEASE EARLYRELEASE OFTEN

Page 17: I want to be an efficient developper. Mix-IT version

RELEASE EARLYDEPLOYOFTEN

Page 18: I want to be an efficient developper. Mix-IT version

FOCUS ON YOUR OWN ADDED VALUE

Page 19: I want to be an efficient developper. Mix-IT version

DEPLOYMENT HAS TO BE EASY !

Page 20: I want to be an efficient developper. Mix-IT version

BE FOCUS WHEN YOU CODE

Page 21: I want to be an efficient developper. Mix-IT version

GIT PUSH <YOUR_FAVORITE_HOSTING_PROVIDER> MASTER

Page 22: I want to be an efficient developper. Mix-IT version

GIT PUSH <YOUR_FAVORITE_CONTINUOUS_INTEGRATION_SYSTEM> MASTER

Page 23: I want to be an efficient developper. Mix-IT version

OR NOT ;-)

Page 24: I want to be an efficient developper. Mix-IT version

ALL THE TEAM HAVE TO BE READY TO DEPLOY

Page 25: I want to be an efficient developper. Mix-IT version

YOU HAVE TO DEPLOY YOUR APP SEVERAL TIMES A DAY

Page 26: I want to be an efficient developper. Mix-IT version

SPLIT YOUR APP

Page 27: I want to be an efficient developper. Mix-IT version

SPLIT THE CODE : MODULES

Page 28: I want to be an efficient developper. Mix-IT version

SMALLEST CODE BASE POSSIBLE FOR EACH PROGRAM

Page 29: I want to be an efficient developper. Mix-IT version

EACH MODULE IS VIEWED AS A SERVICE BY OTHERSHTTP OR AMQP COMUNICATION

OR AS A CLIENT

Page 30: I want to be an efficient developper. Mix-IT version

USE EVENT BROKER TO MODULARIZE YOUR APP• AMQP• Celery • 0MQ• Redis• JMS• Some case : hadoop, akka…• …

CRON is not an event queue

Page 31: I want to be an efficient developper. Mix-IT version

FOCUS ON THE BEST TOOL TO SOLVE YOUR PROBLEM

Page 32: I want to be an efficient developper. Mix-IT version

DON’T BE THAT GUY

Page 33: I want to be an efficient developper. Mix-IT version

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

Page 34: I want to be an efficient developper. Mix-IT version

DO NOT CREATE MONSTERS

Page 35: I want to be an efficient developper. Mix-IT version

LEAR NEW THINGS & INNOVATE

Page 36: I want to be an efficient developper. Mix-IT version

{P, DB, S} aaS

USE OPS FREE SOLUTION TO LEARN AND START

Page 37: I want to be an efficient developper. Mix-IT version

USE ONLINE DATABASE / BE READY TO TEST IN JUST A FEW MINUTES NO NEED TO TRASH YOUR COMPUTER

Page 38: I want to be an efficient developper. Mix-IT version

MAKE ALL DEPLOYMENTS ASYNC MODULE BY MODULE

Page 39: I want to be an efficient developper. Mix-IT version

Statelessness everywhere

AVOID HOST SPECIFIC THINGS

Page 40: I want to be an efficient developper. Mix-IT version

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

Page 41: I want to be an efficient developper. Mix-IT version

SCALE YOUR TEAMMODULARIZE YOUR TEAM

Page 42: I want to be an efficient developper. Mix-IT version

SOA IS BACK

Page 43: I want to be an efficient developper. Mix-IT version

TIME WILL TRASH YOUR CODE

Page 44: I want to be an efficient developper. Mix-IT version

THE POWER OF REWRITE EVERYTHING

Page 45: I want to be an efficient developper. Mix-IT version

SMALL CODE BASE + MULTIPLE TECHNOLOGIES = LEGACY KILLER

Page 46: I want to be an efficient developper. Mix-IT version

REWRITE IS QUICK BECAUSE YOU KNOW ALL THE PROBLEMS BEFORE IT HAPPENS

Page 47: I want to be an efficient developper. Mix-IT version

HAPPY DEVELOPER WORKS BETTER : ARE YOU HAPPY WHEN YOU START YOUR IDE?

Page 48: I want to be an efficient developper. Mix-IT version

VERSION EVERYTHING !Data & API

Page 49: I want to be an efficient developper. Mix-IT version

NOSQL JSON DATA NEED VERSION

Get doc on DB

Version check : is there an update to

do ?

Use it at last code version

Page 50: I want to be an efficient developper. Mix-IT version

USE HTTPAND ALL THE GOODNESS IT BRING ON YOUR APP

Page 51: I want to be an efficient developper. Mix-IT version

200 OKBODY : { TYPE : ERROR, MESSAGE : I CAN’T FIND THE FILE }

Page 52: I want to be an efficient developper. Mix-IT version

REALLY ?

Page 53: I want to be an efficient developper. Mix-IT version

PUT SOME TOOLS IN YOUR CODE

Page 54: I want to be an efficient developper. Mix-IT version

USE BUILD MANAGER

Page 55: I want to be an efficient developper. Mix-IT version

LET PEOPLES FREE TO CHOOSE THEIR IDE

Page 56: I want to be an efficient developper. Mix-IT version

USE A CONFIGURATION MANAGER / LIBRARY

Page 57: I want to be an efficient developper. Mix-IT version

LEARN GIT “LIKE A BOSS”

Page 58: I want to be an efficient developper. Mix-IT version

I MEAN : USE GIT WITH CLI

Page 59: I want to be an efficient developper. Mix-IT version

FOCUS ON CODE READABILITY

Page 60: I want to be an efficient developper. Mix-IT version

AVOID EARLY PERFORMANCES OPTIMIZATION

Page 61: I want to be an efficient developper. Mix-IT version

YOU HAVE TO THINK IT’S YOUR FIRST DAY ON THE CODE BASE

Page 62: I want to be an efficient developper. Mix-IT version

AND SOMETHING WILL MAKE YOU HAPPY

Page 63: I want to be an efficient developper. Mix-IT version

A DOCUMENTATION SLIM AS POSSIBLE

Page 64: I want to be an efficient developper. Mix-IT version

WRITE EVERYTHING

Page 65: I want to be an efficient developper. Mix-IT version

DO YOU WORK LIKE THIS ?

Page 66: I want to be an efficient developper. Mix-IT version

EXAMPLE : HOW DOES CLEVER CLOUD WORK ?

Page 67: I want to be an efficient developper. Mix-IT version

SOME OF TECHNOLOGY WE USE

C

Page 68: I want to be an efficient developper. Mix-IT version

ALL TOGETHER USING HTTP & AMQP

Page 69: I want to be an efficient developper. Mix-IT version
Page 70: I want to be an efficient developper. Mix-IT version

THE FAST DEVELOPER WAY

• Statup weekends

• Hackatons • Coding dojo• Lean startup

machine

Page 71: I want to be an efficient developper. Mix-IT version

I’m @waxzce on twitter

I’m the CEO of

A PaaS provider, give it a try ;-)

THX FOR LISTENING & QUESTIONS TIME