Bonjour à toutes et à tous!
Je suis jeune chercheur dans un domaine où il n'y a pas encore beaucoup de développeurs. De ce côté c'est très galvanisant: il y a un besoin énorme en code (notamment en simulations massives) et j'imagine que mon profil double-casquette chercheur/dev va devenir de plus en plus demandé (je suis pas dev de formation, mais j'ai passé trois ans de thèse à écrire du code, qui est forcément le meilleur code de l'univers). J'aime beaucoup mon activité de recherche lorsqu'elle concerne la partie spécification (préciser le modèle, les algos ou les techniques statistiques à implémenter), et évidemment leur implémentation: j'adore faire des boîtes noires. Bref j'ai la sensation d'aimer mon métier et de pouvoir m'y éclater. Mais ... je suis très isolé à la fois géographiquement (post-doc aux USA) et au niveau software. Les gens dans mon labo de bio sont brillants, ouverts, comprennent que bien coder est important, respectent mon travail (et en plus sont super sympas), mais n'étant pas développeurs eux-même il est difficile d'interagir avec eux sur ces problèmes et donc de recevoir des conseils/encouragements autres que de pure forme.
Je reçois du coup très peu d'input en terme de motivation pour le développement, juste pour des raisons de cultures différentes. Je commence à me poser des questions sur ma place et mes motivations. Si je pouvais inventer deux (ou même un) collègue développeur pour pouvoir développer ensemble le projet ce serait fantastique. Mais pour l'instant ce n'est pas le cas, et j'ai la sensation de ne plus rien avoir appris en programmation depuis déjà plusieurs mois.
Pire, je commence à perdre la motivation à coder le projet. Le projet n'est pas bien gros pour un vieux dev aguerri, mais il commence doucement à échapper à mon contrôle de développeur junior. J'ai l'impression de me prendre la tête pour rien et je commence à copier-coller du code partout sans plus me soucier de design. Le TDD ne marche plus vraiment pour me faire avancer parce que faute d'input de la part de mon environnement je commence à perdre foi dans les tests unitaires. Je ne prends plus le temps de faire la moindre doc. Je sais (rationnellement) que tout ça est vital (les effets négatifs sont quasi-immédiats) mais je sais aussi que le but premier est d'avoir "un logiciel qui marche". Je sais que je n'ai pas le temps de m'y prendre bien, mais je sais que m'y prendre mal va conduire à un échec dans les prochains mois, du coup je commence à bloquer. J'ai la sensation qu'y aller pas-par-pas comme je faisais jusque là (et qui marchait pas trop mal, en tout cas ça ne reculait plus) ne s'applique plus vraiment à ce nouveau contexte de post-doc (contrat court, urgence permanente).
L'essentiel des fonctionnalités que je code existent déjà quelque part ailleurs, mais pour diverses raisons le code est difficilement ré-utilisable (pas de bibliothèques ou abstractions pas assez puissantes, code fermé, code non-documenté ou code non-modulaire), du coup j'ai sans cesse l'impression de ré-inventer la roue pour moi-même (mais démontable cette fois, et livrée avec la notice).
Je crois bien être en pleine "analysis paralysis" depuis au moins une semaine, mais sans collègue pour me gronder gentiment en disant "bon ça suffit, là tu as juste une classe et trois méthodes dont une statique à faire", c'est difficile de m'en rendre compte et d'en sortir.
Le projet a pris pleins de nouvelles directions, ce qui est d'un côté très galvanisant mais je me suis surpris à être aussitôt découragé par la masse de fonctionnalités à sortir du chapeau ... tout seul. Il faut à la fois concevoir les spec (se taper la biblio, la modélisation, les stats...) et en plus implémenter tout ça. Comme les gens de ma communauté ne codent pas, il faut aussi concevoir des interfaces pour pouvoir publier ça. Se rajoute à ça la lecture d'articles de portée plus générale, pour la culture générale. J'ai l'impression d'avoir 36 casquettes et de m'y perdre. Le seul truc qui me motive encore c'est les deadlines que j'essaie de donner à ma boss, et que j'essaie de respecter du mieux que je peux. Ma boss a l'air vraiment compréhensive, je lui ai demandé de me laisser coder tranquillement pendant une semaine et elle a tout de suite accepter. Du coup je me dis que c'est plutôt ouvert pour la discussion mais je ne vois pas trop bien comment lui expliquer la situation sans montrer l'ampleur de mon découragement.
J'essaie d'aller à des meet-up de développeurs de ma ville pour rebooster mon moral et renouer avec les bonnes pratiques essentielles, mais pour l'instant l'effet motivation a été assez limité. J'interagis avec la communauté C++ de ce forum, mais comme j'ai acquis un état de connaissance minimal, je peux me sortir peu élégamment de pas mal de situations, donc mes contacts avec la communauté s'amenuisent à grand coup de quick and dirty. J'ai essayé de me mettre à regarder des cppconf sur youtube, et ça fait son petit effet pendant quelques heures, mais j'ai la sensation de perdre du temps. Je commence aussi à avoir peur de perdre les réflexes et les connaissances que j'avais (laborieusement) acquis en thèse.
L'aspect recherche continue de me passionner, et je crois en l'importance de mon travail: le code est essentiel en science. Mais je me décourage aussitôt que j'ouvre l'éditeur.
Avez-vous vécu une situation similaire ? Quelle solution me conseilleriez-vous pour rester motivé sur un projet ? Ce n'est pas la première fois que ces phases de découragement se manifestent, est-ce un signe indiquant que je ne suis décidément pas fait pour coder tout seul ? J'ai lu à droite et à gauche des posts sur le développeur isolé en recherche, mais c'était dans l'ensemble assez décourageant (= fuyez pauvres fous) et j'aimerais bien ré-équilibrer les sons de cloche
Merci !!!
Partager