En tant que programmeur, j'ai une gêne inhérente inhérente à mes outils, au code des autres peuples, à mon code, au monde en général. Je veux toujours l'améliorer. Donc je refactorise, je reste au top des dernières techniques. J'essaye et j'apprends des patterns, j'essaye d'utiliser des frameworks pour ne pas réinventer la roue. Je peux écrire une spécification technique qui fera exploser vos chaussettes avec la quantité de motifs que je peux insérer.
Cependant, récemment, j'ai l'impression d'en savoir plus sur les outils que j'utilise que sur la façon de mettre en œuvre un logiciel efficace.
J'ai l'impression de manquer de compétences en facteurs humains et je pense que pour être un ingénieur logiciel performant, il faut plus que de connaître le cadre le plus cool. Je pense qu'il a également besoin de certaines des compétences suivantes.
- Design d'interaction
- Expérience utilisateur
- Commercialisation
J'ai un peu de cela que j'ai appris de personnes avec qui j'ai travaillé et de grands projets sur lesquels j'ai travaillé, mais je n'ai pas l'impression de "posséder" ces compétences.
Ai-je raison? Dois-je essayer de développer davantage ces compétences ou faut-il les laisser aux personnes qui les font pour une carrière?
Comment vous assurez-vous de ne pas être trop lié à la façon dont vous faites quelque chose et assurez-vous de "rendre vos utilisateurs impressionnants"?
Quelqu'un connaît-il de bonnes ressources pour apprendre ces compétences du point de vue de la programmation?