Como programador, tenho um aborrecimento inerente às minhas ferramentas, ao código de outras pessoas, ao meu código e ao mundo em geral. Eu sempre quero melhorar isso. Então refatoro, fico no topo das técnicas mais recentes. Tento aprender padrões, tento usar estruturas para não reinventar a roda. Eu posso escrever uma especificação técnica que vai explodir suas meias com a quantidade de padrões que eu posso usar.
No entanto, ultimamente, sinto que realmente sei mais sobre as ferramentas que utilizo do que como implementar software de sucesso.
Sinto que não tenho o conjunto de habilidades de fatores humanos e acredito que ser um engenheiro de software bem-sucedido leva mais do que conhecer a estrutura mais legal. Eu acho que também precisa de algumas das seguintes habilidades.
- Design de interação
- Experiência de usuário
- Marketing
Eu aprendi um pouco disso com pessoas com quem trabalhei e com ótimos projetos em que trabalhei, mas não sinto que possuo essas habilidades.
Estou certo? Devo estar tentando desenvolver essas habilidades ainda mais, ou elas devem ser deixadas para as pessoas que as fazem em uma carreira?
Como você se certifica de não ficar muito envolvido com a maneira como está fazendo alguma coisa e se "deixa seus usuários impressionantes"?
Alguém conhece bons recursos para aprender essas habilidades do ponto de vista da programação?