De geek à directeur technique

Le blog d'un geek devenu directeur technique

Aller au contenu | Aller au menu | Aller à la recherche

Tag - expérience professionnelle

Fil des billets - Fil des commentaires

samedi 19 septembre 2009

Et si Gordon Ramsay était informaticien ?

Depuis quelques temps je ne rate pas un épisode de l'émission Cauchemar en cuisine, qui est diffusée sur plusieurs chaînes télévisées françaises de la TNT ou du câble.

Le concept de cette émission est assez simple : Gordon Ramsay, un chef cuisinier écossais renommé, vient en aide à des restaurateurs au bord de la faillite. Là où ça devient amusant, c'est que Gordon n'a vraiment pas sa langue dans sa poche ; il n'hésite pas à s'énerver très fort quand il le faut, pour faire prendre conscience aux gens qu'il sont sur la mauvaise voie.
Bon, la traduction française a tendance à édulcorer son langage. Ainsi, la phrase «I will smash this plate on your fuking head» est devenu «Je vais casser cette assiette sur ta tête de bois»...

Au fil des épisode, on peut voir des cuisiniers sans talent, des gérants à l'égo stratosphérique, des restaurants complètement vides, des engueulades à côté des clients, ...
Gordon goûte les plats, regarde comment fonctionne l'organisation du personnel, étudie les comptes financiers. Il met ensuite les responsables − le propriétaire, le gérant de salle, le chef cuisinier − face à leurs lacunes, leurs faiblesses, leur fainéantise, leur désorganisation. Quand les problèmes ont été compris (au bout de quelques bonnes engueulades hautes en couleur), il met en place un plan de bataille qui permet de remonter les résultats du restaurant.

Il utilise souvent les mêmes recettes (au sens figuré du terme, désolé je n'ai pas pu m'en empêcher) d'un restaurant à l'autre, mais à chaque fois avec des résultats différents. Ce qui est vraiment intéressant, c'est qu'il met en application des principes qui tiennent plus de l'entrepreneuriat que de la restauration. Il y a beaucoup d'inspiration à trouver là pour une équipe technique.

L'étude de marché

À chaque fois, Gordon fait un petit tour dans la ville où il est tombé. Il fait attention aux autres restaurants existants, et essaye de trouver le type de restauration qui n'est pas représenté. Il regarde aussi la clientèle existante (ou ce qu'il en reste), et à partir de tout ça il invente un nouveau visage au restaurant pour lui faire trouver une nouvelle clientèle.
Cette nouvelle identité est souvent mal vécue par les patrons qui voient leurs habitudes remises en question. Le menu est complètement revu (je vais y revenir), le restaurant est redécoré, parfois même renommé. Mais ce nouveau positionnement est gagnant, et l'augmentation des bénéfices lui donne toujours raison.

Lire la suite...

lundi 31 août 2009

La R&D : pour ne pas confondre développement et veille techno

Il y a quelques temps, je vous ai parlé de la veille technologique. Je vous ai expliqué en quoi c'est un élément important de nos vies professionnelles.

Je voudrais cette fois-ci vous mettre en garde contre une dérive finalement assez commune chez les jeunes développeurs, qui est d'utiliser les projets professionnels comme un terrain de jeu pour réaliser leurs expérimentations. Ensuite nous réfléchirons aux moyens de canaliser la fougue qui conduit à ces dérapages.

Les expérimentations au boulot

Il y a quelques années, alors que j'étais chef de projet, un de mes développeurs - un prestataire externe, en fait - avait demandé une demi-journée de congé pour assister à une conférence organisée par Google France. J'étais content de voir qu'il prenait à coeur sa veille technologique.
À son retour, je lui ai évidemment demandé de me faire une présentation rapide de ce qu'il avait vu. Il s'agissait des premières versions des toolkits de Google, et ça avait l'air vraiment intéressant.

Nous étions alors en train de démarrer un nouveau projet, et ce développeur était en charge de certaines spécifications techniques. Quand j'ai vu dans ses specs qu'il envisageait d'utiliser les technologies Google qu'il venait d'entrapercevoir, j'ai eu une petite discussion avec lui.

Le message tient en 2 points :

  • Bien qu'absolument nécessaire, la veille technologie est une démarche personnelle. C'est à chacun de se trouver ses propres petits projets qui lui permettront de tester de nouvelles technos ou de nouveaux outils.
  • Un projet mené au sein de l'entreprise répond à des contraintes contractuelles et financières. Vouloir y glisser des technologies qui ne sont encore qu'à l'état de bêta, ou qu'on ne maîtrise absolument pas, est une erreur assez grave.

Canaliser et organiser

Il n'empêche qu'il n'est pas logique d'inciter à la veille tout en la réprimant dans le cadre de l'entreprise. L'entreprise a certains devoirs de formation vis-à-vis de ses employés, il faut s'en occuper de manière raisonnée et planifiée.

Lire la suite...

mercredi 26 août 2009

La refactorisation

La refactorisation est un exercice qui devrait être maîtrisé par tous les développeurs, encadré par tous les chefs de projets et encouragé par tous les directeurs techniques.

Le refactoring, qu'est-ce que c'est ?

Derrière cet affreux anglicisme se cache le fait de réécrire du code qui a déjà été développé. Le but n'est donc pas d'ajouter de nouvelles fonctionnalités, mais plutôt d'assurer un suivi de l'existant, de faire un ménage qui en facilitera la maintenance.

Nous nous sommes tous retrouvés un jour ou l'autre devant des bouts de code sans queue ni tête, manifestement écrits à la va-vite, ne respectant aucune norme, avec une documentation périmée, sans commentaire, ou truffés de code mort. À chaque fois, nous sommes horrifiés. Dans le meilleur des cas, on se souvient des raisons historiques qui ont conduit à cela (« Ah oui, ça date du projet X, qu'on avait dû faire à toute vitesse il y a 2 ans ») ; dans le pire des cas, on va retrouver le responsable de cette horreur pour lui passer un savon.

Mais la bonne attitude, c'est d'organiser l'amélioration de ce code. Il faut garder en tête qu'on ne travaille pas continuellement sur les mêmes fichiers. Ce qu'on est en train de développer un jour sera utilisé pendant des mois voire des années sans qu'on revienne dessus. Mais au fil du temps, le code ancien devient « friable » : chaque correction de bug devient plus délicate et sujette aux bugs de régression ; chaque ajout de fonctionnalité prend de plus en plus de temps et devient plus difficile.

Je vais faire un parallèle avec la construction immobilière. Quand on construit une maison, on commence par faire les fondations, puis on monte les murs extérieurs, puis le toit et enfin les cloisons intérieures. Quand on développe un logiciel, c'est un peu la même chose ; chaque développement, chaque ajout de fonctionnalité, s'appuie sur des objets ou des librairies qui doivent rester fiables dans le temps. Il faut donc pouvoir revenir à tout moment sur n'importe quel bout de code, accéder à sa documentation, lui ajouter de nouvelles capacités, voire résoudre des bugs qui ne s'étaient encore jamais déclarés.
Parce que le jour où vous faites tomber des cloisons, vous ne devez pas devoir refaire les murs extérieurs ; et si vous ajoutez une étage à votre maison, vous devez pouvoir faire confiance à la chape de béton de vos fondations.

Comment s'y prendre

On peut découper un refactoring en 4 étapes précises. Les trois premières sont importantes et nécessaires, alors que la dernière est à mettre en oeuvre si le besoin s'en fait sentir uniquement.

Lire la suite...

mardi 14 juillet 2009

Citation du jour : Guy Kawasaki

Je suis en train de lire le livre L'art de se lancer par Guy Kawasaki. C'est un livre très intéressant, dont je ferais une critique sur ce blog.

J'y ai lu aujourd'hui deux phrases que je voudrais partager avec vous :
“ Les gens qui sont bons acceptent d'être responsables. Les gens qui sont très bons demandent à l'être. ”

Je sais, ça paraît évident. Mais regardons-y de plus près.

J'ai connu 3 types de collègues :

  • Des personnes qui se satisfont de leur sort. Après avoir fait leur trou, elles s'y sentent bien et ne veulent pas risquer de quitter leur "zone de confort".
  • Des ambitieux aux dents qui rayent le parquet. Ils cherchent à faire ami-ami avec le boss, à faire du lobbying, à obtenir des responsabilités et des prérogatives qu'ils ne méritent en rien.
  • Des gens sérieux et travailleurs, qui mettent leur énergie et leur conscience professionnelle au service de leur entreprise.

La troisième catégorie est la seule qui mérite qu'on s'y attarde. Ces personnes gravissent souvent des échelons sans s'en rendre compte. À force de travail, elles prouvent qu'elles valent plus que ce pourquoi elles ont été engagées. Un jour, le patron se rend compte qu'une part importante du travail repose sur les épaules d'une de ces personnes, que son champ d'opération déborde largement de ce qui est prévu.
L'exemple le plus simple : Combien de développeurs ai-je vu qui n'hésitaient pas à prendre d'eux-même en charge des responsabilités qui ne leur incombaient pas, et ce faisant, se retrouvaient à passer chef de projet plus vite que prévu ?

Quelqu'un qui est compétent et qui montre un bon esprit se verra confier des responsabilités, qu'il acceptera sûrement. Mais pour les mêmes raisons, quelqu'un de vraiment compétent et avec un très bon esprit fera déjà le boulot en question sans qu'on lui ait dit de le faire.

Et alors ?

Guy Kawasaki exprime cette pensée dans un chapitre consacré au recrutement. C'est une des raisons qu'il donne pour pousser à embaucher les meilleurs collaborateurs possibles, pas juste des personnes moyennes qui semblent convenir passablement. Et je confirme : c'est important !

Maintenant, de votre point de vue, comment vous définiriez-vous ? Êtes-vous bon, ou très bon ?

dimanche 28 juin 2009

Préparer votre évaluation annuelle

La plupart des entreprises effectuent des entretiens annuels ou bi-annuels de leurs collaborateurs. Il sont habituellement réalisés par les managers, parfois avec l'assistance du DRH.

À quoi servent ces entretiens ?

Tout le monde attend ces entretiens avec impatience, mais souvent pour de mauvaises raisons. Un grand nombre de salariés n'y voient que le moment où va leur être annoncée leur augmentation de salaire. C'est évidemment un élément important de ces discussions, mais il ne faut pas que cela devienne une obsession qui occulte les autres aspects.

Les entretiens annuels sont un moment privilégié, pendant lequel on peut prendre un peu de recul par rapport à l'année (ou le semestre) écoulée. Le but est de récapituler les points forts et les points faibles, de revenir sur notre évolution au fil du temps ; comment on a réussi à s'améliorer, à progresser dans l'exécution de nos tâches.

Préparer l'entretien

Quelques jours avant l'entretien, prenez le temps de vous poser ces quelques questions :

  • Où en étais-je il y a un an, il y a 6 mois ? Mes supérieurs étaient-ils satisfait de mon travail ? Pourquoi ?
  • Quelle était l'évolution qu'on attendait de mois durant cette période ? Est-ce que mes objectifs étaient clairement définis ?
  • Quelles sont mes forces et mes faiblesses aujourd'hui ? En quoi sont-elles différentes d'auparavant ?
  • En toute honnêteté, quels sont mes coups d'éclats et mes ratages complets ?
  • Globalement, en suis-je là où je voudrais être ? Ai-je développé les connaissances et les capacités que je voudrais avoir ?

Quand vous avez répondu à ces questions, demandez-vous où vous voulez aller :

  • Suis-je satisfait de l'environnement technique dans lequel j'évolue, des projets sur lesquels je travaille ?
  • Dans quelle direction ma carrière doit-elle évoluer ? Qu'est-ce que je veux faire dans 6 mois, dans 1 an, dans 2 ans ?
  • De quelle aide ai-je besoin pour progresser ?

Une fois que vous avez fait le tour de ces questions (et seulement à ce moment-là), vous pouvez vous poser d'autres questions :

Lire la suite...

- page 1 de 2