Conférence du 7 janvier 2015 @ Supinfo Paris
Le numérique, vecteur de croissance en France
Jean-Christophe Sciberras, président de l’ANDRH
On parle de technologie de l'information.
Si vous apprenez une actualité à la télévision, il est trop tard.
Par Gaël DEMETTE
L'architecte est une personne ayant une vision globale du projet, chargée de faire respecter l'architecture logicielle définie, et d'anticiper les problématiques.
L'architecture logicielle est une analyse de comment répondre au besoin.
L'architecte logiciel doit :
Une équipe doit réaliser une solution de gestion de stocks pour remplacer une solution existante et peu fiable.
Cette gestion des stocks doit pouvoir être manipulée depuis des terminaux mobiles dans les entrepots de la société.
L'architecte logiciel connait l'existant, et les besoins.
L'architecte logiciel va analyser les besoins d'intéropérabilité avec l'existant afin d'éviter le passage brutal à la nouvelle solution
Il va trancher les patterns architecturaux (3 tiers/4 tiers) mais également proposer des solutions d'intégration continue
Le développeur créé des algorithmes régissant le comportement d'un logiciel, à partir d'un cahier des charges.
On demande à une équipe de développeurs de concevoir un progiciel de gestion intégré.
L'équipe va éliminer toutes les inquiétudes techniques avant de s'atteler à la conception du logiciel. Elle va ensuite proposer des moyens de test de l'application. Enfin, elle fera la maintenance applicative de la plateforme.
Le DBA est responsable du modèle de données d'une entreprise
Une société prépare une application de type réseau social à fort trafic, elle charge un administrateur de bases de données de suivre ce projet.
Le DBA créé le modèle conceptuel de données. Il épaule les développeurs dans la création de la couche Model de leur application. Il gère les accès des différents utilisateurs de la base de données. Il mets en place des procédures d'audit et de backup. Il va prévoir la montée en charge des serveurs de base de données, pour dimensionner l'infrastructure et faire du fine tuning des serveurs de base de données.
L'intégrateur est chargé reproduire les maquettes du graphiste en interface logiciel
L'intégrateur travaille avec le graphiste pour concevoir le nouveau design d'une application web.
L'intégrateur valide la faisabilité des éléments graphiques et conseil par son expérience d'UI/UX. Il va ensuite traduire cette interface en code, en s'assurant de la compatibilité entre les différents navigateurs. En ajoutant des éléments liés à l'accessibilité et au référencement.
Le développeur dit full-stack suit le développement complet d'une application, des étapes de préconception au déploiement.
Le développeur full-stack est capable de toutes les missions des autres corps de métier du développement à l'administration.
Vous devez développer une application mobile de gestion d'évenements.
Le développeur full stack réfléchit aux besoins du client et de l'utilisateur afin de cibler la logique métier. Il modélise les données lui-même, ainsi que l'architecture applicative. Il conçoit l'expérience et l'interface utilisateur. Il déploie et dimensionne son application.
Data Scientist (n.): Person who is better at statistics than any software engineer and better at software engineering than any statistician.
— Josh Wills (@josh_wills) 3 Mai 2012"Data Scientist" - © William Cleveland, 2001
Le data scientist travaille sur un énorme volume de données provenant de plusieurs sources afin d'en faire resortir des indicateurs concrets pour la stratégie et l'opérationnel d'une entreprise.
Comprendre les comportements et adapter sa solution logicielle
Le responsable marketing fait appel à vos services pour améliorer une plateforme de e-commerce.
Le data scientist, à la différence du data analyst, a une capacité de synthèse, via des outils numériques, de différentes sources de données. Il croise les données provenant de la plateforme et de ses différents canaux de diffusion avec des sources d'open data et en fait ressortir les produits à mettre en avant suivant les données personnelles d'un utilisateur.
Le devops utilise ses compétences en développement pour mettre en place des automatismes de déploiement de machines ou de solutions logicielles.
Le DevOps doit mettre à niveau le parc logiciel avec la dernière version d'un logiciel donné, et préparer le déploiement de 200 machines avec ces mêmes logiciels
Le DevOps va décrire dans son outil de gestion de configuration la nouvelle configuration de ses machines. Il va lancer le déploiement des nouvelles machines qui vont s'installer jusqu'à atteindre le niveau de la configuration.
Par Lucas CORBEAUX
var autodidactize = function(skill, i, skills) { skills[i] = skill.concat(' autodidacte'); }; var skills = ['Développeur', 'Manager', 'Entrepreneur']; skills.forEach(autodidactize);
Un CTO c'est...
A startup is a temporary organization designed to search for a repeatable and scalable business model
Steve Blank
En gros et en résumé :
Vous avez une idée géniale, pas de bol vous êtes le seul à le savoir.
Il va falloir la concrétiser très vite.
Il va falloir :
Votre associé à une idée géniale : un SaaS de stockage de fichiers.
Vous êtes super fier de votre système d'upload : vous y avez passé la semaine.
Et 3h passées sur un graph d'occupation d'espace disque pour le fun.
Deux semaines plus tard les retours clients sont unanimes : personne ne veut de votre solution de stockage.
Par contre on souhaite vous acheter votre produit pour mesurer l'occupation d'espace disque.
Et les clients veulent voir un prototype demain.
Vous avez survécu aux deadlines des premiers mois, validé vos premières idées et levé des fonds.
Maintenant il faut que le produit évolue vite, tout en accueillant plus de monde.
C'est l'heure de rendre tout ça scalable :
Vous voyez ce jour en entretien un lead dev.
Ça tombe bien, la qualité commençait à chuter.
Et vous êtes trop occupé à trouver une solution pour que le serveur encaisse 3 fois plus de requêtes par seconde d'ici deux semaines...
Votre startup compte désormais 200 salariés et votre solution de monitoring est utilisée par plus de 10000 clients.
C'est bien, mais le marché se réduit de jour en jour, il va falloir augmenter les marges...
... et donc, réduire les coûts.
C'est l'heure de l'optimisation :
Vos objectifs cette année sont d'économiser 200000$ sur les coûts de fonctionnement sans compromettre la qualité de service.
Notre compétence en gestion d'espace disque nous permettrait d'économiser 80000$ par an en l'internalisant.
D'ailleurs nos lead dev sont devenus très bons...
...tellement bons que leur équipes n'ont plus autant besoin d'eux pour avancer.
Vendre leur compétence d'expert nous rapporterait 120000$ par an supplémentaire, sans impacter nos projets.
Votre entreprise a déjà son historique, ses process, sa culture propre.
Et généralement sa priorité est de continuer à faire évoluer ses produits rapidement.
Tout en limitant les coûts...
Entre innovation et conservatisme
Vos plannings projets sont très chargés...
Mais vous avez identifié que votre antique CVS était un frein majeur.
La revue par les pairs prends aussi trop de temps, il faut l'optimiser.
Vous allez y aller progressivement. Les chantiers commenceront dans 2 mois et finiront l'année prochaine.
...ou un nouveau service
Merci à tous