carnet de route du développeur - ensimag 2012

71
CARNET DE ROUTE DU DÉVELOPPEUR Partage d’expérience sur le dev en entreprise

Upload: alexandre-morgaut

Post on 12-May-2015

455 views

Category:

Career


0 download

DESCRIPTION

Partage d’expérience sur le dev en entreprise

TRANSCRIPT

Page 1: Carnet de Route du Développeur - ENSIMAG 2012

CARNET DE ROUTE DU DÉVELOPPEUR

Partage d’expérience sur le dev en entreprise

Page 2: Carnet de Route du Développeur - ENSIMAG 2012

AGENDA

•Présentation

•La société 4D

•Les plate-formes

•Arrivée dans l’entreprise

•Une Journée Typique

•Développement

•Rester ouvert

•La carrière

Page 3: Carnet de Route du Développeur - ENSIMAG 2012

PRÉSENTATION

•Alexandre Morgaut

Community [email protected]@amorgaut

•Olivier Randriamanana

Senior [email protected]

Page 4: Carnet de Route du Développeur - ENSIMAG 2012

LA SOCIÉTÉ 4D

Page 5: Carnet de Route du Développeur - ENSIMAG 2012

ENTREPRISE INTERNATIONALE

Page 6: Carnet de Route du Développeur - ENSIMAG 2012

D2D

Page 7: Carnet de Route du Développeur - ENSIMAG 2012

D2D

outils réalisés

Page 8: Carnet de Route du Développeur - ENSIMAG 2012

D2D

par des Développeurs

outils réalisés

Page 9: Carnet de Route du Développeur - ENSIMAG 2012

D2D

pour des Développeurs

par des Développeurs

outils réalisés

Page 10: Carnet de Route du Développeur - ENSIMAG 2012

ENTREPRISE INNOVANTE

Page 11: Carnet de Route du Développeur - ENSIMAG 2012

INNOVATION CONTINUE

• 1984 - 1ère base sur Apple

• 1992 - client / serveur intégré

• 1995 - Cross- platform Mac / Windows

• 1997 - Serveur Web intégré

• 2003 - XML & Web Services natifs

Page 12: Carnet de Route du Développeur - ENSIMAG 2012

VERS LES STANDARDS

• 2004 - ODBC intégré

• 2007 - Unicode, SQL, SVG, Zone Web intégrée

• 2010 - PHP, Synchronisation, Replication

• 2012 - Wakanda....

Page 13: Carnet de Route du Développeur - ENSIMAG 2012

LE LAB

Page 14: Carnet de Route du Développeur - ENSIMAG 2012
Page 15: Carnet de Route du Développeur - ENSIMAG 2012

2008Pivot de Langage

Modernisation 4D

2007Pivot de R&D

Séparation Produit

Page 16: Carnet de Route du Développeur - ENSIMAG 2012

2008Pivot de Langage

Modernisation 4D

2007Pivot de R&D

Séparation Produit Développement Wakanda

Page 17: Carnet de Route du Développeur - ENSIMAG 2012

Fin 2010Pivot Modèle d’Affaire

2008Pivot de Langage

Modernisation 4D

2007Pivot de R&D

Séparation Produit Développement Wakanda

Page 18: Carnet de Route du Développeur - ENSIMAG 2012

Fin 2010Pivot Modèle d’Affaire

2008Pivot de Langage

Modernisation 4D

2007Pivot de R&D

Séparation Produit Développement Wakanda

Open Source

Page 19: Carnet de Route du Développeur - ENSIMAG 2012

Fin 2010« à l’épreuve du feu »

Mars 2011Pivot Renaming

Ecosystème 4D Outside 4D

Page 20: Carnet de Route du Développeur - ENSIMAG 2012

Fin 2010« à l’épreuve du feu »

Mars 2011Pivot Renaming

Ecosystème 4D

Avril 2011Pivot MVP

Outside 4D

Page 21: Carnet de Route du Développeur - ENSIMAG 2012

Fin 2010« à l’épreuve du feu »

Mars 2011Pivot Renaming

Ecosystème 4D

Avril 2011Pivot MVP

Mai 2011Pivot Earlyvangelist

Outside 4D

Page 22: Carnet de Route du Développeur - ENSIMAG 2012
Page 23: Carnet de Route du Développeur - ENSIMAG 2012

LES PLATE-FORMES4D et Wakanda

Page 24: Carnet de Route du Développeur - ENSIMAG 2012
Page 25: Carnet de Route du Développeur - ENSIMAG 2012

•Applications

• Standalone et/ou Client-Server

•Natives Mac OS & Windows

•Mises à jour du client automatiques

• Direct data binding

• Langage unique de la base de données à l’interface utilisateur

➡ Le langage 4D

Page 26: Carnet de Route du Développeur - ENSIMAG 2012

• Technologies Web

•HTTP Server

• SOAP

• SVG

•HTML templates

•Webkit

Page 27: Carnet de Route du Développeur - ENSIMAG 2012
Page 28: Carnet de Route du Développeur - ENSIMAG 2012

Wakanda

Wakanda Server(aka WakandaDB)

Wakanda Application Framework

(aka WAF)

Wakanda Studio

DataStore Model Editor

Code Editor

GUI Designer

Debugger

Users & Groups

Administration

REST/JSON

Extensions

Page 29: Carnet de Route du Développeur - ENSIMAG 2012

Wakanda

Wakanda Server(aka WakandaDB)

Your Client or Server FrameworkJava, .NET, node.js PHP, Python, Ruby...

ExtJS, Sencha Touch, Kendo UI, Backbone.js...

Your Development ToolsVisual Studio, XCode, NetBeans, Eclipse,

Cloud9, Orion, Sencha Architect

REST/JSONJSON-RPC

Webkit debugger protocol 1.0Git, REST, JSON-RPC

Page 30: Carnet de Route du Développeur - ENSIMAG 2012

JavaScriptCoremulti-threaded, preemptive, thread-safe, 64bits, strict mode

fast, well structured & documented, maintained by Apple

Page 31: Carnet de Route du Développeur - ENSIMAG 2012

JavaScriptCoremulti-threaded, preemptive, thread-safe, 64bits, strict mode

fast, well structured & documented, maintained by Apple

Page 32: Carnet de Route du Développeur - ENSIMAG 2012

Employee

company

firstNamelastName

dateOfBirth...

company

Company Cityzipname

country

city

namewebSite

...citytown

stringstring...City

city.name

stringstringDate...

Company

DESIGN YOUR MODEL

Page 33: Carnet de Route du Développeur - ENSIMAG 2012

Employee

company

firstNamelastName

dateOfBirth...

company

Company Cityzipname

country

city

namewebSite

...citytown

stringstring...City

city.name

ds.Employee.find("lastName = Doe").company.town

stringstringDate...

Company

DESIGN YOUR MODEL

Page 34: Carnet de Route du Développeur - ENSIMAG 2012

CommonJS Modules 1.1.1- test, assert, worker, console

-partially: system

W3C / HTML5- Storage, Worker, Blob, Timers, XMLHttpRequest, FileSystem

- Upcoming: Web Socket, File

Node.js compatibility- Buffer, Process, Events, Net, TLS, OS

Page 35: Carnet de Route du Développeur - ENSIMAG 2012
Page 36: Carnet de Route du Développeur - ENSIMAG 2012
Page 37: Carnet de Route du Développeur - ENSIMAG 2012
Page 38: Carnet de Route du Développeur - ENSIMAG 2012
Page 39: Carnet de Route du Développeur - ENSIMAG 2012
Page 40: Carnet de Route du Développeur - ENSIMAG 2012
Page 41: Carnet de Route du Développeur - ENSIMAG 2012
Page 42: Carnet de Route du Développeur - ENSIMAG 2012

ARRIVÉE DANS L’ENTREPRISEEditeur de logiciels

Page 43: Carnet de Route du Développeur - ENSIMAG 2012

Programme

Q/A

Marketing

Architecte

Support

Commercial

Page 44: Carnet de Route du Développeur - ENSIMAG 2012

Programme

Q/A

Marketing

Architecte

Support

Commercial

Page 45: Carnet de Route du Développeur - ENSIMAG 2012

Programme

Q/A

Marketing

Architecte

Support

Commercial

Page 46: Carnet de Route du Développeur - ENSIMAG 2012

UNE JOURNEE TYPIQUE

Page 47: Carnet de Route du Développeur - ENSIMAG 2012

OUTILS ET METHODES

Page 48: Carnet de Route du Développeur - ENSIMAG 2012

OUTILS ET METHODES

★Maîtrise des outils

✴Build

✴Gestion de version

★Méthodes et process du métier

✴Bug fixing

✴Design & développement

★Qualité

Page 49: Carnet de Route du Développeur - ENSIMAG 2012

OUTILS ET METHODES

★Maîtrise des outils

✴Build

✴Gestion de version

★Méthodes et process du métier

✴Bug fixing

✴Design & développement

★Qualité

Page 50: Carnet de Route du Développeur - ENSIMAG 2012

OUTILS

Page 51: Carnet de Route du Développeur - ENSIMAG 2012

OUTILS

★Découvrir de son périmètre fonctionnel

✴Builder le(s) produit(s)

✴Explorer l’architecture du code

✴Comprendre l’intégration des projets

Page 52: Carnet de Route du Développeur - ENSIMAG 2012

OUTILS

Page 53: Carnet de Route du Développeur - ENSIMAG 2012

METHODES : BUG FIXING

★Un art

★Un art codifié (process)

★Tester

★Tester

★Tester

Page 54: Carnet de Route du Développeur - ENSIMAG 2012

METHODES : BUG FIXING

★Un art

★Un art codifié (process)

★Tester

★Tester

★Tester

Page 55: Carnet de Route du Développeur - ENSIMAG 2012

METHODES : BUG FIXING

★Un art

★Un art codifié (process)

★Tester

★Tester

★Tester

Page 56: Carnet de Route du Développeur - ENSIMAG 2012

METHODES : BUG FIXING

★Un art

★Un art codifié (process)

★Tester

★Tester

★Tester

Page 57: Carnet de Route du Développeur - ENSIMAG 2012

METHODES : BUG FIXING

★Un art

★Un art codifié (process)

★Tester

★Tester

★Tester

Page 58: Carnet de Route du Développeur - ENSIMAG 2012

METHODES : BUG FIXING

★Un art

★Un art codifié (process)

★Tester

★Tester

★Tester

Page 59: Carnet de Route du Développeur - ENSIMAG 2012

THE ART OF BUG FIXING

Page 60: Carnet de Route du Développeur - ENSIMAG 2012

THE ART OF BUG FIXING

★Correction chirurgicale

Page 61: Carnet de Route du Développeur - ENSIMAG 2012

THE ART OF BUG FIXING

★Correction chirurgicale

★Correction radicale

Page 62: Carnet de Route du Développeur - ENSIMAG 2012

THE ART OF BUG FIXING

★Correction chirurgicale

★Correction radicale

Page 63: Carnet de Route du Développeur - ENSIMAG 2012

THE ART OF BUG FIXING

★Impact(s), compatibilité ?

★Correction chirurgicale

★Correction radicale

Page 64: Carnet de Route du Développeur - ENSIMAG 2012

THE ART OF BUG FIXING

★Gestion de la compatibilité

Page 65: Carnet de Route du Développeur - ENSIMAG 2012

DÉVELOPPEMENT

Page 66: Carnet de Route du Développeur - ENSIMAG 2012

Programme

Q/A Marketing

DÉVELOPPEMENT

SPORT D’ÉQUIPE

Page 67: Carnet de Route du Développeur - ENSIMAG 2012

DÉVELOPPEMENT

Page 68: Carnet de Route du Développeur - ENSIMAG 2012

DÉVELOPPEMENT

SAVOIR FAIRE★Faire simple (pas simpliste) ★Ne pas vouloir tout faire soi-même...★Lire (le code des autres)★Tester, tester, tester

Page 69: Carnet de Route du Développeur - ENSIMAG 2012

DÉVELOPPEMENT

SAVOIR ÊTRE★Ouvert, communicant★Flexible★Modeste

SAVOIR FAIRE★Faire simple (pas simpliste) ★Ne pas vouloir tout faire soi-même...★Lire (le code des autres)★Tester, tester, tester

Page 70: Carnet de Route du Développeur - ENSIMAG 2012

RESTER OUVERT

Page 71: Carnet de Route du Développeur - ENSIMAG 2012

RESTER OUVERT

• Bonus Points

• Veille technologique: mailing lists, twitter, github...

• Entretenir les fondamentaux

• Sortir, participer aux meetups des “user groups”

• Partager, faire des présentations