Upload
alexandre-morgaut
View
456
Download
0
Embed Size (px)
DESCRIPTION
Partage d’expérience sur le dev en entreprise
Citation preview
CARNET DE ROUTE DU DÉVELOPPEUR
Partage d’expérience sur le dev en entreprise
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
PRÉSENTATION
•Alexandre Morgaut
Community [email protected]@amorgaut
•Olivier Randriamanana
Senior [email protected]
LA SOCIÉTÉ 4D
ENTREPRISE INTERNATIONALE
D2D
D2D
outils réalisés
D2D
par des Développeurs
outils réalisés
D2D
pour des Développeurs
par des Développeurs
outils réalisés
ENTREPRISE INNOVANTE
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
VERS LES STANDARDS
• 2004 - ODBC intégré
• 2007 - Unicode, SQL, SVG, Zone Web intégrée
• 2010 - PHP, Synchronisation, Replication
• 2012 - Wakanda....
LE LAB
2008Pivot de Langage
Modernisation 4D
2007Pivot de R&D
Séparation Produit
2008Pivot de Langage
Modernisation 4D
2007Pivot de R&D
Séparation Produit Développement Wakanda
Fin 2010Pivot Modèle d’Affaire
2008Pivot de Langage
Modernisation 4D
2007Pivot de R&D
Séparation Produit Développement Wakanda
Fin 2010Pivot Modèle d’Affaire
2008Pivot de Langage
Modernisation 4D
2007Pivot de R&D
Séparation Produit Développement Wakanda
Open Source
Fin 2010« à l’épreuve du feu »
Mars 2011Pivot Renaming
Ecosystème 4D Outside 4D
Fin 2010« à l’épreuve du feu »
Mars 2011Pivot Renaming
Ecosystème 4D
Avril 2011Pivot MVP
Outside 4D
Fin 2010« à l’épreuve du feu »
Mars 2011Pivot Renaming
Ecosystème 4D
Avril 2011Pivot MVP
Mai 2011Pivot Earlyvangelist
Outside 4D
LES PLATE-FORMES4D et Wakanda
•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
• Technologies Web
•HTTP Server
• SOAP
• SVG
•HTML templates
•Webkit
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
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
JavaScriptCoremulti-threaded, preemptive, thread-safe, 64bits, strict mode
fast, well structured & documented, maintained by Apple
JavaScriptCoremulti-threaded, preemptive, thread-safe, 64bits, strict mode
fast, well structured & documented, maintained by Apple
Employee
company
firstNamelastName
dateOfBirth...
company
Company Cityzipname
country
city
namewebSite
...citytown
stringstring...City
city.name
stringstringDate...
Company
DESIGN YOUR MODEL
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
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
ARRIVÉE DANS L’ENTREPRISEEditeur de logiciels
Programme
Q/A
Marketing
Architecte
Support
Commercial
Programme
Q/A
Marketing
Architecte
Support
Commercial
Programme
Q/A
Marketing
Architecte
Support
Commercial
UNE JOURNEE TYPIQUE
OUTILS ET METHODES
OUTILS ET METHODES
★Maîtrise des outils
✴Build
✴Gestion de version
★Méthodes et process du métier
✴Bug fixing
✴Design & développement
★Qualité
OUTILS ET METHODES
★Maîtrise des outils
✴Build
✴Gestion de version
★Méthodes et process du métier
✴Bug fixing
✴Design & développement
★Qualité
OUTILS
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
OUTILS
METHODES : BUG FIXING
★Un art
★Un art codifié (process)
★Tester
★Tester
★Tester
METHODES : BUG FIXING
★Un art
★Un art codifié (process)
★Tester
★Tester
★Tester
METHODES : BUG FIXING
★Un art
★Un art codifié (process)
★Tester
★Tester
★Tester
METHODES : BUG FIXING
★Un art
★Un art codifié (process)
★Tester
★Tester
★Tester
METHODES : BUG FIXING
★Un art
★Un art codifié (process)
★Tester
★Tester
★Tester
METHODES : BUG FIXING
★Un art
★Un art codifié (process)
★Tester
★Tester
★Tester
THE ART OF BUG FIXING
THE ART OF BUG FIXING
★Correction chirurgicale
THE ART OF BUG FIXING
★Correction chirurgicale
★Correction radicale
THE ART OF BUG FIXING
★Correction chirurgicale
★Correction radicale
THE ART OF BUG FIXING
★Impact(s), compatibilité ?
★Correction chirurgicale
★Correction radicale
THE ART OF BUG FIXING
★Gestion de la compatibilité
DÉVELOPPEMENT
Programme
Q/A Marketing
DÉVELOPPEMENT
SPORT D’ÉQUIPE
DÉVELOPPEMENT
DÉVELOPPEMENT
SAVOIR FAIRE★Faire simple (pas simpliste) ★Ne pas vouloir tout faire soi-même...★Lire (le code des autres)★Tester, tester, tester
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
RESTER OUVERT
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