Je travaille dans le développement de logiciels depuis plus de 10 ans maintenant, et je réalise que je parviens rarement à créer quelque chose de "nouveau". Je sais que «nouveau» est un terme vague, mais je le définirais comme allant d’un nouveau projet à grande échelle évident à une nouvelle fonctionnalité importante dans un projet existant (disons quelque chose qui nécessiterait une réflexion dans sa conception, et qui pourrait prendre 2 semaines ou plus à compléter). Peut-être qu'une directive approximative est une nouveauté si elle nécessite une spécification écrite. Je pense que la plupart des programmeurs savent de quoi je parle - vous êtes dans la zone, écrivant une tonne de code à un rythme rapide.
Quoi qu'il en soit, en repensant à ce que j'ai fait, j'estimerais que moins de 10% de mon temps est consacré à du "nouveau" travail. Il y a des choses comme "adapter ce système existant pour fonctionner dans ce nouvel environnement", ce qui nécessite certes beaucoup de planification, mais le codage actuel et les "nouveautés" consistent à apporter de minuscules modifications à de nombreux endroits dans le code. De même pour les petites demandes de fonctionnalités - si je sais quoi faire, elles peuvent souvent être terminées en moins d’une heure, et si je ne le fais pas, c’est beaucoup de lecture de code et de détermination de la marche à suivre (ce qui me frustre parce que j’apprends beaucoup mieux en faisant, pas en lisant).
En général, j'ai l'impression de ne rien créer la plupart du temps. J'ai en quelque sorte supposé que c'était le cas dans la plupart des endroits: un nouveau produit sortait assez rapidement et à ce moment-là, tout le monde était excité et sortait le code à un rythme rapide, mais une fois installé, il passe en mode maintenance, où peu de modifications ultérieures seraient considérées comme "nouvelles et créatives".
Ai-je tort? Suis-je en train de décrire avec précision la plupart des tâches de programmation ou la plupart des programmeurs ont-ils le sentiment de créer souvent de nouvelles choses?