Diamond Kata

By kubotake [CC BY 2.0 (http://creativecommons.org/licenses/by/2.0)], via Wikimedia Commons

the problem: the diamond kata

I use Seb Rose description as it is simple and efficient.

Given a letter, print a diamond starting with ‘A’ with the supplied letter at the widest point.

For example: print-diamond ‘C’ prints

  A
 B B
C   C
 B B
  A

Lire la suite

En finir avec les bugs

2013.08 escala solidcrafters.0179 by Antoine Vernois

– il y a un bugs qui a apparu, on ne sait pas d’où il vient.

– ça grouille de bugs

– haha, on l’a enfin eu, il était bien vicieux ce bug

Ah, les bugs, ces petits êtres étranges qui se cachent au fond de nos applications et se montrent quand on ne les attend pas. Ces créatures qui se reproduisent dans les zones obscures de notre code. On en tue un, et dix autres montrent leurs nez.

On a tous entendu et prononcé des phrases dans ce genre sur les bugs.

Lire la suite

formation initiale

I am an Engineer by Orin Zebest, on Flickr

La semaine dernière, je suis intervenu dans une école d’ingénieur en informatique. Au programme, 2 heures d’introduction aux tests unitaires1. Comme à mon habitude, avant de commencer une session, je pose quelques questions pour avoir une idée de qui j’ai en face de moi dont l’évidente :

Qui veut être développeur ?

Ils étaient une bonne cinquantaine d’étudiants devant moi et une dizaine de profs/autres. Deux mains se sont levées.

Deux. C’est tout.

Deux. Dont un prof.

Ouaip, on a un sérieux problème dans la formation initiale.

Lire la suite

Une formation les mains dedans ?

"while (!succeed=try())" Depuis que je suis indépendant, la formation représente environ un tiers de mon activité1. Et j’en profite pour tester pas mal de chose sur le format, la durée, le contenu, l’échange…

Pour l’agilité, les formations sont la plupart du temps un prélude à un processus d’accompagnement, donc fournir de la valeur en quelques jours qui sera réellement mis en œuvre sur le terrain, c’est assez facile. Puisque je serai là sur le terrain.

Mais voilà, si quand il s’agit d’agilité, les propositions d’accompagnement / conseil sont facilement acceptées, quand il s’agit de pratiques de développement, ça devient tout de suite plus compliqué. Il y a un je ne sais quoi dans l’inconscient collectif2 qui fait que l’on est persuadé qu’en deux jours de formation on peut acquérir suffisamment pour mettre efficacement en pratique dès le lendemain matin.

  1. les 2 tiers restants se partageant entre le développement et le conseil

  2. qui touche autant les développeurs que leurs managers. Peut être aussi le mien (et le tien)

Lire la suite

Oui, mais mon client...

Sharpest tool in the shed by Lachlan Donald, on Flickr À chaque fois que je parle de test unitaire, de clean code ou de refactoring, il arrive systématiquement un moment où une voix s’élève de la salle : Moi, je suis convaincu, mais mon client…

Bon dès fois, client est remplacé par chef ou manager, mais ça ne change pas grand chose.

– Oui, mais mon client il ne comprend pas qu’on prenne du temps pour refactorer

– Oui, mais mon client il trouve que les tests automatisés, c’est une perte de temps

– Oui, mais mon client ne me donne pas le temps de le faire

– Oui, mais mon client…

Lire la suite

La tentation du toujours plus de règles

Un jour, un chef de projet un peu perdu me contacte :

– Je comprends pas, tous les indicateurs de mon projet sont au vert. Le code est couvert à plus de 90% par des tests unitaires, le sonar dit qu’on est bon. Et pourtant, l’appli est une catastrophe.

– Comment ça ?

– Non seulement elle fait mal le métier, mais en plus, elle plante régulièrement. On m’avait dit qu’avec des tests unitaires, ce genre de choses n’arrivaient plus.

– Montrez moi le code, je vais voir ça.

Lire la suite

Une histoire de temps

2010.06.05-montre m.jpg Lorsque je donne des formations ou des conférences, j’utilise tout un tas de petites anecdotes, des histoires qui me sont arrivées au cours de ma carrière. Il y en a une en particulier que j’utilise lorsque je veux parler de la mauvaise notion du temps que l’on peut avoir parfois. On a pas le temps de faire des tests, on ne peut pas prendre le temps de faire de la qualité, car il faut avancer les fonctionnalité, corriger les bugs…

Lire la suite

Je ne suis pas un codeur

https://www.flickr.com/photos/cesarastudillo/2815083396 Je n’aime pas ce terme ‘codeur’. Trop restrictif à mon goût. Et pourquoi pas pisseur de code tant qu’on y est.

On ne dit pas d’un boulanger que c’est un pétrisseur de pâtes, un maçon un poseur de briques, un peintre un étaleur12 de couleurs, …

  1. tiens, il semble que ce mot n’existe pas. C’est dommage, c’est joli :)

  2. en fait, si ça existe, merci @nrosenberg

Lire la suite

Changer le monde...

wall-e.jpeg J’ai l’impression, depuis quelques temps, d’avoir régulièrement cette conversation et en 3 jours de Devoxx France, elle est revenue au moins 5 ou 6 fois.

Comment on change le monde ?

Lire la suite