I want to be a more efficient developer

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

Слайд 1

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

Слайд 2

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

Слайд 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

Developers are more and more creative

Слайд 5

Devs leads a lot of business

Слайд 6

Ship quickly working apps

Слайд 7

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

Слайд 8

How make them be more efficient ?

Слайд 9

Developer happiness is key

Слайд 10

Happy people produce better work

Слайд 11

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

Слайд 12

Open sources work processes are better

Слайд 13

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

Слайд 14

Because they can solve problem of the world

Слайд 15

Build a framework to produce code easily and show it easily

Слайд 16

Release early release often

Слайд 17

Release early Deploy often

Слайд 18

Focus on your own added value

Слайд 19

Deployment has to be easy !

Слайд 20

Be focus when you code

Слайд 21

Git push <your_favorite_hosting_ provider> master

Слайд 22

Git push <your_favorite_ Continuous_integration_ system> master

Слайд 23

Or not ;-)

Слайд 24

All the team have to be ready to deploy

Слайд 25

You have to deploy your app several times a day

Слайд 26

Split your app

Слайд 27

Split the code : modules

Слайд 28

Smallest code base possible for each program

Слайд 29

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

Слайд 30

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

Слайд 31

Focus on the best tool to solve your problem

Слайд 32

Don’t be that guy

Слайд 33

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

Слайд 34

Do not create monsters

Слайд 35

Lear new things & innovate

Слайд 36

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

Слайд 37

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

Слайд 38

Make all deployments async module by module

Слайд 39

Statelessness everywhere Avoid host specific things

Слайд 40

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

Слайд 41

Scale your team modularize your team

Слайд 42

SOA is back

Слайд 43

Time will trash your code

Слайд 44

The power of rewrite everything

Слайд 45

Small code base + multiple technologies = legacy killer

Слайд 46

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

Слайд 47

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

Слайд 48

Version Everything ! Data & API

Слайд 49

Nosql json data need version

Слайд 50

Use http and all the goodness it bring on your app

Слайд 51

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

Слайд 52

Really ?

Слайд 53

Put some tools in your code

Слайд 54

Use build manager

Слайд 55

Let peoples free to choose their IDE

Слайд 56

use a configuration manager / library

Слайд 57

Learn git “like a boss”

Слайд 58

I mean : use git with CLI

Слайд 59

Focus on code readability

Слайд 60

Avoid early performances optimization

Слайд 61

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

Слайд 62

And something will make you happy

Слайд 63

a documentation slim as possible

Слайд 64

Write everything

Слайд 65

Do you work like this ?

Слайд 66

Example : how does clever cloud work ?

Слайд 67

Some of technology we use C

Слайд 68

All together using http & amqp

Слайд 69

Слайд 70

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

Слайд 71

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