O que pensam os programadores seniores?

O autor do material, cuja tradução publicamos hoje, apóia a idéia de Ralph Waldo Emerson de que nos tornamos aquilo em que pensamos. Aqui falaremos sobre o modo de pensar dos programadores seniores.



É impossível aprender absolutamente tudo


Há uma enorme quantidade de tecnologia. É impossível estudá-los todos.

Encontre a pilha de tecnologia que melhor combina com você. Escolha as tecnologias que permitem criar o que você precisa e estude-o completamente. Por exemplo, se você estiver interessado em desenvolvimento web moderno, a pilha MERN seria uma boa opção. Inclui MongoDB, Express, React e Node.js. Essas tecnologias são para quem gosta de JavaScript.

Existem, é claro, outros conjuntos de tecnologias. Por exemplo, a pilha MEAN. Aqui, em vez de React, Angular é usado para desenvolver o frontend. Entre outros conjuntos de tecnologias que podem ser dominados, vale destacar, por exemplo, uma combinação de PHP, MySQL, HTML e CSS. Aqui, o frontend usa HTML e CSS puro. Se você estiver interessado no desenvolvimento de servidores, preste atenção ao Ruby e Ruby on Rails.

A idéia principal aqui é a seguinte: o que você escolher, é melhor seguir essa opção e aperfeiçoar seu conhecimento no campo relevante. Não se torne, por assim dizer, o “aprendiz de todos os ofícios”, um desenvolvedor que não alcançou domínio em nada concreto. Isso leva a andar em círculo, e isso claramente não é o que você precisa.

Os desenvolvedores não são apenas pessoas com documentos educacionais relevantes


Eu sou um desenvolvedor autodidata. No meu negócio, consegui graças a uma combinação de trabalho duro, paciência, persistência, concentração.

O fato de que, para se tornar um desenvolvedor, não é necessário se formar em uma universidade, não significa que o desenvolvimento seja simples. Tornar-se um desenvolvedor não é fácil. E, ao avançar em direção à meta, você não deve considerar o fim de tudo uma pequena derrota a todo custo. É tudo sobre lutar por um objetivo.

Se, diante das dificuldades causadas pela falta de educação básica, desistir, é claro que nada será alcançado. O segredo é que, depois que algo der errado, tente novamente. É fazer mais uma tentativa e manter a linha sempre, todos os dias, todas as vezes, quando parece que tudo já está perdido. Quando esse sentimento surge, quando parece que é o fundo, é preciso lembrar que isso geralmente é um sinal de que o objetivo está quase atingido, que resta muito pouco. Nesses casos, você apenas precisa se oferecer para tentar novamente e transformar obstáculos em oportunidades.

A maioria das pessoas ao primeiro sinal de fracasso está pronta para abandonar imediatamente seus objetivos e intenções. E apenas muito poucos lutam até o fim, desprezando todas as dificuldades, até atingirem seu objetivo.

Napoleon Hill

Aprenda a arte de pesquisar online


Agora que você começou a programar, saiba que terá a sensação de que tudo o que faz é inútil. É normal não saber as respostas para todas as perguntas, especialmente quando você está apenas começando sua jornada. É importante saber onde procurar respostas.

A programação é uma solução para problemas. Se você não conseguir pensar em como resolver o problema que está enfrentando, encontre uma maneira de resolvê-lo na Web. Pesquise na Internet alguém que saiba como resolver o problema que está enfrentando e aprenda com ele. Esta é exatamente a melhor maneira de aprender programação.

Aqui está um conselho valioso para você: todas as tarefas na esfera de programação que o confrontam hoje provavelmente já surgiram antes dos programadores. Não reinvente a roda. É melhor pegar essa roda, já inventada por alguém, e usá-la.

Os prazos tendem a quebrar


Por melhor que seja o plano, avaliar os prazos sempre é muito difícil. Existem várias estratégias usadas pelas empresas no gerenciamento de projetos. Acredito que a mais popular dessas estratégias é o Agile.

Não importa o quão detalhado seja o processo de desenvolvimento. No decorrer do trabalho, sempre haverá alguns obstáculos. Não importa quão bons os membros da equipe sejam, de analistas de negócios a especialistas em qualidade de software. A data limite para a conclusão é sempre imprecisa. Esta data terá que ser movida. Os prazos são sempre apenas aproximados. Na maioria dos casos, em grandes empresas, ao desenvolver aplicativos corporativos, é normal aumentar os prazos em alguns meses.

Mas se estamos falando de pequenos projetos feitos para pequenas empresas, os prazos para a entrega desses projetos já são mais rigorosos. Se você planeja se envolver em um projeto de terceiros, durante as negociações, os clientes costumam fazer a pergunta sobre quando tudo estará pronto. Alguns representantes comerciais não estão interessados ​​em como os negócios serão realizados. É importante que eles saibam apenas o prazo para a conclusão do projeto.

Portanto, tenha cuidado ao nomear datas e definir prazos. Geralmente aqueles com quem você está falando consideram esses prazos inalterados. É melhor confiar no fato de que o trabalho levará mais tempo do que o planejado. Estamos falando de resolver problemas inesperados, depuração e outras coisas assim. É melhor surpreender o cliente com a entrega do projeto antes do prazo do que perturbar, quebrando o prazo. Em geral, como se costuma dizer, mantenha a marca.

A depuração é 60% do trabalho e a programação é 40%


Talvez a ideia apresentada no título seja a estimativa mais precisa da distribuição de tempo do programador que me deparei.

Passo a maior parte do tempo depurando. O último projeto que minha equipe desenvolveu foi um aplicativo Android para um cliente de assistência médica. Usamos React Native. Eu estava envolvido no frontend deste projeto.

Suponha que em um mês demorou cerca de 10 dias para criar a parte do cliente do aplicativo. O resto do tempo foi gasto em depuração, na luta contra erros. Por exemplo - com erros causados ​​por dependências e incompatibilidade de diferentes versões de diferentes pacotes.

Este foi o meu primeiro projeto para a plataforma Android. As semanas foram gastas apenas para depurar algumas partes do aplicativo e verificar se elas estão organizadas exatamente conforme necessário, incluindo o uso de determinadas versões de dependências nelas.

Criar um aplicativo é interessante e agradável. Mas a depuração é difícil e até muito longa. Mas nenhum lugar para ir. Isso faz parte do trabalho do programador.

Quero dar aqui uma recomendação sobre a mentalidade dos programadores seniores. Se você está enfrentando o mesmo problema sem sucesso, digamos, por uma hora, tente fazer uma pausa. Faça outra coisa, liberte sua mente ... Às vezes nós mesmos somos a fonte dos problemas que enfrentamos.

Você fingirá que sabe muitas coisas, embora, de fato, não saiba


Eu também fiz isso. Por exemplo, vários colegas discutiram algumas das tecnologias que eles usavam ou novas tecnologias nas quais eles estavam interessados. Ao ouvi-los, eu consenti e me comportei como se tivesse um bom entendimento do que estava sendo discutido. Mas na verdade não era assim. Na verdade, quero transmitir a você a ideia de que isso é normal e que você não está sozinho nisso.

Há uma enorme quantidade de tecnologia. Não é realista entender todas essas tecnologias.

Não me lembro. Esforce-se para entender


Tenho prestado muita atenção à importância de aprender o básico da programação.

Inicialmente, o treinamento consiste em copiar código de tutoriais, de repositórios e de outros lugares. Isso é normal, mas desde que a pessoa que copia o código o entenda. Se você não entender o código, a cópia em si não ensinará nada.

Após vários meses desses estudos, uma compreensão mais profunda do que começará a vir. Ou seja, uma pessoa começará a aprender construções de código sintático e alguns princípios de programação. Então deve chegar o momento em que, sem aviso prévio, resolverá alguns problemas. Requer os esforços conscientes de alguém que está aprendendo a programar. Ou seja, você precisa resolver problemas criando o próprio código, usando sua própria abordagem para resolver problemas, seu próprio estilo, suas próprias idéias.

O ponto aqui não é gastar muito tempo copiando o código. Não tenha medo de resolver independentemente vários problemas. O caminho da tentativa e erro ensinará mais do que copiar e colar, por isso vale a pena executar tarefas e trabalhar nelas até que o que parecia complicado comece a parecer simples e compreensível. É claro que isso levará tempo, mas isso é programação.

Documentação é a sua salvação


Você, no futuro, agradecerá hoje pelo código bem documentado.

Ao iniciar a programação, você trabalhará lentamente em alguns projetos. Em seguida, mais alguns projetos serão adicionados a eles. E então você se perde.

E então será assim. Você está trabalhando no projeto nº 11, e o chefe, inesperadamente, lembra o projeto nº 2. Você precisa continuar trabalhando neste projeto. O projeto nº 2 é agora o seu negócio mais importante. E, há um ano, o projeto nº 2 foi adiado indefinidamente.

Ninguém lhe disse que o projeto nº 2 pode se tornar importante novamente, portanto você não teve o cuidado de criar documentação para este projeto. Como resultado, quando você retornar ao seu código, provavelmente esquecerá alguns detalhes importantes de sua implementação. E a coisa mais desagradável aqui é que você disse ao seu chefe que o projeto nº 2 estava 60% pronto. Portanto, eles darão apenas algumas semanas para concluir.

Na verdade, a moral dessa fábula é a seguinte: você precisa dedicar tempo para documentar todos os projetos que cria. A documentação salva vidas.

Esteja preparado para o fato de que você precisa aprender constantemente


Este é um pensamento muito importante.

O fato de você ter dominado perfeitamente vários idiomas ou alguma pilha de tecnologia usada não significa que você não tem nada a aprender. Há muitas coisas que você precisará estudar. As tecnologias estão se desenvolvendo e você precisa acompanhá-las. Não seja vítima da falácia de que o que você sabe hoje será relevante em dez anos. Isso não vai acontecer.

Continue a aprender, esforce-se para aprender mais, para se tornar melhor. O fato é que o desenvolvimento web é aprendizado contínuo. Penso que aqui reside todo o encanto deste assunto quando você tenta não perder a chance de aprender algo novo e interessante.

Oportunidades vêm e vão. Eles podem aparecer por um momento e, em um instante, podem ser perdidos. Portanto, esteja preparado para agir. Esteja preparado para enfrentar a oportunidade quando ela bater à sua porta.

Que idéias você acha que ajudam os programadores a crescer profissionalmente?


All Articles