El camino del arquitecto: certificación e inmersión en el producto

Casi todos los desarrolladores hacen preguntas sobre cómo desarrollar sus habilidades y qué dirección de crecimiento elegir: vertical, es decir, convertirse en gerente, u horizontal, full stack. Muchos años de trabajo en un producto, contrariamente a los mitos, no se convierten en una limitación, sino en una oportunidad útil. En este artículo, compartimos la experiencia de nuestro desarrollador backend Alexey, quien dedicó 6 años a las certificaciones y durante este tiempo se abrió camino hasta convertirse en arquitecto.

El camino del arquitecto: certificación e inmersión en el producto

quien es arquitecto

Un arquitecto de TI (líder tecnológico) es un desarrollador de alto nivel que se ocupa de problemas globales en proyectos de TI. Se sumerge en los procesos comerciales del cliente y ayuda a resolver sus problemas utilizando la tecnología, y también determina cómo se estructurará tal o cual sistema de información.

Un profesional así no sólo necesita comprender áreas temáticas individuales, sino también ver todo el proceso:

  • Planteando un problema empresarial.
  • Desarrollo, incluyendo programación, preparación, almacenamiento y procesamiento de datos.
  • Despliegue y soporte de infraestructura.
  • Pruebas
  • Desplegar.
  • Servicios analíticos y operativos.

Esto significa la capacidad de ponerse en el lugar de cualquier especialista o equipo en el ciclo de vida del desarrollo, comprender el estado actual de los sistemas desde adentro, identificar los errores cometidos y formular objetivos. A veces es necesario realizar la cirugía usted mismo.

El camino de desarrollo profesional de promotor a arquitecto lleva mucho tiempo, normalmente varios años. Para ello, el desarrollador necesita tanto habilidades prácticas como conocimientos teóricos, que pueden ser confirmados mediante una certificación internacional.

Más de 5 años en un proyecto: ¿rutina u oportunidad de crecimiento?

Hace varios años empezamos a trabajar en un gran sistema informático médico para un cliente extranjero. Hubo ciertos problemas en este proyecto a gran escala:

  • acceso limitado;
  • empujón inestable;
  • Sprints increíblemente largos y aprobaciones prolongadas.

“Es hora de mejorar tus habilidades”“, uno de los principales desarrolladores, Alexey, tomó esta decisión para superar las dificultades enumeradas y comprender mejor el sistema.

Alexey compartió su experiencia, dónde es mejor empezar a estudiar, qué certificados es importante 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 para la comunicación son igual de importantes. ¡Especialmente en comunicaciones con un cliente de habla inglesa!

De la practica

Un buen día, Alexey recibió una llamada de un empleado del lado del cliente. En ese momento, nuestro desarrollador aún no podía presumir de tener muchos certificados, ni en tecnología, ni en gestión, ni en comunicaciones. Tal vez no sean útiles; después de todo, usted puede ser un especialista competente sin insignias adicionales. Pero el problema aún surgió.

Debemos entender que el lenguaje hablado es radicalmente diferente del lenguaje escrito. Si conoce bien las especificaciones del inglés, pero no practica la escucha y el habla, entonces tenemos malas noticias para usted. En este caso, las conversaciones telefónicas con los socios pueden llevar a un callejón sin salida.

Alexey captó algunas palabras familiares durante la llamada, pero el discurso de su colega fue tan rápido y diferente a la pronunciación clásica de las lecciones de audio que la esencia principal de sus preguntas pasó de largo. Por cortesía y por no querer complicar la situación, Alexey aceptó rápidamente todas las propuestas.

¿Debo decir que durante el trabajo se hicieron descubrimientos desagradables? Nuestro desarrollador se comprometió con algo que, si la oferta hubiera llegado en un lenguaje comprensible, habría rechazado absolutamente deliberadamente.

En ese momento quedó claro que simplemente era necesario mejorar las habilidades para escuchar y hablar. La mejor manera de hacerlo era a través de certificaciones.

Certificación del idioma inglés

Para mejorar la comunicación en el marco de nuestro proyecto médico, Alexey estudió en varios programas a la vez. Como resultado, aprobó la certificación FCE - First Certificate in English. Esto me ayudó a comenzar a escuchar al cliente y transmitirle mis pensamientos.

Hacking de la vida

Evite los programas básicos de inglés. La habilidad debe tener como objetivo. Si necesitas inglés para la comunicación empresarial, deberías tomarlo. Simplemente no vayas a los extremos y toma el CAE (Certificado en Inglés Avanzado). Su peculiaridad son las palabras sofisticadas, expresiones específicas que casi nunca se utilizan en la comunicación internacional.

El camino del arquitecto: certificación e inmersión en el producto

Paso dos: certificación en toda la pila tecnológica

Inicialmente, el proyecto se basó en la tecnología de mapeo relacional de objetos ORM. El equipo de desarrollo del lado del cliente estaba orgulloso de su creación, porque todo se hizo utilizando conceptos avanzados, complejos y geniales.

Sin embargo, los problemas en producción (en particular, un servidor SQL que se congelaba constantemente) no eran infrecuentes. Llegó al punto en que la solución típica al problema era reiniciar el servicio. El cliente llamó al líder del equipo y le dijo que era hora de reiniciar. Finalmente decidimos ponerle fin.

El cliente quería comprobar el rendimiento del sistema; para ello era necesario introducir perfiles y realizar optimizaciones periódicamente. En ese momento, alrededor de 2015, se eligió Ants Profiler como herramienta de creación de perfiles, pero tuvo un rendimiento deficiente. Con poco detalle, era difícil obtener información sobre un bloque de código crítico. Con el máximo detalle, Ants Profiler comenzó a cambiar el código de tal manera que la funcionalidad de los sistemas estaba en riesgo: cuando se configuraba la creación de perfiles, todo simplemente fallaba. Entonces cambiamos nuestro enfoque.

Empezamos analizando estadísticas.

Al analizar las estadísticas de ventas, quedó claro que el 95% del trabajo en el servidor tiene una lógica empresarial primitiva de 4 líneas. Para ellos, una consulta SQL era suficiente y no un conjunto completo de consultas generadas por un bloque de lógica de negocios con un ORM.

Alexey propuso e implementó un procedimiento almacenado para mover trabajo sin ORM. La idea contradecía el paradigma habitual del proyecto, el líder del equipo la recibió con cautela, pero el cliente aceptó todo y solicitó su implementación. Esto no es sorprendente, porque el nuevo método permitió reducir los retrasos en el procesamiento de producción de cuatro horas a varios minutos, una media de 98 veces.

Aún así, teníamos dudas: ¿es esta la decisión correcta o una cuestión de preferencia personal? La fe en los todopoderosos C# y ORM se vio sacudida por un accidente que mostró todo el poder de las soluciones simples.

Caso dos

El equipo escribió una consulta para trabajar con datos dentro del paradigma ORM, compilados según todas las reglas, sin errores. Su procesamiento tardó entre 2 y 3 minutos y estos parámetros parecían aceptables. Sin embargo, una implementación alternativa que utiliza selectores y vistas simples proporcionó resultados más rápido: en 2 segundos.

Se hizo evidente que había llegado el momento de elegir un especialista que se sometiera a una certificación en todo el proyecto para comprender todos los matices y elegir el método óptimo. Alexey asumió esta tarea.

Primeros certificados

Para comprender la esencia, Alexey pasó por varias certificaciones de Microsoft, cubriendo todo el stack tecnológico del proyecto:

  • TS: Desarrollo de aplicaciones Windows con Microsoft .NET Framework 4
  • TS: Acceso a datos con Microsoft .NET Framework 4 Programación en C#
  • TS: Desarrollo de aplicaciones Microsoft .NET Framework 3.5 Windows Forms
  • PRO: Diseño y desarrollo de aplicaciones de Windows utilizando Microsoft .NET Framework 3.5
  • PRO: Diseño y desarrollo de aplicaciones basadas en Windows utilizando Microsoft .NET Framework
  • TS: Microsoft .NET Framework 2.0: desarrollo de clientes basados ​​en Windows

Intentando optimizar el trabajo en el nuevo proyecto, el equipo llegó a las siguientes conclusiones:

  • Para que los sistemas funcionen, es necesario seguir las reglas de escritura de código: no sangrías ni comentarios, sino características técnicas: la cantidad de llamadas a las 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 teoría de conjuntos, mientras que ORM es un concepto de operaciones.
  • Las ideas que alteran el orden habitual de las cosas pueden encontrar resistencia dentro del equipo. El desarrollo también se trata de relaciones y de la capacidad de defender su punto de vista.
  • La certificación amplía sus horizontes y le permite comprender qué se puede utilizar y qué no.

El camino del arquitecto: certificación e inmersión en el producto

Paso tres: aprenda más que codificar

Cuando se trabaja en soluciones de TI a gran escala, muchos factores son 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 empresarial.

Entender esto se da Certificación serie 98:

Le permiten tener una visión más amplia de las cosas y salir del concepto limitado de "solo código". Estos son los Fundamentos, lo básico, pero son importantes para entender todo a un nivel más profundo.

Las certificaciones de la Serie 98 son pruebas breves: 30 preguntas durante 45 minutos.

Paso cuatro: gestión de procesos

Trabajar con clínicas es una tarea más importante que, digamos, crear un juego para dispositivos móviles. Aquí no se puede agregar una función y lanzarla a producción; es importante seguir el proceso de aprobación y realizar numerosos cambios por parte del cliente, porque la salud y la vida de las personas están en juego.

El Agile típico no produjo los resultados deseados en este proyecto y cada sprint duró bastante tiempo. Entre despliegues tomó de 6 meses a un año.

Además, era técnicamente imposible llevar los procesos de las diez clínicas atendidas a algún denominador común.

Para obtener resultados más rápidamente en estas condiciones, los desarrolladores necesitaban responsabilidad personal y una visión amplia de los procesos, lo que significa concentración constante y alta cualificación.

Cuando un especialista se sumerge en el proceso, ve claramente los resultados, las causas y las consecuencias, el panorama completo. Esto es al mismo tiempo un factor de motivación y conciencia adicional, mejorando la capacidad de resolver problemas y problemas.

Con una infraestructura que funcione bien, una arquitectura bien construida y un código óptimo, una persona puede encargarse de muchos procesos. Sin embargo, esto no significa que sea necesario formar soldados universales que sean capaces de liderar el proyecto por sí solos. La comunicación y el trabajo en equipo son fundamentales.

En un equipo, cada desarrollador comprende que sus compañeros dependen de sus acciones. Ahorrar 5 minutos durante la fase de desarrollo significa quizás 5 horas adicionales de prueba. Para entender esto, es importante establecer comunicaciones.

En nuestro proyecto, Alexey recibió ayuda para dominar los procesos. certificados de EXIN:

  • Certificado de Fundación M_o_R en Gestión de Riesgos
  • Fundación Agile Scrum
  • Fundación de gestión de servicios de TI
  • Fundación de Gestión de Información Empresarial EXIN
  • Certificado de la Fundación PRINCE2 en Gestión de Proyectos
  • Certificado de ingeniero de pruebas
  • Fundación del marco de operaciones de Microsoft
  • Proyectos de servicios ágiles

Se tomaron cursos en edX que ayudaron a mirar el sistema desde el punto de vista de las estadísticas y la programación ajustada y luego se impulsaron a obtener certificado de arquitecto:

  • Producción Lean
  • Six Sigma: analizar, mejorar, controlar
  • Six Sigma: definir y medir

Según el principio Six Sigma, el control estadístico garantiza un resultado de alta calidad con una probabilidad extremadamente alta.

Al elevar su nivel, el desarrollador, por regla general, llega a las siguientes conclusiones:

  • No trabajes duro, sino trabaja eficientemente.
  • No compliques tu vida persiguiendo el exterior: la tecnología sofisticada no necesariamente resuelve mejor los problemas.
  • Hazte amigo de especialistas en todas las etapas del ciclo y descubre sus puntos débiles. Un arquitecto debe dominar los procesos: identificar un problema, plantear un problema, diseñar una topología de red, desarrollo, pruebas, soporte, operación.
  • Verifique cada característica por dentro y por fuera.
  • Sucede que los procesos de TI no se corresponden con los procesos de negocio, y esto hay que solucionarlo.

El camino del arquitecto: certificación e inmersión en el producto

Paso cinco: comprender la arquitectura a través de la lente del Big Data

Durante el proyecto tratamos con bases de datos bastante grandes. Al menos así lo pareció hasta cierto momento. Cuando Alexey comenzó a estudiar big data en edX, resultó que 1,5 TB del proyecto era una pequeña base de datos. Escalas serias: desde 10 TB, y allí se requieren otros métodos.

El siguiente paso hacia la certificación fue un curso sobre big data. Ayudó a comprender la organización del flujo de datos y a acelerar las operaciones de producción. Y también preste atención a las pequeñas herramientas, por ejemplo, comience a usar Excel para resolver microtareas individuales.

Certificado:
Programa Microsoft Professional: Certificado Big Data

El camino del arquitecto: certificación e inmersión en el producto

Paso seis: de desarrollador a arquitecto

Después de recibir todos los certificados enumerados, cuando todavía era desarrollador, Alexey comenzó a comprender que la información recibida tenía un alto nivel de abstracción, y esto estaba lejos de ser malo.

Una visión a gran escala de los procesos conduce al nivel de arquitecto, uno de los niveles más altos de certificación.

En busca de la certificación de arquitecto, Alexey llegó a Arquitecto de software certificado - Plataforma Microsoft por Sundblad & Sundblad. Este es un programa reconocido por Microsoft, su desarrollo comenzó hace 14 años con la cooperación de la sede de la empresa y las oficinas suecas. Cubre .NET Framework, recopilación de requisitos, gestión del flujo de información y muchos otros temas de alto nivel y se considera un testimonio sólido de las habilidades de un arquitecto.

Había cursos para estudiar dentro del programa. La certificación sistematizó el conocimiento y nos permitió ingresar a una nueva etapa de desarrollo: de desarrollador a arquitecto.

El camino del arquitecto: certificación e inmersión en el producto

En resumen

Como señala Alexey, cuando se trabaja 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 comerciales. Ante tal o cual desafío, definitivamente es necesario anotar el valor del negocio para que el proyecto no llegue a un callejón sin salida.

El arquitecto tiene una visión especial de la programación y sus componentes elementales:

  • Crear y/o mantener un flujo de datos
  • Extraer el flujo de información del flujo de datos
  • Extraer flujo de valor del flujo de información
  • Monetización del flujo de valor

Si miras un proyecto a través de los ojos de un arquitecto, debes comenzar desde el final: formular el valor y luego llegar a él a través del flujo de datos.

El arquitecto sigue las normas de desarrollo, teniendo una visión global del proyecto. Es casi imposible alcanzarlo mediante la práctica y los propios errores; o mejor dicho, es posible, pero llevará mucho tiempo. La certificación le permite ampliar sus horizontes y observar el contexto completo de cada tema, familiarizarse con la experiencia de miles de profesionales y desarrollar la habilidad de resolver problemas de manera eficaz.

Hasta la fecha llevamos más de cinco años trabajando con el sistema médico descrito anteriormente y hemos logrado mejoras significativas. Durante este tiempo, Alexey aprobó más de 20 exámenes de certificación:

  1. TS: Desarrollo de aplicaciones Windows con Microsoft .NET Framework 4
  2. TS: Acceso a datos con Microsoft .NET Framework 4 Programación en C#
  3. TS: Desarrollo de aplicaciones Microsoft .NET Framework 3.5 Windows Forms
  4. PRO: Diseño y desarrollo de aplicaciones de Windows utilizando Microsoft .NET Framework 3.5
  5. PRO: Diseño y desarrollo de aplicaciones basadas en Windows utilizando Microsoft .NET Framework
  6. TS: Microsoft .NET Framework 2.0: desarrollo de clientes basados ​​en Windows
  7. 98-361: Fundamentos de desarrollo de software
  8. 98-364: Fundamentos de bases de datos
  9. Certificado de Fundación M_o_R en Gestión de Riesgos
  10. Fundación Agile Scrum
  11. Fundación de gestión de servicios de TI
  12. Fundación de Gestión de Información Empresarial EXIN
  13. Certificado de la Fundación PRINCE2 en Gestión de Proyectos
  14. Certificado de ingeniero de pruebas
  15. Fundación del marco de operaciones de Microsoft
  16. Proyectos de servicios ágiles
  17. Producción Lean
  18. Six Sigma: analizar, mejorar, controlar
  19. Six Sigma: definir y medir
  20. Programa Microsoft Professional: Certificado Big Data
  21. Arquitecto de software certificado - Plataforma Microsoft

El camino del arquitecto: certificación e inmersión en el producto

Después de aprobar todos los exámenes, Alexey pasó de ser desarrollador principal a arquitecto de proyectos. Al mismo tiempo, la certificación se ha convertido en una poderosa herramienta tanto para el desarrollo profesional como para la construcción de reputación ante los ojos del cliente.

El “Certification Ram” ayudó a obtener acceso a procesos críticos individuales que necesitaban control y elaboración. Los clientes europeos de soluciones de TI, por regla general, valoran mucho a los especialistas certificados y están dispuestos a darles más libertad de acción.

¡Gracias por su atención! Esperamos que el artículo te haya resultado útil.

Fuente: habr.com

Añadir un comentario