
Existem duas maneiras principais de se tornar uma alta gerência nas empresas de TI:
- Gerencial - quando um gerente de projeto começa a gerenciar outros gerentes.
- Tekhnarsky - quando um desenvolvedor começa a gerenciar outros desenvolvedores e o número de funcionários que ele gerencia aumenta.
A primeira maneira é mais natural, pois implica o desenvolvimento das qualidades básicas de um gerente à medida que ele cresce. De fato, o gerente continua sendo o gerente, tornando-se apenas um especialista em um nível superior.
O segundo caminho é mais longo e não garante sucesso, pois é contrário à essência do programador introvertido. No entanto, neste caminho, gostaria de me concentrar e compartilhar experiências e conhecimentos.
Atenção, spoiler.
- Todos os nomes são fictícios
- A narração está mais relacionada ao desenvolvimento personalizado.
- É difícil avaliar formalmente as habilidades, e especialmente as habilidades leves, todos os gráficos deste artigo são condicionais e refletem minha opinião pessoal
O começo do caminho do programador
Então, estamos no começo do caminho do programador.
Conheça: Nikolai (nome alterado). Nikolai é um jovem programador, estuda bem na universidade e já tentou escrever sites simples. Ele entrou no estúdio para a posição de front-end de junho, foi colocado em um projeto que foi escrito por dois anos usando o moderno Angular framework versão 1.5. O garoto de Kolya não trabalhou com ele, mas ele viu um cifrão familiar e ele já conseguiu escrever alguns plug-ins para o jQuery. Esse fato encorajou Nicholas, mas os camaradas disseram a ele que isso não era o jQuery e, em geral, você precisa escrever uma diretiva aqui, mas aqui dois filtros precisam ser feitos. Nikolay está deprimido, mas está determinado a se juntar a este projeto.
E agora que um ano se passou, Nikolai habilmente escreve diretivas e não passa um dia sem um novo módulo. Kohl em um cavalo, o otimismo é acrescentado a ele pelo fato de seis meses atrás um jovem junho foi plantado nele para um projeto, e ele nem sabe o que é a diretiva. Filhote de cachorro! Nikolai fez amizade com camaradas mais velhos, e apenas um homem de 30 anos no canto está sempre insatisfeito com alguma coisa.

Na verdade, nos gráficos, vemos as habilidades técnicas do projeto e todas as habilidades de Nicholas que ele possui. Como este é seu primeiro projeto, na verdade isso é tudo o que Nikolai sabe. Depois de um tempo, ele vai às autoridades e pede dois sacos de dinheiro - porque ele habilmente cria diretrizes para o projeto e, em geral, ele considera que deixa na RM duas vezes mais comentários do que o homem de 30 anos. Obviamente, ele é melhor que o líder de sua equipe. Ele recebe uma recusa completamente razoável a isso e começa a procurar um novo emprego, talvez esteja pensando em mudar para outro projeto ou para outra equipe. De qualquer forma, ele se depara com uma situação em que o conhecimento recém-adquirido não é mais relevante e ele precisa aprender mais.

Esta é a primeira crise de Nikolai, "O efeito do primeiro projeto".
Em um novo local, Nikolai recebe um projeto no Angular 5, bem, ele habilmente escreve diretivas! Mas lá ele vê algum jogo! O que mais é TypeScript? O que são RxJs e threads? Os camaradas mais velhos riem dele e o homem de 30 anos lança olhares desagradáveis. Eu vi um número enorme de estrelas e muita queda de estrelas, quando o desenvolvedor percebeu que ele ainda não sabia de nada! E quanto mais cedo isso acontecer, melhor. Isso é chamado de Dunning - Efeito Krueger - uma distorção metacognitiva, que consiste no fato de que pessoas com um baixo nível de qualificação tiram conclusões errôneas, tomam decisões sem êxito e são incapazes de reconhecer seus erros devido ao baixo nível de suas qualificações.

June, que substituiu de 3 a 4 projetos em um ano, é muito preferível para o empregador em relação a June, que ficou sozinho no mesmo projeto por um ano, porque ele:
- Avalia objetivamente seus conhecimentos e habilidades.
- Em constante evolução
- Comunica-se mais na equipe
- Ele entende mais o preço de um erro porque viu mais prazos e lançamentos.
Os colegas que estavam nesse estágio gostariam de desejar o seguinte:
- Não desanime quando você falhar
- Aprender e aprender constantemente novas bibliotecas e tecnologias
- Não estrelar
Júnior → Médio → Sênior
Bem, alguns anos se passaram e o que vemos?

Nikolay já dominou várias estruturas e percebeu que elas são apenas uma ferramenta para resolver problemas específicos. Ele aguentou o fato de não saber tudo, mas ao mesmo tempo tenta se desenvolver o tempo todo. Em algum momento, ele chega ao jovem líder de equipe de 33 anos e diz: Escute, Petya (o nome mudou), alguns dzhuns chegaram até nós, eles não sabem nada e lentamente executam tarefas no projeto. Deixe-me dar-lhes algumas palestras ou master classes, para que possam se juntar rapidamente ao nosso trabalho. E é neste momento que Nikolai passa para o próximo nível.
Agora há uma divisão em Júnior, Médio, Sênior. Middle acha que, para se tornar um Signor, ele precisa dominar uma nova linguagem de programação e apertar seu equipamento. Isto não é inteiramente verdade. No início do desenvolvimento doméstico, havia uma posição semelhante à Signor, ela era chamada de programadora líder - essa especialista não apenas sabe muito, mas também lidera projetos ou uma equipe. O signor não pode se tornar sem habilidades pessoais apropriadas.
Nikolay aprendeu a encontrar abordagens para todos os membros da equipe, ele está constantemente desenvolvendo e desenvolvendo o resto. Ele já viu as "estrelas do primeiro projeto", mas fica muito mais confortável trabalhando com os mesmos profissionais que ele. Afinal, eles entendem que o sucesso do projeto é o sucesso de todos, e a punção de um membro da equipe afeta todos os participantes.
Nesse estágio, são possíveis duas maneiras: ser um artista simples, não forçar e resolver tarefas; o segundo é desenvolver na direção de um programador líder, assumir responsabilidade e iniciativa.
Nesta fase do desenvolvimento do programador, a equipe e a gerência apreciam suas qualidades:
- Responsabilidade
- Confiabilidade
- Sociabilidade
- Proatividade
Onde vale a pena desenvolver?
- Compreensão profunda das tecnologias que ele usa
- Ampliando os horizontes
- Assumir a responsabilidade por projetos e pessoas
Além disso, as habilidades do último parágrafo devem ser aprimoradas se ele quiser se desenvolver ao longo da curva até a cabeça. Se ele não estiver interessado, podemos nos concentrar nas habilidades de um especialista técnico.
Crise tecnológica
Em algum momento, Nikolai fica horrorizado ao perceber que ninguém já está escrevendo em JS, e a maior parte de seu conhecimento não é necessária para ninguém. É assim que a crise tecnológica se instala. Eu encontrei uma crise com aplicativos de desktop. Um pouco depois, simplesmente os codificadores não eram mais necessários para ninguém - as renderizações de front-end começaram a ser necessárias em todos os lugares. Então, o PHP ficou abruptamente fora de moda e os desenvolvedores de JS tornaram-se necessários no mercado.

Existem três saídas:
- Treinar novamente para uma nova pilha
- Torne-se melhor no antigo e agarre nas últimas ordens. O mesmo Delphi ainda é procurado em círculos estreitos com uma enorme quantidade de código legado
- Deixe na gerência as habilidades apropriadas
Especialistas fortes sempre serão necessários, mas, com uma diminuição na demanda por uma determinada tecnologia, a concorrência entre os candidatos aumenta. O desenvolvimento personalizado sofre, nessa extensão, mais do que o desenvolvimento de produtos. Tendo se estabelecido em uma grande empresa de alimentos, um desenvolvedor pode não ter medo da idade ou obsolescência de sua pilha de tecnologia - ele será procurado enquanto o produto estiver vivo. De acordo com minhas estatísticas, a idade média dos desenvolvedores nas empresas de alimentos é maior que nos estúdios.
TeamLead. Crise de idade
Bem, a Nikolay mudou a pilha de tecnologias, e tudo parece estar bem, mas vemos que novas habilidades estão sendo dadas mais lentamente, e a geração mais jovem está alcançando mais rapidamente.

Aí vem a última crise - a crise da idade.
Nicholas tornou-se um daqueles líderes de equipe que ele considerava vários anos atrás como idosos, sempre resmungando e descontente, mas agora começou a escrever menos.
Você pode pensar que, se escrever menos código, se desenvolverá mais lentamente, e os que escrevem mais se desenvolverão mais rapidamente, e logo o alcançarão. Eu conheci essa fobia entre jovens especialistas.
Que opções podem existir:
- Se você trabalha em uma empresa de supermercado, provavelmente isso não é tão crítico para você, e você pode deixar tudo como está.
- Vá para o treinamento, por exemplo, para se tornar consultor, arquiteto etc.
- Taki vai à gerência
Vamos para as curvas
Satisfação. Nem sempre está no topo, nem sempre são encontrados projetos de alta qualidade, e é difícil escolher e educar a equipe ideal.

Estou certo de que, apesar da queda na satisfação, é preciso sempre permanecer humano. Eu digo que, se os prazos do projeto estiverem em vigor e todo mundo ficar por aí, muito nervosismo não ajudará o caso. A equipe ficará muito mais confortável trabalhando com pessoas que não o decepcionarão em momentos críticos.
As habilidades técnicas são adquiridas relativamente rapidamente e esquecidas ainda mais rapidamente e tornam-se obsoletas, se vistas de lado.

Acontece que o programador tem seu pico de desenvolvimento e então começa a "envelhecer", e em algum momento é hora de ele se aposentar?
Sim e não De fato, em vez de um único gráfico, você pode desenhar 3 (novamente IMHO, como os valores).

- habilidades técnicas - esse conhecimento está em tecnologia, linguagem de programação, estrutura. Você se lembra do que escrevi anteriormente que o líder da equipe começa a escrever menos código e mais controle? Essas habilidades têm seu pico precisamente no momento da maior demanda por um especialista no papel de codificador.
- hard skills é uma combinação de conhecimento e experiência do desenvolvedor, com o tempo, seu crescimento diminui devido ao fato de que o conhecimento antigo já está se tornando obsoleto e não está em demanda, mas é o resíduo seco que permanece útil.
- habilidades pessoais são precisamente aquelas qualidades pessoais que não podem ser contadas, mas que precisam ser desenvolvidas. Essas são qualidades que são sempre importantes, mas em graus variados são dadas a todos desde o nascimento.
Mas vamos adicionar outro gráfico
value = (0,5*tech + 1*hard + 1,5*soft)/3

, , 10 .
, .
, ? « , — » , . , , , , . , , .
HR- . , . , . : , , , ( , ).
2
, :
Junior → Middle → Senior → TeamLead? → Project manager? → Head Of * → Chief * Officer
?
, : . , : , .

TechLead vs TeamLead
, (, ), .
TeamLead ( 1 ) — , . :
-
- ,
- ( )
- , .
- TechLead PM
TechLead ( 2 ) — . , TeamLead, , .. 2 .
— TechLead, TeamLead:
- , , ,
- — , , —
- ,
- PM
- TeamLead,
, , , ( ), .
— , , , , , , , - .
, , , , , . , .
( , , ) , , .
, :
, , , , - « ». : , , .
/ , , : , ..
, — . , . ,
, , .