I want to be a more efficient developer

Понравилась презентация – покажи это...

Слайд 0

I want to be a more efficient developer Talk by @waxzce – Quentin ADAM At mix it 2014

Слайд 1

My day to day work : Clever Cloud, make your app run all the time

Слайд 2

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…

Слайд 3

Developers are more and more creative

Слайд 4

Devs leads a lot of business

Слайд 5

Ship quickly working apps

Слайд 6

Value is on people Market knowledge, team management, product ownership…

Слайд 7

How make them be more efficient ?

Слайд 8

Developer happiness is key

Слайд 9

Happy people produce better work

Слайд 10

Optimize code and process to be happy of what you are doing

Слайд 11

Open sources work processes are better

Слайд 12

People writing code because they just want to do it Think about

Слайд 13

Because they can solve problem of the world

Слайд 14

Build a framework to produce code easily and show it easily

Слайд 15

Release early release often

Слайд 16

Release early Deploy often

Слайд 17

Focus on your own added value

Слайд 18

Deployment has to be easy !

Слайд 19

Be focus when you code

Слайд 20

Git push <your_favorite_hosting_ provider> master

Слайд 21

Git push <your_favorite_ Continuous_integration_ system> master

Слайд 22

Or not ;-)

Слайд 23

All the team have to be ready to deploy

Слайд 24

You have to deploy your app several times a day

Слайд 25

Split your app

Слайд 26

Split the code : modules

Слайд 27

Smallest code base possible for each program

Слайд 28

Each module is viewed as a service by others http or amqp comunication Or as a client

Слайд 29

Use event broker to modularize your app AMQP Celery 0MQ Redis JMS Some case : hadoop, akka… … CRON is not an event queue

Слайд 30

Focus on the best tool to solve your problem

Слайд 31

Don’t be that guy

Слайд 32

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

Слайд 33

Do not create monsters

Слайд 34

Lear new things & innovate

Слайд 35

{P, DB, S} aaS Use ops free solution to learn and start

Слайд 36

Use online database / be ready to test in just a few minutes No need to trash your computer

Слайд 37

Make all deployments async module by module

Слайд 38

Statelessness everywhere Avoid host specific things

Слайд 39

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

Слайд 40

Scale your team modularize your team

Слайд 41

SOA is back

Слайд 42

Time will trash your code

Слайд 43

The power of rewrite everything

Слайд 44

Small code base + multiple technologies = legacy killer

Слайд 45

Rewrite is quick because you know all the problems before it happens

Слайд 46

Happy developer works better : Are you happy when you start your IDE?

Слайд 47

Version Everything ! Data & API

Слайд 48

Nosql json data need version

Слайд 49

Use http and all the goodness it bring on your app

Слайд 50

200 OK body : { type : error, message : i can’t find the file }

Слайд 51

Really ?

Слайд 52

Put some tools in your code

Слайд 53

Use build manager

Слайд 54

Let peoples free to choose their IDE

Слайд 55

use a configuration manager / library

Слайд 56

Learn git “like a boss”

Слайд 57

I mean : use git with CLI

Слайд 58

Focus on code readability

Слайд 59

Avoid early performances optimization

Слайд 60

You have to think it’s your first day on the code base

Слайд 61

And something will make you happy

Слайд 62

a documentation slim as possible

Слайд 63

Write everything

Слайд 64

Do you work like this ?

Слайд 65

Example : how does clever cloud work ?

Слайд 66

Some of technology we use C

Слайд 67

All together using http & amqp

Слайд 68

Слайд 69

The fast developer way Statup weekends Hackatons Coding dojo Lean startup machine

Слайд 70

I’m @waxzce on twitter I’m the CEO of A PaaS provider, give it a try ;-) Thx for listening & questions time