¿Qué tipo de habilidades debo aprender para ser arquitecto de software?

Las últimas dos respuestas son acertadas, y ampliaré con algunos puntos personales que he encontrado útiles:

  • Experiencia trabajando en proyectos más grandes con múltiples equipos para experimentar éxitos y fracasos con las personas. Esto es para que aprenda lo que es realista dados los recursos y procesos de una empresa. Raramente he estado en un proyecto donde se me ha dado suficiente tiempo ni personas para obtener la solución ‘ideal’, por lo que aprende muy rápidamente lo que puede lograr con los equipos con los que trabaja.
  • Experiencia trabajando con diferentes tipos de personas (por las habilidades de comunicación y la inteligencia emocional necesarias para que las cosas sucedan)
  • Reflexión constante sobre sus éxitos y fracasos. ¿Por qué tuvimos éxito esta vez, o por qué fallamos esta vez?
  • Siempre encuentre las causas de los problemas. No presumas ni asumas cosas. Encuentre evidencia objetiva para probar la causa raíz. De lo contrario, volverá a morderte … aproximadamente 2 o 3 años después, cuando menos lo esperes.
  • Diferenciar claramente qué es un ‘must’ versus qué es un ‘nice to have’.
  • Trabaje para mantenerse objetivo y evite emocionarse en la toma de decisiones. es decir, escuche a sus clientes (miembros del equipo) – y elija una solución que haga felices a la mayoría de las personas -> no tiene sentido hacer una arquitectura que nadie quiera usar.
  • No todos los problemas tienen que ser resueltos por software. Por ejemplo, a veces una sesión de capacitación sobre cómo usar un módulo funcionará, en lugar de hacer que su módulo de software sea 10 veces más complicado para evitar el mal uso (Confíe en sus compañeros). Otro ejemplo es pedirle al equipo de hardware que agregue una característica, en lugar de implementar una solución de software compleja que no sea 100% efectiva (resuélvala donde debería resolverse).
  • Tome medidas activas para evitar que ocurran errores dos veces. (Pruebas de regresión, mitigación de riesgos, etc.).
  • No seas indeciso por mucho tiempo. Probar algo y fallar puede ser más rápido. Un seguimiento -> no castigue el fracaso. En cambio, castigue la falta de respuesta efectiva a un fracaso.
  • Mantenga el control de su deuda de diseño utilizando medidas objetivas. por ejemplo, si tenemos más de X problemas en el diseño, debemos dejar de parchear el diseño y resolver / refactorizar.
  • Esté dispuesto a dar malas noticias a los gerentes por adelantado (gestión de expectativas) y obviamente tenga soluciones preparadas para suavizar el golpe. No tiene sentido ocultarlo.

Para el trabajo de arquitecto de software, se requieren dos tipos de habilidades:

  1. Habilidades técnicas
  2. Los talentos de la gente

Permítanme agregar más detalles a la respuesta:

Habilidades técnicas:

  • Ingeniería de software
  • Patrones de diseño
  • Conceptos avanzados de programación
  • Diseño de software
  • Computación en la nube
  • Desarrollo guiado por pruebas
  • La optimización del rendimiento
  • Mejores prácticas de desarrollo de software

Los talentos de la gente:

  • Habilidades de presentación
  • Mentoría técnica
  • Facilitación de reuniones
  • La resolución de conflictos

Personas y habilidades de comunicación.

En ese rol, el hecho de que USTED tenga razón a menudo es irrelevante si no puede lograr que sus desarrolladores y las organizaciones más amplias también lo vean.

Una gran parte se gastará en “participación de las partes interesadas” y en los miembros del equipo de coaching / mentoring. Muy a menudo tendrás que lidiar con conflictos, desacuerdos, política, etc.

More Interesting

Cómo convertirse en un administrador de software

He completado mi BTech en ingeniería química y ahora me encuentro en la encrucijada donde tengo que decidir qué tengo que hacer más en mi vida. ¿Debo ir a un trabajo, o graduarme (MTech o MBA) o qué?

¿Qué porcentaje se requiere para que un MBA vaya al extranjero?

Estoy extremadamente aburrido en mi trabajo actual, pero tengo una cadena (3) de puestos de 10-16 meses en mi CV. ¿Qué tengo que hacer?

Cómo hacer la transición a un puesto de gerente de producto

Tengo más de cuarenta años y soy un profesional de ventas con más de 20 años de experiencia. Es decir, ahora quiero ser analista de datos. ¿Es este un movimiento correcto?

¿Por qué Microsoft no quiere dejarme trabajar desde Canadá hasta que obtenga una visa para los Estados Unidos?

¿Cuáles son algunas carreras exitosas relacionadas con la alimentación en la India?

¿Cuál es la importancia de la fabricación asistida por computadora en la carrera de ingeniería mecánica?

¿Cuál es la diferencia entre PLC y SCADA?

Soy ingeniero de software con 3 años de experiencia en desarrollo en India. Estoy tratando de solicitar la RP canadiense. Necesito una oferta de trabajo canadiense apoyada por LMIA, para obtener mi PR. ¿Cuáles son mis posibilidades de conseguir el trabajo en Canadá?

¿Debería unirme a la Academia Naval India o no?

Cómo convertirse en un buen fotógrafo

¿Cuáles son las instalaciones para estudiantes de primer año en Accenture?

¿Debo ir a Singapur por 2 años, ahorrar algo de dinero y regresar a Vietnam para iniciar?