
Quando comecei a aprender a codificar, acreditava que os velhos idiotas com seu mantra "a linguagem de programação não é importante". Eu tive a idéia de uma correção - ser um desenvolvedor que possa fazer qualquer coisa. Um cara que traz a experiência de usar uma tecnologia para outra e supera os detalhes. Mas esse empreendimento falhou miseravelmente.
A idéia da correção é saber tudo
Estudei C # e .NET com diferentes aplicativos (asp.net, wpf, xamarin), js / ts (react / redux, node) e me convenci de que agora posso realmente fazer qualquer coisa. Eu abstraí, penso em vários paradigmas de programação ao mesmo tempo e tenho conhecimento prático em todos os aspectos do desenvolvimento profissional de software. Você pode começar a zombar com segurança desses idosos de quarenta anos de uma tecnologia, que passaram metade de suas vidas com o que posso compreender em uma semana. Pode-se argumentar que a imersão na área de assunto é para idiotas que querem trabalhar a vida inteira em um só lugar, enquanto eu me abstraio.
Tudo ao redor é o mesmo, e eu vi um padrão. Agora, quando preciso trabalhar em algum python ridículo, digo: “Dê-me um tempo para uma leitura rápida das especificações e estou pronto para trabalhar com essa merda no nível sênior. Bem, no final, poderia ser tão complicado que eu ainda não vi? Então eu criei um culto de negligenciar detalhes. Deixe os jones rastejarem em detalhes, que não podem ser abstratos.
Lacunas no conhecimento não são óbvias e invisíveis
Uma vez comecei a desenhar classes abstratas em typeScript, e elas zombaram de mim. Porque no roteiro eles não fazem isso. Claro, fingi que meus colegas eram apenas idiotas. Isso geralmente ajudou, mas desta vez houve um resíduo.
A reputação de um bom desenvolvedor esconde suas lacunas tanto dos colegas quanto de você mesmo. Você não conhece um grande número de coisas críticas críticas, mas não vê isso apenas porque não sabe.
Então a faixa preta começou. Foda-se! Não sei quais são os tipos de índice no SQL. Bam! Esqueceu quando o construtor estático nos objetos cortantes é chamado. Opa! Não consigo implementar corretamente o IDisposable sem o Google. Estou tentando transformar um estado em um componente de reação.
Suspeitei que minha abstração não estivesse funcionando. Que as tecnologias ainda são diferentes e os detalhes são importantes. Cada ecossistema tecnológico possui suas próprias práticas recomendadas. A experiência em .NET não prejudicará ao trabalhar com a jvm, mas não a substituirá. Minha habilidade auto-designada “eu aprendi a aprender rápido” acabou sendo falsa. Estudei não mais rápido que todos os outros. E demorei muito para entender.
Minha habilidade acabou sendo um comboio - um cisne, câncer e lúcio tentaram arrastá-lo em direções diferentes. Eu não me tornei automaticamente o senhor em tudo. Acabei de me tornar multidraw, motivo de chacota para os idosos de quarenta anos de uma tecnologia. E então cheguei à conclusão de que escolher um caminho de pilha cheia é um erro.
E então começa a auto-flagelação
O problema é que as empresas precisam de pilhas completas. Não apenas como eu, mas os Signatários em tudo, caras que têm cinco anos de experiência em cada uma das tecnologias de pilha completa.
Mas isso não acontece, e o negócio continua se enganando. Eles tomam um meio fraco nas três principais tecnologias e o chamam de desenvolvedor sênior de pilha cheia. Este título transforma uma pessoa em um impostor e se torna uma fonte inesgotável de um complexo de inferioridade. Qualquer desenvolvedor comum que se atrapalhe em uma tecnologia - se diverte melhor. E agora entendo bem que não estou pronto para trabalhar em equipe em pé de igualdade com pessoas que remexem muito melhor que eu. Caso contrário, depois de uma semana vou morrer de autoflagelação.
A auto-flagelação é um grande problema em nossa indústria, mas estamos tratando-a incorretamente. Nós escrevemos manifestos um para o outro, que somos dartanyanos, e tudo ao redor é uma cabra. Que não há desvalorização dos idosos, simplesmente nos subestimamos, que precisamos jogar humildade no lixo e acreditar em nossa deusa interior do desenvolvimento. Que precisamos puxar a pele da arrogância e mandar embora todos os que duvidam de nós.
E você apenas tem que admitir que o desenvolvimento é difícil não apenas para pessoas de fora, mas também para nós. Não saber algo no momento é normal. Se você tem uma lacuna, isso não significa que você vale menos dinheiro e precisa ser expulso do deserto.
Mas nos níveis mais profundos de reflexão, a autoflagelação permanece em nós. Os buracos se mordem por não conhecerem profundamente a tecnologia. Especialistas de uma etapa - que eles não conhecem amplamente.
Aprender em profundidade vs aprender em profundidade
Aqui está um conflito antigo: você pode estudar em profundidade, mas pode ampliar, mas não os dois ao mesmo tempo. Percebi esse efeito - quando você começa a estudar uma nova tecnologia, a antiga se torna desinteressante. Mas em TI, se você não atualizar seu conhecimento de tecnologia ao longo do ano, não será mais relevante.
Se você deseja permanecer com a pilha cheia, deve forçar-se a ler as notas de versão de alguns TypeScript, ao mesmo tempo em que também as experimenta nos negócios - mesmo que não queira. Além disso, você ainda será inacessivelmente pior do que o desenvolvedor que escreve exclusivamente no script todos os dias.
O principal problema deste conflito é que não sabemos qual é o melhor. Nós, e principalmente os negócios, queremos isso e aquilo. Tudo isso remexia em tudo e remexia fundo o suficiente.
O que é melhor, não sei, mas sei como é ser uma pilha completa nesse caminho. Você precisará gastar muito mais tempo aprendendo do que os desenvolvedores de um idioma. Isso continuará ao longo de sua carreira, mas comparado a eles, seu nível ainda será mais baixo.
Você será seu em todo lugar, mas em todo lugar entre estranhos. Apesar de seus enormes esforços, todo especialista em um idioma específico provará com espuma na boca que você não é digno de ser chamado de idoso.
Você se tornará o meio eterno.
Pessoalmente, decidi que não tinha volta. Posso estudar uma coisa muito profundamente, posso tentar entrar na gerência - é aí que apenas o conhecimento superficial é necessário - mas é melhor ficar no meu caminho e sofrer até aprender realmente tudo sobre tudo.