Uma conversa começou com os colegas sobre o constante aprimoramento de um programador em seu tempo pessoal. Você precisa executar o tempo todo apenas para permanecer no local. Eu mesmo amo esse negócio e, apesar da presença de três filhos, consigo abordar novos conceitos. Mas muitas pessoas estão cansadas de correr por aí e podem ser entendidas.
Veja, por exemplo, o mundo do frontend. Com conhecimento de JavaScript há cinco anos, agora você não consegue encontrar um bom emprego. Agora, o RequireJS + Grunt não funcionará, você precisa conhecer o React, Webpack, ES moderno ou TypeScript, etc. E no próximo ano muito se tornará obsoleto.
Ao mesmo tempo, nem sempre é possível obter novos conhecimentos no trabalho, porque muitas vezes há toneladas de legado (se algum produto é cortado por um longo tempo - isso é inevitável) que ninguém copia “de moda”.
O que fazer? Faça projetos de animais à noite? Ou tente mudar a direção do desenvolvimento para uma mais estável ao longo do tempo?
Especialmente, essa pergunta surge entre os programadores com crianças. Como permanecer relevante no mercado a longo prazo sem gastar todo o seu tempo pessoal nele?
Vá para o manual
Vantagens:
- Às vezes, basta conhecer a tecnologia no topo (depende do tipo de liderança, líder da equipe, líder técnico, CTO etc. - responsabilidades completamente diferentes)
- Você pode escolher a pilha tecnológica por conta própria.
Desvantagens
- Talvez seja possível não conhecer os detalhes das tecnologias apenas para a gerência de nível superior. Um simples líder de equipe deve saber tudo, você não pode chegar a lugar nenhum. O líder técnico deve saber melhor.
- Este trabalho não é para muitos. Gerenciar pessoas é uma profissão completamente separada que não tem nada a ver com programação. Muitos aspiram por lá, mas, mal tendo tentado, retornam felizes ao código.
Se uma das qualidades encorajadas de um programador simples é a super concentração em uma tarefa difícil, então aqui está o contrário: você geralmente manipula tarefas sem realmente se aprofundar na implementação (simplesmente não há tempo para isso). - Mesmo se você selecionar a pilha, não fará mudanças radicais no projeto (reescrever do PHP para Rust), porque ainda não haverá recursos para isso. Quando você é responsável por todos os "técnicos", entende isso mais do que nunca.
Ir para empresas superstíveis ou regulamentadas
Eles dizem que até agora em algum lugar dos bancos e da indústria do petróleo estão sendo cortados no Java 7 e não conhecem a dor. E esse trabalho lá por mais 100 anos.
As desvantagens também são óbvias: tédio, burocracia. Bem, se de repente uma empresa estável morrer de repente, e isso também acontecer, será difícil no mercado de trabalho com o java 7.
Línguas meio mortas
Existem lendas sobre os programadores da COBOL e seus salários desumanos. Eu acredito bastante: embora a demanda seja pequena, não há oferta alguma. Ninguém irá aprender cobol.
Desvantagens: idiomas antigos são terríveis e ferramentas para eles são terríveis. As perspectivas não são claras, é bem possível que o idioma morra até o fim.
Desenvolver o núcleo de um banco de dados ou Linux
Existem produtos para todos os tempos, onde as pessoas viram algo lá em C há vinte anos e serraram.
Entre as deficiências, vale ressaltar que escrever com segurança em C não é fácil e nem todo mundo gosta de gerenciamento manual de memória. Talvez um dia a Rust ocupe esse nicho, embora certamente não na próxima década.
Não existem tantas vagas em C puro, e geralmente significa a presença de um grande número de outros conhecimentos além do idioma.
Mudando a mentalidade do empregador
Isso é de uma série de sonhos, mas ainda assim.
Se uma pessoa conhece três idiomas e duas bases, quanto tempo ele precisa para começar a escrever na quarta? Muito poucos No entanto, nas vagas, eles escrevem algo como um mantra: "experiência em java a partir de três anos". Sugiro que os empregadores escrevam o seguinte: "experiência em java a partir de três anos ou a conclusão de uma tarefa de teste". Você deveria ir, não damas.
Vou jogar um pouco no ventilador: um php-shnik com dez anos de experiência que conhece bem o POO e, digamos, escreveu texto datilografado, pode facilmente mudar para java. Lá, até as palavras-chave são as mesmas: classe, interface, extensões, implementos etc. Os princípios do SOLID são exatamente os mesmos.
E talvez em 2-3 meses ele não escreva nada pior do que uma javista de trabalho de 3 anos de idade. Como você já sabe escrever consultas SQL complexas, conhece o padrão HTTP, sabe como fazer layout, JavaScript e muito mais. É claro que existem 100.500 nuances, multithreading etc., mas se você se acostumar com a solução de problemas em 10 anos, lidará com qualquer coisa, deixe-me ver o manual.
No início, alguém deve bater as mãos, mas isso ainda não é comparável a um iniciante completo na profissão.
Mudança de atividade
Existem muitas atividades diferentes relacionadas ao desenvolvimento: consultoria, advogado do desenvolvedor e outras coisas. Se o idioma estiver suspenso, por que não?
Você pode começar seu próprio negócio e fazer qualquer coisa. A verdade e o risco máximo: 9 em cada 10 iniciativas desse tipo geralmente se esgotam. Bem, o auto-desenvolvimento geralmente também é uma prioridade aqui)
Mudança constante de trabalho
Se você mudar de emprego uma vez por ano ou dois, estará definitivamente em demanda no mercado. Estudei React em um trabalho, Postgres em outro, etc. No entanto, também existem muitas deficiências. Uma carreira é mais difícil de construir; o tempo todo que você precisa para criar um novo time e chefes; terá que explicar nas entrevistas por que você é um "panfleto"
Maneira de compromisso
Se não podemos resolver o problema, podemos enfraquecê-lo. Por exemplo, para modernizar pelo menos uma parte do código do produto etc., porque às vezes você pode encontrar mudanças que são benéficas para os negócios. Bem, também nas pequenas coisas: mudar do Grunt + RequireJS para o Webpack + ES Imports é uma questão de um dia e você pode usar o JavaScript moderno com segurança.
Gerenciamento de tempo
Se aprender coisas novas é interessante, mas não há tempo, muitas vezes você pode criar alguma coisa. Por exemplo, tento ir a São Petersburgo de trem (moro perto de Pavlovsk). Isso leva cerca de 40 minutos e volta. É bem possível fazer alguns "tomates" em um tópico interessante. Bem, ou apenas leia um livro. Agora, por exemplo, estou escrevendo este artigo)
Se estou viajando de carro, tento ouvir podcasts temáticos para ampliar meus horizontes.
Em vez de saída
Este artigo não é uma tentativa de ensinar a viver no estilo de artigos estúpidos, à la "7 maneiras de ficar rico sem fazer nada". Pelo contrário, eu adoraria aprender algo útil com os comentários. Então seja bem vindo!