1. Préparation (« Pour bien faire, il faut d'abord affûter ses outils »)
L'ordinateur n'a pas besoin d'une configuration élevée, mais deux écrans sont indispensables — plus ils sont grands, mieux c'est ; un en paysage et un en portrait, c'est encore mieux. Un pour rechercher des informations, un pour écrire du code. Bref, cela doit donner l'impression que vous disposez d'une énorme quantité d'informations et d'une grande efficacité.
La chaise n'a pas besoin d'être confortable, mais elle doit vous permettre de vous incliner à moitié.
Un grand nombre de notes autocollantes de couleurs variées, utilisées pour enregistrer les tâches quotidiennes — plus il y en a, mieux c'est. Le long du cadre de l'écran d'ordinateur, collez-en autant que possible, pour donner l'impression que vous avez beaucoup à faire.
Livres de référence — O'Reilly, China Machine Press, Electronic Industry Press, peu importe. S'ils peuvent être en anglais, prenez-les en anglais ; sinon, des versions photocopiées feront l'affaire. Dans tous les cas, plus ils sont épais, mieux c'est. Et ne les mettez pas sur une étagère — empilez-les sur le bureau, entrouverts.
2. Dès l'instant où vous entrez
Tenue ! Tenue ! Que vous alliez dans un labo, un immeuble d'entreprise, chez une petite entreprise, ou dans votre propre atelier clandestin de startup ; que ce soit au printemps, en été, en automne, en hiver, le jour, la nuit, par vent, pluie, orage, typhon ou tornade, un programmeur frimeur doit accorder une grande attention à sa tenue ! Voici seulement des suggestions indicatives. Tenue de débutant : chemise + jean + chaussures décontractées. Tenue intermédiaire : T-shirt + short ample + chaussons. Tenue avancée : débardeur + short ample à fleurs + tongs.
Maintien correct. Dans les halls et toutes sortes de couloirs, marchez toujours les mains dans les poches, comme un voyou, en ayant au moins l'air un peu asocial. Si ce n'est pas possible, vous pouvez opter pour le style geek génie chétif.
Si des femmes derrière vous pointent du doigt et chuchotent que vous devez être un gars technique, vous devriez d'abord baisser la tête, puis tout en gardant la tête baissée, vous retourner lentement, adresser un sourire méprisant et sournois sans faire de bruit, puis repartir rapidement.
Après être entré, ne saluez personne. Allez droit à votre place. Au maximum, arrêtez-vous pour prendre une tasse de café en chemin. Ne faites aucun mouvement superflu, montrant votre concentration et votre attention sans partage.
3. Une fois assis, ne bougez plus
Après vous être assis, penchez-vous légèrement en arrière ; croiser les jambes est préférable. Ensuite, tout en restant penché en arrière, baissez la tête pour voir l'écran, puis ne bougez plus.
Écartez grossièrement un espace dans la grosse pile de livres devant l'ordinateur, puis décollez un post-it de l'ordinateur, jetez-y un coup d'œil pendant 3 secondes maximum, et vous pouvez commencer à coder.
Si vous pouvez éviter d’utiliser un IDE, faites-le. Si vous ne pouvez vraiment pas faire semblant, alors quel que soit l’IDE, assurez-vous de le régler sur le fond noir de style DOS.
Si vous écrivez une interface utilisateur front-end, continuez à déboguer du code back-end ; si vous écrivez en Java, mélangez du C ; si vous écrivez en C, mélangez de l’assembleur. Non seulement vous devez coder, mais aussi feuilleter de temps en temps un livre en anglais ; si vous ne le comprenez pas, regardez juste les illustrations, puis jetez-le devant vous, faites comme si vous aviez compris, et continuez à coder.
Utilisez tout ce qui a l’air haut de gamme, sans vous soucier de la praticité. Par exemple, en C++ : refactorisez tous les switch en polymorphisme ; s’il y a des pointeurs, remplacez-les tous par des pointeurs intelligents ; écrivez toujours vos propres templates en C++ ; remplacez tous les nombres par des macros, et rendez les noms de macros aussi longs que possible ; les structs ne devraient pas apparaître—si c’est le cas, décorez-les impérativement avec __attriburte__ ; toute l’arithmétique passe par des opérations bit à bit ; tous les opérateurs sont surchargés ; tout le réseau utilise des pools de threads tamponnés concurrents ; les ints sont déclarés uniquement avec int32_t ; pas d’héritage ordinaire, mais plutôt de l’héritage multiple, de l’héritage virtuel, etc. ; même Hello World doit attraper les exceptions ; quand les générations suivantes verront le code, avec une pile de mots-clés comme extern, asm, auto, XXXXX_cast, volatile, explicit, register, template, les petits programmeurs ordinaires qui tapent toujours int, if, else, for ressentiront soudain une grande admiration.
Des commentaires ? Laissez tomber. Il n’y a que deux voies à choisir : Premièrement, rendez les noms de variables extrêmement longs, pour que lire le code coule comme lire un article en anglais, aucun commentaire nécessaire. Deuxièmement, rendez le code extrêmement obscur, pour que les commentaires ne changent rien.
N’utilisez jamais d’outils de messagerie instantanée pour communiquer, ne posez jamais de questions à vos collègues, car cela vous fait paraître incompétent. Cherchez toujours les choses vous-même en ligne ou dans des livres.
Que les collègues plaisantent ou qu’un événement de groupe ait lieu, ne levez pas les yeux, ne regardez pas autour. Même en cas de tremblement de terre ou d’incendie, assurez-vous de faire un commit de votre code avant de partir.
4. Partez avec style
Quand vous partez, l'ordinateur principal ne doit absolument pas être éteint. Au moins, lancez un build quotidien ; si ce n'est pas possible, avoir un commit SVN en cours ne compte presque pas.
Les livres devraient déjà être de nouveau empilés devant l'écran. Ne les rangez pas. Écartez-les à nouveau demain.
Vous n'êtes pas obligé d'être le dernier à partir, mais vous devez attendre que tous les non-programmeurs — marketing, réceptionnistes, chefs de projet, etc. — soient partis avant de pouvoir partir.
Quand vous partez, soyez spontané. Ne rangez rien. Levez-vous, sortez. Bien, c'est tout.
Si vous devez dire une phrase aujourd'hui, trouvez le programmeur le plus misérable et dites-lui : « Tu es trop lent ; ne me fais pas toujours attendre. »