7 pontos por GN⁺ 2023-12-21 | 1 comentários | Compartilhar no WhatsApp

Conselhos para desenvolvedores de software iniciantes

  • As pessoas me ouvem não por causa da minha habilidade de programação, mas por causa da minha habilidade de escrita. O mesmo vale para os conselhos de outras pessoas: acabamos ouvindo por causa da qualidade da escrita delas.
  • Há muito pouca pesquisa científica sobre software, e a maior parte das conclusões é incerta. É preciso desconfiar um pouco de alegações sobre a “verdade objetiva” e pensar com cuidado em como aplicá-las à sua própria situação.
  • Não se preocupe demais em aprender algo errado ou ser enganado; se houver uma ideia de que você gosta, recomendo tentar. Desde que isso não prejudique seus colegas, no fim tudo tende a dar certo.

Depuração: 9 regras

  • Recomendo ler o livro "Debugging: 9 Indispensable Rules". Você pode pegá-lo na biblioteca ou pedir que a empresa o compre. Ele ensina de forma simples uma habilidade importante que quase nenhum outro livro para programadores iniciantes aborda.

Descobrindo o jeito certo

  • Em algum momento, você vai achar que descobriu o jeito certo de programar e ficará convencido de que, se todo mundo usasse esse método, a área estaria muito melhor.
  • Não vou dizer para você evitar ser levado por esse “jeito certo”, mas aconselho a reconhecer que está sendo levado por ele e a não transformar sua identidade na de uma pessoa do “jeito certo”.
  • Com o tempo, você vai aprender que programar é um trabalho frustrante e bagunçado, independentemente de qual “jeito certo” se use, e que é possível criar um software excelente mesmo sem ele.

A história por trás das melhores práticas

  • Sempre existe uma história de terror por trás de uma melhor prática. Se você não entende uma melhor prática, pode ajudar procurar a história de terror que a inspirou.
  • Muitas melhores práticas e convenções surgem de uma mistura de fatores históricos e culturais. Muitas vezes seguimos métodos que mentores usaram para resolver problemas que já nem são mais relevantes.

Experimentar diferentes tipos de programação

  • No início da carreira, se possível, recomendo experimentar diferentes tipos de programação. Isso não significa trocar de emprego, e a maioria das empresas já faz vários tipos de programação ao mesmo tempo.
  • Ao experimentar diferentes tipos de programação, além do que você aprende, você aumenta as chances de descobrir de que tipo de trabalho com software realmente gosta.

Mudanças na área de software

  • A área de software continua mudando, e aconselho a não se deixar levar pela esteira de frameworks, focando em aprender habilidades fundamentais.
  • Existem razões estruturais pelas quais a informação se espalha rapidamente em software. Internet, open source, conferências e afins reduzem as barreiras para compartilhar ideias.
  • Muitas tecnologias têm apenas um pequeno número de usuários, mas a forma como ouvimos falar delas pode fazê-las parecer amplamente adotadas. É por isso que uma abordagem conservadora faz sentido.

Opinião do GN⁺

  • O ponto mais importante deste texto é o processo de aprender e crescer como desenvolvedor por meio das suas próprias experiências. Os conselhos dos outros podem servir de referência, mas no fim o importante é aplicá-los à sua realidade.
  • Encontrar o “jeito certo” de programar é uma jornada pessoal, e por meio dela é possível desenvolver a capacidade de aprender e combinar diferentes abordagens.
  • Entender as mudanças na tecnologia e adotar uma abordagem racional em relação a novas tendências é essencial para uma carreira de desenvolvimento sustentável.

1 comentários

 
GN⁺ 2023-12-21
Opinião do Hacker News
  • Resumo do primeiro comentário:

    • Compartilha uma experiência de colaboração com dois desenvolvedores em um projeto de hobby.
    • Expressa frustração com exigências excessivas de engenharia, apesar de o projeto ser pequeno.
    • Apresenta uma visão crítica sobre desenvolvedores que insistem no "jeito certo".
    • Menciona que também teve experiências parecidas no passado, mas percebeu que o que realmente importa é código que funcione.
  • Resumo do segundo comentário:

    • Um profissional de software com 15 anos de experiência compartilha sua vivência.
    • Sente que lições aprendidas em sua formação inicial no budismo também foram úteis no desenvolvimento de software.
    • Explica lições obtidas com sua experiência como desenvolvedor e enfatiza a importância de não se apegar apenas ao método correto.
  • Resumo do terceiro comentário:

    • Afirma que aprender técnicas como TDD (Test-Driven Development) é útil, mesmo que nem sempre sejam usadas diretamente.
    • Enfatiza que aprender várias técnicas e linguagens pode ensinar a escrever código melhor.
  • Resumo do quarto comentário:

    • Aponta que a obsessão com o "jeito certo" pode atrapalhar o crescimento do desenvolvedor.
    • Supõe que a causa pode ser falta de atenção necessária para expandir o conhecimento ou conforto excessivo com a posição atual.
  • Resumo do quinto comentário:

    • Aconselha minimizar todas as formas de estado (state), como código, informações a serem lembradas e detalhes do projeto.
    • Argumenta que minimizar o estado ajuda na resolução de problemas.
  • Resumo do sexto comentário:

    • Menciona que boa habilidade de escrita pode impactar mais os leitores do que conhecimento especializado.
    • Aconselha experimentar diferentes tipos de trabalho e aprender sobre outras funções dentro da empresa.
  • Resumo do sétimo comentário:

    • Enfatiza que é preciso ter uma postura cética em relação ao que se aprende em serviços de compartilhamento de vídeo como o YouTube.
    • Relembra que o desenvolvimento de software serve para resolver problemas e aconselha conversar com outras pessoas para entender melhor os problemas que o software deve resolver.
  • Resumo do oitavo comentário:

    • Recomenda um livro sobre debugging e menciona que ele ajuda a resolver vários problemas técnicos.
    • Avalia que o livro é fácil e interessante de ler, além de oferecer técnicas úteis.
  • Resumo do nono comentário:

    • Enfatiza que escrever código em si não é o objetivo, mas um meio de resolver problemas.
    • Aconselha focar no problema que o código deve resolver e, se isso não estiver claro, parar de escrever código e esclarecer o problema.
  • Resumo do décimo comentário:

    • Menciona que boa habilidade de escrita ajuda na comunicação com outras pessoas e é importante para desenvolvedores de software.
    • Recomenda a desenvolvedores iniciantes que escrevam sobre suas experiências e pensamentos, pois isso será uma habilidade útil no futuro.