Quase todo desenvolvedor pergunta como ele deve desenvolver suas habilidades e qual direção de crescimento escolher: vertical - ou seja, para se tornar um gerente ou horizontal - pilha completa. Muitos anos de trabalho em um produto, ao contrário dos mitos, não são uma limitação, mas uma oportunidade útil. Neste artigo, compartilhamos a experiência do nosso desenvolvedor de back-end Alexei, que dedicou 6 anos de certificação e viajou para o arquiteto durante esse período.

Quem é arquiteto?
Um arquiteto em TI (liderança técnica) é um desenvolvedor de alto nível que lida com problemas globais em projetos de TI. Ele mergulha nos processos de negócios do cliente e ajuda a resolver seus problemas com a ajuda de tecnologias, além de determinar como esse ou aquele sistema de informações será organizado.
Esse profissional precisa não apenas entender as áreas individuais, mas também ver todo o processo:
- Definindo uma tarefa de negócios.
- Desenvolvimento, incluindo programação, preparação, armazenamento e processamento de dados.
- Implantação e suporte de infraestrutura.
- Teste.
- Implantar.
- Análise e manutenção.
Isso significa a capacidade de se colocar no lugar de qualquer especialista ou equipe no ciclo de vida do desenvolvimento, de dentro para entender o estado atual dos sistemas, identificar os erros cometidos, formular metas. Às vezes - executar a intervenção cirúrgica pessoalmente.
O caminho do desenvolvimento profissional de desenvolvedor para arquiteto leva muito tempo - geralmente vários anos. Para isso, o desenvolvedor precisa de habilidades práticas e conhecimento da teoria, o que pode ser confirmado pela certificação internacional.
Mais de 5 anos em um projeto - uma rotina ou uma oportunidade de crescimento?
Alguns anos atrás, começamos a trabalhar em um grande sistema de TI médica para um cliente estrangeiro. Nesse projeto de larga escala, havia alguns problemas:
- acesso limitado;
- prod instável;
- sprints incrivelmente esticados e longa coordenação.
"É hora de atualizar as qualificações", um dos principais desenvolvedores Alexei chegou a essa decisão para superar essas dificuldades e entender melhor o sistema.
Alexey compartilhou sua experiência sobre como iniciar o treinamento, quais certificados é importante obter, como e por que fazer.
Etapa 1: atualizar o inglês
As linguagens de programação são um componente fundamental do desenvolvimento, mas as linguagens de comunicação não são menos importantes. Especialmente nas comunicações com o cliente que fala inglês!
Da prática
Um belo dia, um funcionário do cliente ligou para Alexey. Então, nosso desenvolvedor ainda não podia se orgulhar de vários certificados - nem em tecnologia, nem em gerenciamento, nem em comunicações. Talvez eles não sejam úteis - porque você pode ser um especialista competente sem mais recursos. Mas o problema ainda surgiu.
Você deve entender que a linguagem falada é radicalmente diferente da escrita. Se você conhece bem as especificações em inglês, mas não pratica ouvir e falar, temos más notícias para você. Nesse caso, conversas telefônicas com parceiros podem levar a um beco sem saída.
Alexey na ligação captou algumas palavras conhecidas, mas o discurso da colega era tão rápido e diferente da pronúncia clássica das aulas de áudio que a principal essência de suas perguntas passou por algum lugar. Por polidez e falta de vontade de complicar a situação, Alex rapidamente concordou com todas as sugestões.
Escusado será dizer que, no processo de trabalho, foram feitas descobertas desagradáveis? Nosso desenvolvedor subscreveu algo que ele absolutamente recusaria conscientemente se a proposta fosse apresentada em uma linguagem clara.
Naquele momento, ficou claro que as habilidades de escutar e falar são simplesmente necessárias. A melhor maneira de fazer isso era através da certificação.
Certificação em inglês
Para melhorar a comunicação no âmbito do nosso projeto médico, Alex estudou de uma só vez em vários programas. Como resultado, ele passou na certificação do FCE - First Certificate, em inglês. Isso ajudou a começar a ouvir o cliente e transmitir seus pensamentos para ele.
Lifehack:
Evite programas básicos de treinamento de inglês. A habilidade deve ser direcionada. Se você precisa de inglês para comunicação comercial, é necessário fazê-lo. Só não vá ao extremo e tome o CAE (certificado em inglês avançado). Sua peculiaridade são palavras sofisticadas, expressões específicas que quase nunca são usadas na comunicação internacional.

Etapa 2: certificação em toda a pilha de tecnologia
Inicialmente, o projeto foi baseado na tecnologia de mapeamento objeto-relacional ORM. A equipe de desenvolvimento do cliente estava orgulhosa de sua ideia, porque tudo foi feito usando conceitos avançados, é difícil e legal.
No entanto, problemas no produto - em particular, o servidor SQL constantemente congelado - não eram incomuns. Chegou ao ponto de que a solução típica para o problema era reiniciar o serviço. O cliente ligou para o líder da equipe e disse que estava na hora de reiniciar. Finalmente, decidimos encerrá-lo.
O cliente queria determinar o desempenho do sistema - para isso, era necessário implementar perfis e realizar otimizações regularmente. Naquela época, aproximadamente em 2015, o Ants Profiler foi escolhido como uma ferramenta de criação de perfil, mas se mostrou mal. Com poucos detalhes, era difícil obter informações sobre um bloco crítico de código. No detalhe máximo, o Ants Profiler começou a alterar o código para que o desempenho dos sistemas estivesse em risco - onde a criação de perfil era configurada, tudo simplesmente caía. Portanto, mudamos a abordagem.
Começamos analisando estatísticas
Ao analisar as estatísticas de vendas, ficou claro que 95% do trabalho no servidor possui uma lógica de negócios primitiva de 4 linhas. Para eles, uma consulta SQL foi suficiente, e não o conjunto completo de consultas geradas pelo bloco de lógica de negócios com o ORM.Alex propôs e implementou um procedimento armazenado para mover tarefas sem ORM. A ideia contradiz o paradigma usual do projeto, o líder da equipe a conhece com cautela, mas o cliente aceita tudo e solicita a implementação. Isso não foi surpreendente, porque o novo método permitiu reduzir os atrasos no processamento do produto de quatro horas para vários minutos - uma média de 98 vezes.
No entanto, ainda tínhamos dúvidas: esta é a decisão certa ou uma questão de preferências pessoais? A crença no onipotente C # e ORM foi abalada por acaso, o que mostrou todo o poder de soluções simples.
Segundo caso
A equipe escreveu uma solicitação para trabalhar com dados dentro da estrutura do paradigma ORM, compilada de acordo com todas as regras, sem erros. Seu processamento levou 2-3 minutos, e esses parâmetros pareciam aceitáveis. No entanto, uma implementação alternativa usando as seleções e visualizações mais simples forneceu o resultado mais rapidamente - em 2 segundos.
Tornou-se óbvio que estava na hora de escolher um especialista que será certificado em toda a pilha do projeto para entender todas as nuances e escolher o melhor método. Essa tarefa foi realizada por Alexey.
Primeiros certificadosPara entender a essência, Alex passou por
várias certificações da Microsoft que cobriam toda a pilha tecnológica do projeto:
- TS: Desenvolvimento de Aplicativos Windows com Microsoft .NET Framework 4
- TS: Acessando dados com a programação do Microsoft .NET Framework 4 em C #
- TS: Desenvolvimento de aplicativos Windows Forms do Microsoft .NET Framework 3.5
- PRO: projetando e desenvolvendo aplicativos do Windows usando o Microsoft .NET Framework 3.5
- PRO: projetando e desenvolvendo aplicativos baseados no Windows usando o Microsoft .NET Framework
- TS: Microsoft .NET Framework 2.0 - Desenvolvimento de clientes baseado no Windows
Tentando otimizar o trabalho em um novo projeto, a equipe chegou às seguintes conclusões:
- Para que os sistemas funcionem, você deve seguir as regras para escrever código: não recuos e comentários, mas especificações técnicas - o número de chamadas para os bancos de dados, a carga no servidor e muito mais.
- O uso de conceitos conflitantes é repleto de problemas. O conceito de banco de dados é teoria dos conjuntos, enquanto ORM é o conceito de operações.
- Ideias que perturbam a ordem usual das coisas podem encontrar resistência em uma equipe. Desenvolvimento também é um relacionamento e a capacidade de discutir o ponto de vista de alguém.
- A certificação amplia a mente e permite que você entenda o que você pode usar e o que não pode usar.

Etapa 3: aprender mais do que apenas código
Ao trabalhar em soluções de TI em larga escala, muitos fatores são importantes. Por exemplo, nem todo desenvolvedor presta atenção aos parâmetros de rede - mas mesmo sua largura de banda pode afetar a solução de um problema de negócios.
A compreensão disso é dada pela
certificação da série 98 :
Eles permitem que você dê uma olhada mais ampla nas coisas e saia do conceito limitado de "somente código". Estes são os Fundamentos, o básico, mas são importantes para entender tudo em um nível mais profundo.
As certificações da série 98 são pequenos testes - 30 perguntas por 45 minutos.
Etapa quatro: Gerenciamento de processos
Trabalhar com clínicas é um evento mais responsável do que, por exemplo, criar um jogo para celular. Aqui você não pode adicionar um recurso e implementá-lo no produto - é importante seguir o processo de coordenação e fazer inúmeras alterações do cliente, porque a saúde e a vida das pessoas estão em risco.
O Agile típico não produziu os resultados desejados neste projeto e cada sprint durou o suficiente. As implantações ocorreram de 6 meses a um ano.
Além disso, era tecnicamente impossível levar os processos de dez clínicas atendidas a algum denominador comum.
Para obter o resultado mais rapidamente nessas condições, os desenvolvedores precisavam de responsabilidade pessoal e uma visão em larga escala dos processos - e, portanto, uma concentração constante de atenção e alta qualificação.
Quando um especialista está imerso no processo, ele vê claramente os resultados, causas e efeitos, todo o cenário. Isso é ao mesmo tempo um fator de motivação e conscientização adicionais, melhorando a capacidade de resolver problemas e problemas.
Com uma infraestrutura bem estabelecida, arquitetura bem construída e código ideal, uma pessoa pode assumir muitos processos. No entanto, isso não significa que é necessário cultivar soldados universais capazes de liderar o projeto sozinhos. Comunicação e trabalho em equipe são críticos.
Na equipe, cada desenvolvedor entende que os colegas dependem de suas ações. Economizar 5 minutos no estágio de desenvolvimento é provavelmente 5 horas adicionais de teste. Para entender isso, é importante estabelecer comunicação.
Em nosso projeto, os
certificados do EXIN serviram de auxílio para dominar os processos de Alexey:
- Certificado M_o_R Foundation em Gerenciamento de Riscos
- Fundação ágil de scrum
- Fundação de Gerenciamento de Serviços de TI
- Fundação de Gerenciamento de Informações Empresariais EXIN
- Certificado PRINCE2 Foundation em Gerenciamento de Projetos
- Certificado de engenheiro de teste
- Microsoft Operations Framework Foundation
- Projetos de serviços ágeis
No edX, foram realizados cursos que ajudaram a analisar o sistema do ponto de vista das estatísticas e da programação lean e, posteriormente, solicitaram a obtenção de
um certificado de arquiteto :
- Produção enxuta
- Six Sigma: Analise, Melhore, Controle
- Six Sigma: Definir e Medir
De acordo com o princípio Seis Sigma, o controle estatístico fornece um resultado qualitativo com uma probabilidade extremamente alta.
Elevando seu nível, o desenvolvedor, em regra, chega às seguintes conclusões:
- Trabalhe não muito, mas com eficiência.
- Não complique a vida na busca do exterior: tecnologias sofisticadas não necessariamente resolvem melhor os problemas.
- Faça amizade com especialistas em todas as etapas do ciclo e descubra suas dores. O arquiteto deve possuir os processos: identificação do problema, declaração do problema, design da topologia da rede, desenvolvimento, teste, suporte, operação.
- Verifique todos os recursos de e para.
- Acontece que os processos de TI não correspondem aos processos de negócios, e isso deve ser combatido.

Etapa 5: entender a arquitetura através do prisma do Big Data
No projeto, estávamos lidando com bancos de dados bastante grandes. Pelo menos, parecia até certo ponto. Quando Alex começou a estudar big data no edX, descobriu-se que 1,5 TB no projeto era um pequeno banco de dados. Balanças sérias - de 10 Tb e outros métodos são necessários lá.
O próximo passo para a certificação foi o Curso de Big Data. Ele ajudou a entender a organização do fluxo de dados e acelerar as operações no produto. E preste atenção também às pequenas ferramentas, por exemplo, comece a usar o Excel para resolver microssacas individuais.
Certificado:Microsoft Professional Program: Certificado de Big Data

Etapa 6: do desenvolvedor ao arquiteto
Depois de receber todos esses certificados, enquanto ainda desenvolvedor, Alexei começou a perceber que as informações recebidas tinham um alto nível de abstração, e isso estava longe de ser ruim.
Uma visão de processos em larga escala leva ao nível de um arquiteto, um dos mais altos níveis de certificação.
Em busca da certificação do arquiteto, Alex foi para o
Certified Software Architect - Microsoft Platform da Sundblad & Sundblad. Este é um programa reconhecido pela Microsoft, seu desenvolvimento começou há 14 anos com a colaboração da sede e dos escritórios suecos da empresa. Ele abrange o .NET Framework, coleta de requisitos, gerenciamento de fluxo de informações e muitos outros problemas de alto nível e é considerado uma forte confirmação das habilidades do arquiteto.
O programa incluiu cursos para estudo. A certificação sistematizou o conhecimento e permitiu entrar em uma nova rodada de desenvolvimento - do desenvolvedor ao arquiteto.

Resumir
Como observa Alexey, no processo de trabalhar com um sistema de TI em larga escala, é importante lembrar que a programação não é um entretenimento caro, mas uma ferramenta para resolver problemas de negócios. Diante de um desafio específico, você deve definitivamente prescrever um valor comercial para que o projeto não pare.
O arquiteto tem uma visão especial da programação e de seus componentes elementares:
- Criando e / ou suportando fluxo de dados
- Recuperando um fluxo de informações com base em um fluxo de dados
- Recuperando um fluxo de valor com base em um fluxo de informações
- Monetização do fluxo de valor
Se você olhar o projeto através dos olhos de um arquiteto, precisará começar do final: formule o valor e depois vá até ele através do fluxo de dados.
Um arquiteto segue as regras de design com uma visão global para o projeto. Chegar a isso através da prática e dos próprios erros é quase impossível - mais precisamente, é possível, mas por muito tempo. A certificação permite ampliar seus horizontes e analisar o contexto completo de cada pergunta, familiarizar-se com a experiência de milhares de profissionais e desenvolver a habilidade para resolver problemas de maneira eficaz.
Hoje, trabalhamos com o sistema médico acima há mais de cinco anos e fizemos melhorias significativas. Durante esse período, Alex passou em mais de 20 exames de certificação:
- TS: Desenvolvimento de Aplicativos Windows com Microsoft .NET Framework 4
- TS: Acessando dados com a programação do Microsoft .NET Framework 4 em C #
- TS: Desenvolvimento de aplicativos Windows Forms do Microsoft .NET Framework 3.5
- PRO: projetando e desenvolvendo aplicativos do Windows usando o Microsoft .NET Framework 3.5
- PRO: projetando e desenvolvendo aplicativos baseados no Windows usando o Microsoft .NET Framework
- TS: Microsoft .NET Framework 2.0 - Desenvolvimento de clientes baseado no Windows
- 98-361: Fundamentos de desenvolvimento de software
- 98-364: Fundamentos de banco de dados
- Certificado M_o_R Foundation em Gerenciamento de Riscos
- Fundação ágil de scrum
- Fundação de Gerenciamento de Serviços de TI
- Fundação de Gerenciamento de Informações Empresariais EXIN
- Certificado PRINCE2 Foundation em Gerenciamento de Projetos
- Certificado de engenheiro de teste
- Microsoft Operations Framework Foundation
- Projetos de serviços ágeis
- Produção enxuta
- Six Sigma: Analise, Melhore, Controle
- Six Sigma: Definir e Medir
- Microsoft Professional Program: Certificado de Big Data
- Arquiteto de software certificado - Plataforma Microsoft

Depois de passar em todos os exames, Alex passou de desenvolvedor líder a arquiteto de projeto. Além disso, a certificação se tornou uma ferramenta poderosa para o desenvolvimento profissional e a construção de uma reputação aos olhos do cliente.
A “ram de certificação” ajudou a obter acesso a processos críticos individuais que precisavam ser monitorados e desenvolvidos. Como regra, os clientes europeus de soluções de TI valorizam muito os especialistas certificados e estão prontos para lhes dar mais liberdade de ação.
Obrigado pela atenção! Esperamos que você ache este artigo útil.