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

I want to be an efficient developer - APIdays Barcelona version

Embed Size (px)

DESCRIPTION

some practices to be a more efficient developer

Citation preview

Page 1: I want to be an efficient developer - APIdays Barcelona version

I WANT TO BE A MORE EFFICIENT DEVELOPER TALK BY

@WAXZCE – QUENTIN ADAM

AT APIDAYS BARCELONA 2014

Page 2: I want to be an efficient developer - APIdays Barcelona version

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

Page 3: I want to be an efficient developer - APIdays Barcelona 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 developer - APIdays Barcelona version

AND LEARN A LOT OF THINGS ABOUT YOUR CODE, APPS, AND GOOD/BAD DESIGN…

Page 5: I want to be an efficient developer - APIdays Barcelona version

DEVELOPERS ARE MORE AND MORE CREATIVE

Page 6: I want to be an efficient developer - APIdays Barcelona version

DEVS LEADS A LOT OF BUSINESS

Page 7: I want to be an efficient developer - APIdays Barcelona version

SHIP QUICKLY WORKING APPS

Page 8: I want to be an efficient developer - APIdays Barcelona version

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

Page 9: I want to be an efficient developer - APIdays Barcelona version

HOW MAKE THEM BE MORE EFFICIENT ?

Page 10: I want to be an efficient developer - APIdays Barcelona version

DEVELOPER HAPPINESS IS KEY

Page 11: I want to be an efficient developer - APIdays Barcelona version

HAPPY PEOPLE PRODUCE BETTER WORK

Page 12: I want to be an efficient developer - APIdays Barcelona version

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

Page 13: I want to be an efficient developer - APIdays Barcelona version

OPEN SOURCES WORK PROCESSES ARE BETTER

Page 14: I want to be an efficient developer - APIdays Barcelona version

PEOPLE WRITING CODE BECAUSE THEY JUST WANT TO DO IT

THINK ABOUT

Page 15: I want to be an efficient developer - APIdays Barcelona version

BECAUSE THEY CAN SOLVE PROBLEM OF THE WORLD

Page 16: I want to be an efficient developer - APIdays Barcelona version

OPEN SOURCES SHOW A VERY SUCCESSFUL TRACK RECORDS

Page 17: I want to be an efficient developer - APIdays Barcelona version

BUILD A FRAMEWORK TO PRODUCE CODE EASILY AND SHOW IT EASILY

Page 18: I want to be an efficient developer - APIdays Barcelona version

RELEASE EARLYRELEASE OFTEN

Page 19: I want to be an efficient developer - APIdays Barcelona version

YOU HAVE TO REMOVE ALL DISTURBING / DISTRACTING ACTIONS

Page 20: I want to be an efficient developer - APIdays Barcelona version

FOCUS ON YOUR OWN ADDED VALUE

Page 21: I want to be an efficient developer - APIdays Barcelona version

BE FOCUS WHEN YOU CODE

Page 22: I want to be an efficient developer - APIdays Barcelona version

RELEASE EARLYDEPLOYOFTEN

Page 23: I want to be an efficient developer - APIdays Barcelona version

DEPLOYMENT HAS TO BE EASY !

Page 24: I want to be an efficient developer - APIdays Barcelona version

GIT PUSH <YOUR_FAVORITE_HOSTING_PROVIDER> MASTER

Page 25: I want to be an efficient developer - APIdays Barcelona version

GIT PUSH <YOUR_FAVORITE_CONTINUOUS_INTEGRATION_SYSTEM> MASTER

Page 26: I want to be an efficient developer - APIdays Barcelona version

ALL THE TEAM HAVE TO BE READY TO DEPLOY

Page 27: I want to be an efficient developer - APIdays Barcelona version

YOU HAVE TO DEPLOY YOUR APP SEVERAL TIMES A DAY

Page 28: I want to be an efficient developer - APIdays Barcelona version

SPLIT YOUR APP

Page 29: I want to be an efficient developer - APIdays Barcelona version

SPLIT THE CODE : MODULES

Page 30: I want to be an efficient developer - APIdays Barcelona version

SMALLEST CODE BASE POSSIBLE FOR EACH PROGRAM

Page 31: I want to be an efficient developer - APIdays Barcelona version

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

OR AS A CLIENT

Page 32: I want to be an efficient developer - APIdays Barcelona version

USE EVENT BROKER TO MODULARIZE YOUR APP• AMQP

• Celery

• 0MQ

• Redis

• JMS

• Some case : hadoop, akka…

• …

CRON is not an event queue

Page 33: I want to be an efficient developer - APIdays Barcelona version

FOCUS ON THE BEST TOOL TO SOLVE YOUR PROBLEM

Page 34: I want to be an efficient developer - APIdays Barcelona version

DON’T BE THAT GUY

Page 35: I want to be an efficient developer - APIdays Barcelona 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 36: I want to be an efficient developer - APIdays Barcelona version

DO NOT CREATE MONSTERS

Page 37: I want to be an efficient developer - APIdays Barcelona version

SCALE YOUR TEAMMODULARIZE YOUR TEAM

Page 38: I want to be an efficient developer - APIdays Barcelona version

LEAR NEW THINGS & INNOVATE

Page 39: I want to be an efficient developer - APIdays Barcelona version

{P, DB, S} aaS

USE OPS FREE SOLUTION TO LEARN AND START

Page 40: I want to be an efficient developer - APIdays Barcelona version

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

Page 41: I want to be an efficient developer - APIdays Barcelona version

Statelessness everywhere

AVOID HOST SPECIFIC THINGS

Page 42: I want to be an efficient developer - APIdays Barcelona 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 43: I want to be an efficient developer - APIdays Barcelona version

TIME WILL TRASH YOUR CODE

Page 44: I want to be an efficient developer - APIdays Barcelona version

SOMETIMES YOU NEED TO CLEAN UP

Page 45: I want to be an efficient developer - APIdays Barcelona version

THE POWER OF REWRITE EVERYTHING

Page 46: I want to be an efficient developer - APIdays Barcelona version

SMALL CODE BASE + MULTIPLE TECHNOLOGIES = LEGACY KILLER

Page 47: I want to be an efficient developer - APIdays Barcelona version

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

Page 48: I want to be an efficient developer - APIdays Barcelona version

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

Page 49: I want to be an efficient developer - APIdays Barcelona version

VERSION EVERYTHING !Data & API

Page 50: I want to be an efficient developer - APIdays Barcelona version

USE HTTPAND ALL THE GOODNESS IT BRING ON YOUR APP

Page 51: I want to be an efficient developer - APIdays Barcelona version

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

Page 52: I want to be an efficient developer - APIdays Barcelona version

REALLY ?

Page 53: I want to be an efficient developer - APIdays Barcelona version

WRITE EVERYTHING

Page 54: I want to be an efficient developer - APIdays Barcelona version

PUT SOME TOOLS IN YOUR CODE

Page 55: I want to be an efficient developer - APIdays Barcelona version

USE BUILD MANAGER

Page 56: I want to be an efficient developer - APIdays Barcelona version

LET PEOPLES FREE TO CHOOSE THEIR IDE

Page 57: I want to be an efficient developer - APIdays Barcelona version

USE A CONFIGURATION MANAGER / LIBRARY

Page 58: I want to be an efficient developer - APIdays Barcelona version

LEARN GIT “LIKE A BOSS”

Page 59: I want to be an efficient developer - APIdays Barcelona version

I MEAN : USE GIT WITH CLI

Page 60: I want to be an efficient developer - APIdays Barcelona version

FOCUS ON CODE READABILITY

Page 61: I want to be an efficient developer - APIdays Barcelona version

AVOID EARLY PERFORMANCES OPTIMIZATION

Page 62: I want to be an efficient developer - APIdays Barcelona version

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

Page 63: I want to be an efficient developer - APIdays Barcelona version

DO YOU WORK LIKE THIS ?

Page 64: I want to be an efficient developer - APIdays Barcelona version

EXAMPLE : HOW DOES CLEVER CLOUD WORK ?

Page 65: I want to be an efficient developer - APIdays Barcelona version

SOME OF TECHNOLOGY WE USE

C

Page 66: I want to be an efficient developer - APIdays Barcelona version

ALL TOGETHER USING HTTP & AMQP

Page 67: I want to be an efficient developer - APIdays Barcelona version
Page 68: I want to be an efficient developer - APIdays Barcelona version

THE FAST DEVELOPER WAY

• Statup weekends

• Hackatons

• Coding dojo

• Lean startup machine

Page 69: I want to be an efficient developer - APIdays Barcelona version
Page 70: I want to be an efficient developer - APIdays Barcelona version
Page 71: I want to be an efficient developer - APIdays Barcelona version

I’m @waxzce on twitter

I’m the CEO of

A PaaS provider, give it a try ;-)

THX FOR LISTENING & QUESTIONS TIME