Prácticamente cada desarrollador se pregunta cómo debería desarrollar sus habilidades y qué dirección de crecimiento elegir: vertical, es decir, convertirse en un gerente, o horizontal, como desarrollador full stack. Muchos años de trabajo en un solo producto, contrariamente a los mitos, se convierten no en una limitación, sino en una oportunidad valiosa. En este artículo, compartimos la experiencia de nuestro desarrollador backend Alexey, quien ha dedicado 6 años a certificaciones y ha recorrido el camino hasta convertirse en arquitecto.

¿Quién es un arquitecto?
Un arquitecto en TI (tech lead) es un desarrollador de alto nivel que se encarga de cuestiones globales en proyectos de TI. Se sumerge en los procesos de negocio del cliente y ayuda a resolver sus problemas a través de la tecnología, así como a definir cómo se estructurará un sistema de información determinado.
Este profesional necesita no solo entender áreas temáticas individuales, sino también ver todo el proceso:
- Definición del problema empresarial.
- Desarrollo, incluyendo programación, preparación, almacenamiento y procesamiento de datos.
- Despliegue y soporte de la infraestructura.
- Pruebas.
- Despliegue.
- Análisis y mantenimiento operativo.
Esto significa la capacidad de ponerse en el lugar de cualquier especialista o equipo en el ciclo de vida del desarrollo, entender desde dentro el estado actual de los sistemas, identificar errores cometidos, y formular objetivos. A veces, incluso llevar a cabo intervenciones operativas por sí mismo.
El camino de desarrollo profesional de un desarrollador a arquitecto toma un tiempo considerable, por lo general, varios años. Para ello, el desarrollador necesita tanto habilidades prácticas como conocimientos teóricos que pueden ser respaldados por certificaciones internacionales.
¿Más de 5 años en un solo proyecto: rutina o oportunidad de crecimiento?
Hace unos años comenzamos a trabajar en un gran sistema informático médico para un cliente extranjero. En este ambicioso proyecto existían ciertos problemas:
- accesos limitados;
- producción inestable;
- sprints increíblemente extendidos y largas aprobaciones.
“Es hora de mejorar las habilidades”, — llegó a esta decisión uno de los desarrolladores líderes, Alexey, para superar las dificultades mencionadas y entender mejor el sistema.
Aleksey compartió su experiencia sobre por dónde empezar a aprender, qué certificaciones son importantes obtener, cómo y por qué hacerlo.
Paso uno: mejora tu inglés
Los lenguajes de programación son una parte fundamental del desarrollo, pero los lenguajes de comunicación son igualmente importantes. ¡Especialmente en las comunicaciones con clientes angloparlantes!
Desde la práctica
Un día, Aleksey recibió una llamada de una empleada del cliente. En ese momento, nuestro desarrollador aún no podía presumir de tener un montón de certificaciones — ni en tecnologías, ni en gestión, ni en comunicación. Posiblemente, no le habrían servido de mucho — ya que ser un especialista calificado es posible incluso sin títulos adicionales. Pero, aun así, surgió un problema.
Hay que entender que el idioma conversacional es radicalmente diferente del escrito. Si te orientas perfectamente en las especificaciones en inglés, pero no practicas la escucha y el habla, tenemos malas noticias para ti. En tal caso, las negociaciones telefónicas con los socios pueden llevarte a un callejón sin salida.
Aleksey entendía algunas palabras conocidas durante la llamada, pero el discurso de su colega era tan rápido y diferente de la pronunciación clásica de las lecciones de audio, que el sentido principal de sus preguntas pasó de largo. Por cortesía y por no complicar la situación, Aleksey aceptó rápidamente todas las propuestas.
¿Es necesario decir que a lo largo del trabajo se hicieron descubrimientos desagradables? Nuestro desarrollador se comprometió a algo que absolutamente rechazaría si la oferta hubiera llegado en un idioma comprensible.
En ese momento, quedó claro que era absolutamente necesario desarrollar habilidades de escucha y conversación. La mejor manera de hacerlo era a través de certificaciones.
Certificación en inglés
Para mejorar la comunicación en nuestro proyecto médico, Aleksey estudió en varios programas a la vez. Como resultado, aprobó la certificación FCE — First Certificate in English. Esto le ayudó a comenzar a entender al cliente y a transmitir sus pensamientos.
Consejo útil:
Evita programas de formación en inglés básico. La habilidad debe ser específica. Si necesitas inglés para comunicación empresarial, eso es lo que debes aprender. Solo que no debes irse a los extremos y tomar el CAE (Certificate in Advanced English). Su característica son palabras sofisticadas, expresiones específicas que casi no se utilizan en la comunicación internacional.

Paso dos: certificación en toda la pila tecnológica
Inicialmente, la base del proyecto estaba compuesta por la tecnología de mapeo objeto-relacional ORM. El equipo de desarrolladores del cliente estaba orgulloso de su creación, ya que todo se realizó utilizando conceptos avanzados, de manera compleja y elaborada.
Sin embargo, los problemas en producción — en particular, el servidor SQL que se colapsaba constantemente — no eran raros. La solución típica era reiniciar el servicio. El cliente llamaba al líder del equipo y decía que era hora de reiniciar. Finalmente, decidimos acabar con esto.
El cliente deseaba trabajar en el rendimiento del sistema — para ello era necesario implementar la profilación y realizar optimizaciones regularmente. Como herramienta de profilación, en ese momento — alrededor de 2015 — se eligió Ants Profiler, pero demostró ser débil. Con una baja granularidad, era difícil obtener información sobre un bloque crítico del código. Con la máxima granularidad, Ants Profiler empezaba a modificar el código de una manera que amenazaba la funcionalidad del sistema — donde se había configurado la profilación, simplemente fallaba. Por lo tanto, cambiamos de enfoque.
Comenzamos analizando las estadísticas
Al analizar las estadísticas de producción, quedó claro que el 95% del trabajo en el servidor tenía lógica de negocio primitiva en 4 líneas. Para ellos era suficiente con una sola consulta SQL, en lugar de todo un conjunto de consultas generadas por el bloque de lógica de negocio con ORM.
Alexey propuso e implementó un procedimiento almacenado para mover trabajos sin ORM. La idea contradecía la paradigmas habituales del proyecto, el líder del equipo la recibió con cautela, pero el cliente la aceptó y solicitó su implementación. No fue sorprendente, ya que el nuevo método permitía reducir los tiempos de procesamiento en producción de cuatro horas a unos minutos — en promedio, 98 veces.
Aun así, teníamos dudas: ¿era esta la solución correcta o simplemente una cuestión de preferencias personales? La fe en el todopoderoso C# y ORM fue sacudida por una casualidad, que mostró toda la fuerza de las soluciones simples.
Caso dos
El equipo escribió una consulta para trabajar con datos dentro del paradigma ORM, compuesta según todas las reglas, sin errores. Su procesamiento tardaba 2-3 minutos, y esos parámetros parecían aceptables. Sin embargo, una implementación alternativa utilizando simples selects y views ofreció un resultado más rápido — en 2 segundos.
Se hizo evidente que era hora de elegir a un especialista que obtuviera la certificación en toda la pila del proyecto para entender todos los matices y elegir el método óptimo. Esta tarea fue asumida por Alexey.
Los primeros certificados
Para comprender la esencia, Alexey pasó , que abarcó toda la pila tecnológica del proyecto:
- TS: Desarrollo de Aplicaciones Windows con Microsoft .NET Framework 4
- TS: Acceso a Datos con Programación en C# de Microsoft .NET Framework 4
- TS: Desarrollo de Aplicaciones Windows Forms con Microsoft .NET Framework 3.5
- PRO: Diseño y Desarrollo de Aplicaciones Windows utilizando Microsoft .NET Framework 3.5
- PRO: Diseño y Desarrollo de Aplicaciones basadas en Windows usando Microsoft .NET Framework
- TS: Microsoft .NET Framework 2.0 — Desarrollo de Clientes basados en Windows
Tratando de optimizar el trabajo en el nuevo proyecto, el equipo llegó a las siguientes conclusiones:
- Para el funcionamiento de los sistemas, es necesario seguir las reglas de escritura de código: no solo sangrías y comentarios, sino especificaciones técnicas — el número de accesos a bases de datos, la carga en el servidor y mucho más.
- La aplicación de conceptos contradictorios puede generar problemas. El concepto de bases de datos es una teoría de conjuntos, mientras que ORM es un concepto de operaciones.
- Las ideas que rompen el orden establecido pueden encontrar resistencia dentro del equipo. El desarrollo también implica relaciones y la capacidad de argumentar tu punto de vista.
- La certificación amplía el horizonte y permite entender qué se puede utilizar y qué no.

Paso tres: estudia no solo el código
Al trabajar en soluciones IT a gran escala, hay muchos factores importantes. Por ejemplo, no todos los desarrolladores prestan atención a los parámetros de la red, pero incluso su ancho de banda puede afectar la solución de un problema comercial.
Esto se comprende a través de certificaciones de la serie 98:
Te permiten ver las cosas de manera más amplia y salir de la concepción limitada de “solo código”. Son los fundamentos, pero son importantes para entenderlo todo a un nivel más profundo.
Las certificaciones de la serie 98 son pequeños exámenes — 30 preguntas en 45 minutos.
Paso cuatro: gestión de procesos
Trabajar con clínicas es un asunto más responsable que, por ejemplo, crear un juego móvil. No se puede simplemente agregar una función y lanzarla a producción; es importante seguir el proceso de aprobación y realizar numerosas modificaciones por parte del cliente, ya que está en juego la salud y la vida de las personas.
El Agile típico no dio los resultados deseados en este proyecto, y cada sprint duró bastante tiempo. Entre los despliegues pasaban de 6 meses a un año.
Además, técnicamente era imposible llevar los procesos de las diez clínicas atendidas a un mismo denominador común.
Para obtener resultados más rápidamente en estas condiciones, los desarrolladores requerían responsabilidad personal y una visión amplia de los procesos, lo que significaba una constante concentración y alta calificación.
Cuando un especialista está inmerso en el proceso, ve claramente los resultados, las causas y efectos, y la imagen completa. Esto es, al mismo tiempo, un factor de motivación adicional y conocimiento, mejorando la capacidad de resolver tareas y problemas.
Con una infraestructura bien organizada, una arquitectura adecuadamente construida y un código óptimo, una persona puede asumir muchos procesos. Sin embargo, esto no significa que se deban formar soldados universales que puedan llevar a cabo un proyecto por sí solos. La comunicación y el trabajo en equipo son críticamente importantes.
En el equipo, cada desarrollador entiende que sus compañeros dependen de sus acciones. Ahorrar 5 minutos en la etapa de desarrollo puede equivaler a 5 horas adicionales de prueba. Para entender esto, es crucial establecer buenas comunicaciones.
En nuestro proyecto, los siguientes certificados ayudaron a Alexey a dominar los procesos: :
- M_o_R Foundation Certificate in Risk Management
- Agile Scrum Foundation
- IT Service Management Foundation
- EXIN Business Information Management Foundation
- PRINCE2 Foundation Certificate in Project Management
- Test Engineer Certificate
- Microsoft Operations Framework Foundation
- Agile Service Projects
En edX se realizaron cursos que ayudaron a ver el sistema desde la perspectiva de la estadística y la programación ágil, y más tarde impulsaron a obtener el certificado de arquitecto:
- Lean Production
- Six Sigma: Analyze, Improve, Control
- Six Sigma: Define and Measure
Según el principio de “Seis Sigma” (Six Sigma), el control estadístico asegura un resultado de calidad con una probabilidad extremadamente alta.
Al elevar su nivel, el desarrollador generalmente llega a las siguientes conclusiones:
- Trabaja no mucho, sino de manera efectiva.
- No compliques la vida en la búsqueda de lo externo: las tecnologías sofisticadas no necesariamente resuelven los problemas mejor.
- Colabore con especialistas de todas las etapas del ciclo y descubra sus desafíos. El arquitecto debe dominar los procesos: identificación de problemas, establecimiento de objetivos, diseño de la topología de la red, desarrollo, pruebas, soporte y operación.
- Verifique cada función de principio a fin.
- A veces, los procesos de TI no se alinean con los procesos de negocio, y eso es algo que debe abordarse.

Paso cinco: entender la arquitectura a través del prisma de Big Data.
En el proyecto, lidiamos con bases de datos bastante grandes. Al menos, eso parecía hasta cierto punto. Cuando Alexei comenzó a estudiar grandes datos en edX, se dio cuenta de que 1.5 Tb en el proyecto es una pequeña base de datos. Los grandes volúmenes empiezan a partir de 10 Tb, y se requieren otros métodos allí.
El siguiente paso en el camino hacia la certificación fue un curso sobre grandes datos. Ayudó a entender la organización del flujo de datos y a acelerar las operaciones en producción. También hizo hincapié en herramientas pequeñas, como comenzar a usar Excel para abordar tareas menores.
Certificado:
Programa Profesional de Microsoft: Certificado en Big Data.

Paso seis: de desarrollador a arquitecto.
Después de obtener todas las certificaciones mencionadas, mientras aún era desarrollador, Alexei comenzó a comprender que la información adquirida tenía un alto nivel de abstracción, lo cual no es algo negativo.
Una visión integral de los procesos lleva al nivel de arquitecto, uno de los niveles más altos de certificación.
En su búsqueda de la certificación de arquitecto, Alexei se encontró con de Sundblad & Sundblad. Es un programa reconocido por Microsoft, cuyo desarrollo comenzó hace 14 años en colaboración entre las oficinas central y sueca de la empresa. Cubre .NET Framework, recopilación de requisitos, gestión del flujo de información y muchos otros temas a un alto nivel, y se considera una sólida confirmación de las habilidades de un arquitecto.
El programa incluía cursos de aprendizaje. La certificación sistematizó conocimientos y permitió un nuevo nivel de desarrollo, de desarrollador a arquitecto.

Resumiendo
Como señala Alexei, en el proceso de trabajar con un sistema de TI a gran escala, es importante recordar que la programación no es un entretenimiento costoso, sino una herramienta para resolver problemas empresariales. Al enfrentar un desafío, siempre es necesario especificar el valor comercial para que el proyecto no se vea atrapado en un callejón sin salida.
El arquitecto tiene una perspectiva especial sobre la programación y sus componentes básicos:
- Creación y/o mantenimiento de flujos de datos
- Extracción de flujo de información basado en el flujo de datos
- Extracción de flujo de valor basado en el flujo de información
- Monetización del flujo de valor
Si miramos el proyecto desde la perspectiva del arquitecto, debemos empezar por el final: formular el valor y luego avanzar hacia él a través del flujo de datos.
El arquitecto sigue las reglas del desarrollo, teniendo una visión global del proyecto. Llegar a ello a través de la práctica y los errores propios es prácticamente imposible; más bien, se puede, pero lleva mucho tiempo. La certificación permite ampliar la perspectiva y ver el contexto completo de cada cuestión, familiarizarse con la experiencia de miles de profesionales y desarrollar la habilidad de resolver problemas de manera efectiva.
Hoy en día, hemos trabajado con el sistema médico mencionado anteriormente durante más de cinco años y hemos logrado mejoras significativas. Durante este tiempo, Alexey ha pasado más de 20 exámenes de certificación:
- TS: Desarrollo de Aplicaciones Windows con Microsoft .NET Framework 4
- TS: Acceso a Datos con Programación en C# de Microsoft .NET Framework 4
- TS: Desarrollo de Aplicaciones Windows Forms con Microsoft .NET Framework 3.5
- PRO: Diseño y Desarrollo de Aplicaciones Windows utilizando Microsoft .NET Framework 3.5
- PRO: Diseño y Desarrollo de Aplicaciones basadas en Windows usando Microsoft .NET Framework
- TS: Microsoft .NET Framework 2.0 — Desarrollo de Clientes basados en Windows
- 98-361: Fundamentos del Desarrollo de Software
- 98-364: Fundamentos de Bases de Datos
- M_o_R Foundation Certificate in Risk Management
- Agile Scrum Foundation
- IT Service Management Foundation
- EXIN Business Information Management Foundation
- PRINCE2 Foundation Certificate in Project Management
- Test Engineer Certificate
- Microsoft Operations Framework Foundation
- Agile Service Projects
- Lean Production
- Six Sigma: Analyze, Improve, Control
- Six Sigma: Define and Measure
- Programa Profesional de Microsoft: Certificado en Big Data.
- Certified Software Architect — Microsoft Platform.

Al aprobar todos los exámenes, Alexey ha crecido de desarrollador principal a arquitecto del proyecto. La certificación se ha convertido en una poderosa herramienta tanto para el desarrollo profesional como para ganar reputación ante el cliente.
El “ariete de certificación” ha ayudado a obtener acceso a ciertos procesos críticos que necesitaban control y revisión. Los clientes europeos de soluciones IT suelen valorar mucho a los especialistas certificados y están dispuestos a ofrecerles más libertad de acción.
¡Gracias por su atención! Esperamos que el artículo haya sido útil para usted.
Fuente: habr.com
