Há muito debate sobre o que vale a pena aprender uma linguagem de programação para fazer carreira no campo do desenvolvimento. Mas estou profundamente convencido de que a linguagem do conjunto de conhecimentos necessário não é limitada. Infelizmente, nem todo mundo entende isso.

Nas discussões de tarefas, empresas e desenvolvedores falam idiomas diferentes.
Do ponto de vista dos negócios, não importa em que idioma sua tarefa será resolvida. Os negócios não pensam e talvez nem mesmo conheçam java, go, ruby e outras linguagens e tecnologias. É ótimo para os desenvolvedores, é claro, quando um projeto interessante e em larga escala começa do zero e a pilha de tecnologia é selecionada pela equipe. Mas no mundo real, com muito mais frequência esse não é o caso. Normalmente, uma empresa já possui experiência em uma determinada pilha, que os executivos de TI não querem recusar. Os motivos podem ser completamente diferentes, desde a proibição do “zoológico de tecnologia” às preferências pessoais dos tomadores de decisão. Existem fatores adicionais, como a necessidade de tecnologias interessantes para as equipes, a fim de atrair e reter pessoal qualificado.
Por sua parte, os desenvolvedores geralmente expressam o desejo de se desenvolver em uma determinada pilha tecnológica. Essa intenção é reforçada pela grande diferença entre salários para alguns idiomas. Portanto, existem pessoas que vivem muito, por exemplo, no quadro de Java ou Python (Go, Kotlin, Scala ... a lista continua indefinidamente) e até Delphi, sem tentar ver o que mais existe.
Na minha opinião, o desejo de ir mais fundo é meritório. Mas às vezes “a floresta está perdida atrás das árvores” - no processo desse mergulho, o especialista simplesmente esquece que a tecnologia é apenas uma ferramenta para resolver seus problemas para os negócios. Como resultado, a cegueira em uma pilha tecnológica completa com perfeccionismo congênito ("vamos refatorar por seis meses para um projeto que não tem planos de desenvolvimento sérios, simplesmente porque será bonito") não reflete da melhor maneira a qualidade das decisões tomadas.
O que quero dizer é que uma linguagem de programação específica é secundária. O entendimento primário dos princípios de desenvolvimento e a capacidade de resolver problemas de negócios são primordiais - conhecimento de abordagens e padrões que ajudam a sistematizar o trabalho geral, a experiência de usar várias técnicas, incluindo as de equipe. Com essa bagagem, não é difícil dominar mais um idioma necessário nesse projeto em particular. Diante de meus olhos, há muitos exemplos de como as pessoas estão se treinando para outras pilhas durante o mês - dois treinamentos intensivos. Obviamente, é mais difícil alternar entre linguagens com paradigmas diferentes, por exemplo, de funcional para orientado a objetos, mas aqui nada é impossível se uma pessoa não se opõe a essa troca "no nível da fé".
Conhecendo vários idiomas, para cada tarefa de negócios específica, você pode escolher sua própria abordagem para resolver - uma que não é apenas adequada, mas será ideal nesse caso específico. E quanto mais o arsenal do desenvolvedor tiver uma base dessas abordagens (idiomas), maior será a visão do problema e mais motivada a pilha selecionada. É exatamente disso que a empresa precisa - para obter a solução mais adequada para suas tarefas.
Mas com um profundo conhecimento de um idioma, mas sem a capacidade de resolver problemas de negócios, um especialista se beneficiará muito de qualquer equipe. É claro que, em projetos individuais, um profundo conhecimento das "fichas" da linguagem ajuda a equipe como um todo a obter maior desempenho. Porém, mais frequentemente, um membro da equipe que conhece um idioma, mas não consegue ouvir os negócios, apenas desacelera os colegas. A propósito, esse “guia de caminhada para oportunidades não óbvias” é frequentemente, se necessário em uma equipe específica, apenas um (tiramos conclusões sobre a demanda por especialistas tão restritos no mercado de trabalho).
A capacidade de resolver problemas de negócios faz parte de uma essência mais global - experiência de trabalho abrangente. Você pode obtê-lo com o empregador e como parte de projetos domésticos. É verdade que, na minha opinião, apenas projetos de negócios (onde existem clientes, orçamentos, prazos) podem fornecer feedback tão necessário em tais situações, avaliando a qualidade da solução. Ou seja, isso determina a profundidade da experiência adquirida. Simplesmente não há ninguém para obter esse feedback dos projetos domésticos: você mesmo faz alguma coisa e, em um determinado momento, decide por si mesmo que fez bem. É aqui que tudo termina. Porém, quando o projeto for implementado para os negócios, uma solução insuficientemente desenvolvida será enviada para revisão,
depois, novamente e novamente, se necessário. E no decorrer dessas iterações, você inevitavelmente aprenderá várias abordagens para o problema - obterá uma compreensão de um nível superior.
Um dos componentes da capacidade de resolver problemas de negócios é entender essa mesma tarefa. E como muitas vezes os desenvolvedores russos participam de projetos estrangeiros, é necessário conhecimento do idioma inglês para esse entendimento. Nesse caso, nem sempre você pode confiar na análise de negócios, pois não há bons especialistas nessa área no mercado.
Uma melhor compreensão dos negócios ajuda a imersão em um setor. Quando você não apenas cria um módulo abstrato que recebe, processa e envia pacotes de dados para um destino desconhecido, mas implementa, digamos, uma parte de um complexo sistema de cobrança ou sistema bancário, onde existem diferentes tipos de usuários, padrões e outros recursos. Conhecer esses detalhes é muito valioso. Essa imersão ensina você a se interessar pelo que está acontecendo em torno de sua parte da tarefa. Isso ajuda a encontrar a melhor solução. Conheço especialistas que nunca irão trabalhar em uma tarefa que não está clara por quê. E em algumas áreas do desenvolvimento de negócios para desenvolvedores, é fornecido treinamento interno obrigatório, porque sem imersão, em princípio, um trabalho eficaz não funcionará.
Como uma pequena adição a uma melhor compreensão dos problemas de negócios, recomendo participar de conferências específicas do setor. Lá, os palestrantes compartilham suas experiências sobre como solucionaram um problema de negócios usando a tecnologia de TI. Muitas vezes, a partir daí, você pode obter informações úteis sobre a direção a seguir. Embora, é claro, ninguém precise repetir a experiência dos outros em detalhes.
Não estou dizendo que todo desenvolvedor deve cuidar de tarefas de negócios. June só entra nesse círculo; no estágio inicial, leva muito tempo para se comunicar com os colegas e aprender a resolver um problema específico. Não há tempo para ampliar os horizontes. Mas a partir do meio, a experiência anterior forma um entendimento de qual lado abordar tarefas de um determinado tipo. Nesse estágio, não há mais perguntas sobre o ecossistema de desenvolvimento - quando e quais status definir, como responder a revisões de código etc. O especialista começa a lidar com tarefas desconhecidas mais rapidamente - aqui é a hora de "puxar" o componente de negócios. De fato, o idoso do meio é distinguido por esse entendimento de abordagens para resolver problemas comuns de negócios. E o desejo por esse entendimento ajuda a avançar para o próximo nível mais rapidamente.
Portanto, exorto a estabelecer metas para o desenvolvimento simultaneamente em duas direções. Por um lado, aprenda idiomas e, por outro, ganhe experiência na solução de problemas comerciais específicos. E nesse desenvolvimento é necessário manter um equilíbrio, caso contrário, será bastante difícil encontrar um lugar no mundo dos idosos. Mas onde exatamente o desenvolvimento - em relação a um arquiteto, um desenvolvedor ou líder de equipe muito forte - depende das ambições e qualidades pessoais (trabalho em equipe, responsabilidade, sociabilidade, etc.) de um especialista em particular.
O que você acha disso?
Autor do artigo: Sergey Marina
PS Publicamos nossos artigos em vários sites do Runet. Assine nossas páginas no
canal VK ,
FB ou
Telegram para descobrir todas as nossas publicações e outras notícias do Maxilect.