¿Cuál es la diferencia entre arquitectos y programadores y cuáles son los requisitos para cada uno?

Los programadores pertenecen a la especie geek que se preocupa por nuevas bibliotecas, lenguajes de codificación, cobertura de pruebas, completar tareas de desarrollo, etc. Por lo general, trabajan dentro de uno o varios componentes/servicios, pero no deciden cómo esos componentes encajan entre sí para encajar en el panorama general. (Hay muchos desarrolladores que lo saben, pero no es necesario que lo sepan)

Los arquitectos de software pertenecen a otra especie de geek, y se centran en el diseño de todos los componentes y en cómo encajan en el panorama general para soportar casos de uso empresarial o el futuro de la visión de la empresa en lugar de centrarse demasiado en un componente. Hay varios tipos de arquitectos:

1. Enterprise Architect: arquitectos de software que entienden cómo los componentes individuales interactúan entre sí y con otros sistemas de TI de back-end, incluidos CRM, gestión de pedidos, BI o sitios web.

2. Arquitecto de soluciones: El arquitecto de software, además de conocimientos técnicos y de diseño, trabaja en el lado empresarial entre el 30 y el 50% del tiempo, con un profundo conocimiento funcional.

3. Arquitecto técnico: Arquitecto de software que trabaja con un equipo o varios equipos y es responsable de especificar estándares de codificación, revisión de código, escalabilidad, implementación, rendimiento, etc.

4. Arquitecto de rendimiento: arquitecto de software que trabaja con varios equipos para probar el rendimiento y la escalabilidad lineal de sus componentes mientras decide las mejores prácticas de codificación para un mejor rendimiento.