Como programador, tengo una molestia persistente inherente a mis herramientas, el código de otras personas, mi código, el mundo en general. Siempre quiero mejorarlo. Así que refactorizo, me mantengo al tanto de las últimas técnicas. Intento y aprendo patrones, trato de usar marcos para no reinventar la rueda. Puedo escribir una especificación técnica que te dejará boquiabierto con la cantidad de patrones que puedo incluir.
Sin embargo, últimamente siento que realmente sé más sobre las herramientas que uso que cómo implementar un software exitoso.
Siento que me falta el conjunto de habilidades de factores humanos y creo que ser un ingeniero de software exitoso requiere más que conocer el mejor marco. Creo que también necesita algunos de los siguientes conjuntos de habilidades.
- Diseño de interacción
- Experiencia de usuario
- Márketing
Aprendí un poco de esto de las personas con las que he trabajado y de los grandes proyectos en los que he trabajado, pero no siento que "posea" estas habilidades.
Estoy en lo cierto? ¿Debería tratar de desarrollar más estas habilidades, o debería dejarlas a las personas que las hacen para una carrera?
¿Cómo se asegura de no estar demasiado atado a la forma en que está haciendo algo y se asegura de "hacer que sus usuarios sean increíbles"?
¿Alguien sabe de buenos recursos para aprender estas habilidades desde el punto de vista de la programación?