Al infinito y más allá. Historia del ingeniero de software avanzado

Si imagina una carrera típica de desarrollador, ¿cómo es? Probablemente, un especialista pasará todas las etapas desde Junior hasta Lead o Chief. ¿Y entonces que? Ya hemos dicho mucho en nuestro blog que en EPAM un ingeniero tiene dos caminos: ir a Solution Architect (SA) o convertirse en gerente (Delivery, Resource, Project). Pero para algunos, ninguno de ellos satisfecho. Como resultado, resultó que los desarrolladores talentosos estaban atrapados en una posición, y no importa cómo se desarrollaron y profundizaron en la tecnología, su talento pasó desapercibido. El año pasado, la compañía abrió un nuevo camino en el mapa de la trayectoria profesional: Ingeniero de software avanzado (ASE).







Por supuesto, el papel de ASE no es una palabra nueva en TI. En algunas empresas, incluidas las de abarrotes, donde se utiliza un sistema de clasificación, puede encontrar un puesto de este tipo (normalmente denominado Desarrollador principal). Para comprender mejor quién es ASE, qué hacen y por qué la empresa los necesita, pregunté a los ingenieros "avanzados" de la primera ola qué significa ser ASE. Te lo contaré todo en orden.



¿Quién es ASE?



En primer lugar, se trata de un ingeniero que tiene una experiencia única y profunda, si bien puede ingresar rápidamente a un proyecto con cualquier tecnología, podemos decir que se trata de un ingeniero de múltiples habilidades o cross-stack. Ahora está de moda llamarlo modelo en forma de T, un enfoque cuando un ingeniero tiene algún tipo de área profunda, pero nada le impide entenderlo y ayudar al equipo a corregir un pequeño error en la interfaz, por ejemplo.



Konstantin Perikov ha estado trabajando en EPAM durante 3 años, desarrolla sistemas de recuperación de información - construye varios motores de búsqueda, trabaja con motores de código abierto: Lucene, Solr, ElasticSearch. Fue uno de los primeros en recibir el estado de ingeniero avanzado en Enterprise Search.



imagen « Chief , , — . — SA, . 2019 ASE, , , , , ( ) SA. , , , , - Open Source .

ASE SA — , . , . ».


imagen , Senior Solution Architect, 8 EPAM, .

« Software Engineering , , - () Software Engineer Solution Architect, « ». Software Engineer ( Junior to Distinguished) . , , CTO EPAM ASE, : ‘known to others’ (. – ). , , . , Java-, , , . - , ; — .

Un ingeniero avanzado no tiene que ser un orador en todas las conferencias, solo sabe más que los demás y hace cosas que nadie más puede hacer ".


¿Por qué ASE?



Principalmente para resolver problemas complejos de ingeniería. El mercado cambia, las decisiones cambian, se vuelven más complejas. Además de las habilidades técnicas profundas, ASE tiene habilidades avanzadas de resolución de problemas. Además, ASE no solo puede resolver el problema, sino también predecir y prevenir su aparición. Una especie de gurú-predictor técnico.



Esto se aplica no solo a la resolución de problemas puntuales, sino también a la planificación global. La implicación es que tener una gran experiencia debería permitir que una persona saque conclusiones, hacia dónde se dirige la tecnología, qué tendencias serán el próximo año, qué solución se puede ofrecer a los clientes en el futuro.



Dmitry Tabolich: « , , . , EPAM , , — Chief? , , -, ».



ASE?



Dentro de EPAM, se ha desarrollado una matriz de competencias, que detalla los requisitos para los ingenieros en cada nivel.



En primer lugar, se imponen requisitos técnicos elevados a ASE. ASE es un técnico experto con profundos conocimientos prácticos y teóricos en diversas áreas y diversa experiencia con diferentes lenguajes y entornos de programación y en diferentes áreas de negocio. Esto es con lo que se encuentra todos los días: escribe código y lo hace excepcionalmente limpio, utilizando EngX ( Engineering Excellence) o, en otras palabras, las mejores prácticas de ingeniería y enfoques de codificación, pruebas, etc. Al mismo tiempo, puede verificar la arquitectura o simplemente actuar como consultor técnico en el proyecto. La clave es concentrarse en construir el producto o sistema final y comprender los aspectos del ciclo de vida de su operación (rendimiento, seguridad, escalabilidad, etc.).



imagenDenis Chichmarev, uno de los miembros del grupo de trabajo de desarrollo de ASE: “En general, se trata de habilidades, conocimientos y experiencia en la resolución de problemas que no se pueden buscar en Google. Se necesita mucho conocimiento teórico y experiencia práctica para resolver problemas que nadie ha resuelto antes ".



Se entiende que un ingeniero avanzado no debe tanto liderar como ser capaz de liderar un equipo de ingenieros, ser un líder técnico fuerte, no solo señalar la solución final correcta a un problema, sino explicar y guiar a los miembros del equipo hacia esta decisión. En otras palabras, los ingenieros experimentados son unidades independientes y es importante que sepan cómo trabajar con el equipo y ayudarlo a mejorar.



Konstantin Perikov:« ASE, (Public influence). ASE — , ( ), . , , . , .

— , - .
. ».



ASE?



Para obtener el estado de un ingeniero avanzado, debe aprobar una evaluación: este es el proceso de recopilar sus logros (una especie de cartera que los colegas evalúan) y entrevistar a otros especialistas, una discusión técnica. La comisión evalúa tanto la profundidad de las habilidades técnicas como la “influencia pública”, es decir, analiza los méritos de un ingeniero no solo en los proyectos, sino también en el entorno profesional externo.



Una parte importante de la evaluación es la tarea de prueba. El propósito de esta etapa es probar la profundidad de las habilidades técnicas, la capacidad de encontrar una solución a un problema en poco tiempo y desarrollar un prototipo de solución. En la sesión con el candidato, la arquitectura, los enfoques, los matices técnicos se discuten en detalle. Una solución de código abierto lista para usar también puede actuar como un proyecto de prueba. Las habilidades prácticas de programación se prueban a través de sesiones de codificación de entrevistas.



Todos estos requisitos se aplican también a candidatos externos.



¿Dónde se desarrollará ASE más?



: « , . , , , — .. , , .



, () — ASE (), , , , reference , .



, ASE».




: « ASE . , ++, . , , . , . , , , , .

, ASE, — , , ».




  • Advanced Software Engineer — . , , , « », — .
  • Advanced Software Engineer — , , , , . Hands-on experience !
  • Advanced Software Engineer — , . , , — , .



All Articles