Ao infinito e além. História do Engenheiro de Software Avançado

Se você imaginar uma carreira típica de desenvolvedor, como é? Provavelmente, um especialista passará por todos os estágios, de Junior a Lead ou Chief. E depois? Já falamos muito em nosso blog que na EPAM um engenheiro tem condicionalmente duas maneiras - ir para o Solution Architect (SA) ou se tornar um gerente (Delivery, Resource, Project). Mas, para alguns, nenhum deles satisfeito. Como resultado, descobriu-se que desenvolvedores talentosos estavam presos em uma posição e, independentemente de como eles se desenvolveram e se aprofundaram na tecnologia, seu talento permaneceu despercebido. No ano passado, a empresa abriu um novo caminho no mapa de carreira - Advanced Software Engineer (ASE).







Claro, o papel do ASE não é uma palavra nova em TI. Em algumas empresas, incluindo supermercados, onde um sistema de classificação é usado, você pode encontrar essa função (geralmente chamada de Desenvolvedor Principal). Para entender melhor quem é ASE, o que eles fazem e por que a empresa precisa deles, perguntei aos engenheiros "avançados" da primeira onda o que significa ser ASE. Vou te contar tudo em ordem.



Quem é ASE?



Em primeiro lugar, este é um engenheiro que possui algum tipo de expertise única e profunda, embora possa rapidamente entrar em um projeto com qualquer tecnologia, podemos dizer que é um engenheiro Multi-skill ou Cross-stack. Agora está na moda chamá-lo de modelo em T, uma abordagem quando um engenheiro tem algum tipo de área profunda, mas nada o impede de entendê-la e ajudar a equipe a consertar um pequeno bug no front-end, por exemplo.



Konstantin Perikov trabalha na EPAM há 3 anos, desenvolve sistemas de recuperação de informação - construindo vários motores de busca, trabalha com motores de código aberto: Lucene, Solr, ElasticSearch. Ele foi um dos primeiros a receber o status de Engenheiro Avançado em Busca Corporativa.



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

ASE SA — , . , . ».


imagem , Senior Solution Architect, 8 EPAM, .

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

Um Engenheiro Avançado não precisa ser um palestrante em todas as conferências, ele simplesmente sabe mais do que os outros e faz coisas que ninguém mais pode fazer. "


Por que ASE?



Principalmente para resolver problemas complexos de engenharia. O mercado muda, as decisões mudam, elas se tornam mais complexas. Além de profundas habilidades técnicas, o ASE possui habilidades avançadas de resolução de problemas. Além disso, o ASE é capaz não apenas de resolver o problema, mas de prever e prevenir sua ocorrência. Uma espécie de guru-preditor técnico.



Isso se aplica não apenas à solução de problemas pontuais, mas também ao planejamento global. A implicação é que ter uma grande experiência deve permitir que uma pessoa tire conclusões, para onde a tecnologia está caminhando, quais serão as tendências no próximo ano, que solução pode ser oferecida aos clientes no futuro.



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



ASE?



Dentro da EPAM, foi desenvolvida uma matriz de competência, que especifica os requisitos para engenheiros em cada nível.



Em primeiro lugar, elevados requisitos técnicos são impostos ao ASE. ASE é um especialista técnico com profundos conhecimentos práticos e teóricos em diversas áreas e experiência diversificada em diferentes linguagens de programação e ambientes e em diferentes áreas de negócio. É isso que ele encontra todos os dias - escreve código e o faz excepcionalmente limpo, usando EngX ( Excelência em Engenharia) ou, em outras palavras, as melhores práticas de engenharia e abordagens para codificação, teste, etc. Ao mesmo tempo, ele pode verificar a arquitetura ou simplesmente atuar como consultor técnico no projeto. A chave é focar na construção do produto ou sistema final e na compreensão dos aspectos do ciclo de vida de sua operação (desempenho, segurança, escalabilidade, etc.).



imagemDenis Chichmarev, um dos membros do grupo de trabalho de desenvolvimento ASE: “Em geral, são habilidades, conhecimento e experiência na solução de problemas que você não pode“ pesquisar no google ”. É preciso muito conhecimento teórico e experiência prática para resolver problemas que ninguém resolveu antes. "



Entende-se que um engenheiro avançado não deve tanto liderar, mas ser capaz de liderar uma equipe de engenheiros, ser um forte líder técnico, não apenas indicar a solução final correta para um problema, mas explicar e conduzir os membros da equipe a essa decisão. Em outras palavras, engenheiros experientes são unidades independentes e é importante que saibam trabalhar com a equipe e ajudá-la a se tornar melhor.



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

— , - .
. ».



ASE?



Para obter o status de engenheiro avançado, você precisa passar por uma avaliação - este é o processo de coletar suas realizações (uma espécie de portfólio que os colegas avaliam) e entrevistar outros especialistas, uma discussão técnica. A comissão avalia tanto a profundidade das habilidades técnicas quanto a “influência pública”, ou seja, olha os méritos de um engenheiro não apenas nos projetos, mas também no ambiente profissional externo.



Uma parte importante da avaliação é a tarefa de teste. O objetivo desta etapa é testar a profundidade das habilidades técnicas, a capacidade de encontrar uma solução para um problema em um curto espaço de tempo e desenvolver um protótipo de solução. Na sessão com o candidato, arquitetura, abordagens e nuances técnicas são discutidas em detalhes. Uma solução Open Source pronta também pode funcionar como um projeto de teste. Habilidades práticas de programação são testadas por meio de sessões de codificação de entrevistas.



Todos esses requisitos se aplicam a candidatos externos também.



Onde o ASE se desenvolverá mais?



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



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



, ASE».




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

, ASE, — , , ».




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



All Articles