¿Qué es ser arquitecto software?

Inicio » ¿Qué es ser arquitecto software?

Certificación de arquitecto de software

Si ahora mismo fuera a una web de empleo y buscara un arquitecto de software, encontraría más de 18.500 ofertas de trabajo. Estos profesionales son difíciles de encontrar y están muy demandados. Lo más probable es que pidan una titulación en informática, ingeniería o experiencia equivalente y que enumeren las responsabilidades del puesto, por ejemplo:

Es una descripción bastante amplia. Muchos también incluyen expresiones como ésta: 50% de liderazgo técnico y 50% de desarrollo práctico. Dependiendo del proyecto, pueden enumerar lenguajes de programación específicos que requieren que domines. Si quieres cubrir uno de estos puestos, puede ser una búsqueda difícil. Sin embargo, desarrollar las habilidades adecuadas para convertirse en un arquitecto de software significa que hay muchos puestos de trabajo bien pagados disponibles.

Un arquitecto de software toma decisiones de diseño de alto nivel y establece normas técnicas. Esto puede incluir herramientas, estándares de codificación de software o plataformas a utilizar. Para ser eficaz, un arquitecto de software necesita un amplio (y profundo) conocimiento técnico para tomar buenas decisiones. Sin embargo, los conocimientos técnicos no son suficientes. También tienen que tener las habilidades blandas para gestionar proyectos y personas. Repasemos las habilidades blandas y las habilidades duras necesarias.

Arquitecto de software principal

Mientras trabajaba como desarrollador, siempre me frustraba que las funcionalidades no estuvieran completamente definidas, que las especificaciones no existieran o estuvieran mal escritas, que la documentación (comentarios, migraciones, documentos de la API, diagramas ER, visión general de la arquitectura) fuera prehistórica y anticuada. Perdí mucho tiempo buscando toda la información necesaria, y a menudo no la conseguí. Entonces me embarcaba en la codificación de algo por mi cuenta, que no siempre daba sus frutos. Mis suposiciones no siempre eran correctas, lo que me obligaba a rehacer parte de la lógica.

Por otro lado, los desarrolladores codificaban componentes que no eran reutilizables. Las tecnologías, las pilas y las herramientas se eligieron en función de las tendencias actuales para que todo el mundo trabajara con las tecnologías más avanzadas. La gente siempre asume que esto acelera el proceso de desarrollo de software y aumenta la calidad del resultado. Pero, ¿es realmente así?

Cuanto más reflexionaba, más me interesaba la función de configurar adecuadamente los proyectos antes de programar; intentar corregir las cosas que diagnosticaba como problemas durante la programación (ya sea programando como desarrollador en solitario o en un grupo de varias personas). De vez en cuando, había un Frontmen o Team Lead involucrado, que organizaba el equipo, ayudando a escribir funcionalidades, pruebas y ayudando a los colegas más jóvenes a pulir sus habilidades.

Sueldo de arquitecto de software

Gran parte de lo que se hace a diario, desde utilizar un teléfono móvil hasta fichar para enviar un correo electrónico, depende de la arquitectura de software de los sistemas que se utilizan. A menudo damos por sentada la arquitectura de software, y mucha gente ni siquiera sabe lo que es o cómo se puede utilizar.

La arquitectura del software es lo que hace posible la innovación dentro de una organización. La arquitectura utilizada dentro de su software debe ser de alta calidad, capaz de soportar la carga de trabajo, estar lista cuando se necesite y ser rentable.

La arquitectura de software es, simplemente, la organización de un sistema. Esta organización incluye todos los componentes, cómo interactúan entre sí, el entorno en el que operan y los principios utilizados para diseñar el software. En muchos casos, también puede incluir la evolución del software en el futuro.

La arquitectura del software se diseña con una o varias misiones específicas en mente. Esa misión debe cumplirse sin obstaculizar las misiones de otras herramientas o dispositivos. El comportamiento y la estructura del software repercuten en decisiones importantes, por lo que es necesario que se rendericen y construyan adecuadamente para obtener los mejores resultados posibles.

Patrones de arquitectura de software

Este artículo no cita ninguna fuente. Por favor, ayude a mejorar este artículo añadiendo citas de fuentes fiables. El material sin fuente puede ser cuestionado y eliminado.Buscar fuentes:  “Software architect” – news – newspapers – books – scholar – JSTOR (December 2010) (Learn how and when to remove this template message)

La exactitud de los hechos de este artículo es discutida. La discusión pertinente puede encontrarse en la página de discusión. Por favor, ayude a asegurar que las afirmaciones disputadas tengan fuentes fiables. (Julio de 2018) (Aprende cómo y cuándo eliminar este mensaje de la plantilla)

Un arquitecto de software es un experto en desarrollo de software que toma decisiones de diseño de alto nivel y trata de hacer cumplir las normas técnicas, incluidos los estándares de codificación de software, las herramientas y las plataformas. El concepto de arquitecto de software comenzó a imponerse cuando la programación orientada a objetos (POO) empezó a utilizarse de forma más generalizada (a finales de los años 90 y principios del siglo XXI). La programación orientada a objetos permitía crear aplicaciones cada vez más grandes y complejas, lo que a su vez requería una mayor supervisión de las aplicaciones y los sistemas de alto nivel.

Ir arriba