Trabajo para una startup como oficial de tecnología. Sin un arquitecto oficial en el equipo, desempeño el papel de arquitecto. Entonces, supongo que puedo arrojar algunos centavos aquí.
Hay dos tipos de arquitecto: arquitecto orientado al uso y arquitecto orientado a la implementación. El primer tipo es garantizar que el producto sea intuitivo para el usuario y fácil de usar. El segundo tipo es garantizar que el producto se implemente de manera adecuada para que sea mantenible, escalable y eficiente.
Dado que la pregunta es sobre el arquitecto que trata con el personal de programación. Solo hablemos del arquitecto de implementación.
- ¿Cuáles son los barrios buenos y malos de Katmandú, Nepal?
- ¿Puedo incluir un proyecto en funcionamiento (sin terminar) en mi currículum?
- ¿Qué diferencia al software profesional de los proyectos personales?
- ¿Cuáles son las herramientas necesarias para desarrollar un producto integrado, especialmente software?
- ¿Cómo encuentro la forma más rápida de obtener una imagen actual de un sitio web desde una URL?
La ingeniería tiene que ver con el compromiso. ¿Tecnología de punta o tecnología estable? MySQL o NoSQL? OOD o POD? Todas estas decisiones deben tomarse de acuerdo con los requisitos y los recursos disponibles. Los arquitectos deben tener una profunda comprensión de ambos lados y equilibrarlo.
Tomando OOD mencionado en la pregunta, un arquitecto maduro aclararía una lista de preguntas:
- ¿Cuáles son los beneficios de OOD para este producto?
- ¿El equipo está familiarizado con OOD? Si no, ¿cuál es el costo de la capacitación?
- ¿Algún enfoque alternativo de OOD?
- ¿Cuáles son los pros y los contras de la base de código actual?
- etc.
Un gran error del arquitecto es creer que la tecnología popular o avanzada es la mejor. En cambio, debe elegir la tecnología más adecuada que no sea necesariamente la mejor o la más sexy.
Y, los arquitectos deberían hacer que la vida del personal de programación sea más fácil y no más difícil. Siempre tenga simpatía por los programadores. Un error de arquitectura puede conducir a horas de trabajo adicionales de los programadores y efectos desastrosos.
Sigue caminando y ajustándote. ¡Buena suerte!