Dicas para melhorar no desenvolvimento de software

Software

Como você continua melhorando como engenheiro de software? Alguns conselhos são válidos não importa o seu nível de experiência, mas muitas vezes o conselho vai depender de onde você está em sua carreira.

Se você é um iniciante, o melhor conselho é simplesmente aprender seu idioma, frameworks e ferramentas de cima para baixo e ganhar mais experiência com uma variedade de projetos diferentes.

Se você é um desenvolvedor de software experiente, você deve constantemente tentar encontrar novas maneiras de otimizar o seu código para a legibilidade, desempenho e manutenção, e então praticar decisões bem fundamentadas sobre onde focar o tempo e os recursos em seu código-quer seja teste, otimização de desempenho, ou outra dívida técnica.

Esses são alguns dos temas que você vai encontrar se você pedir engenheiros de software veteranos para compartilhar seus melhores conselhos para ser um grande programador. Não há segredos bem guardados. O conselho de muitos dos desenvolvedores mais bem sucedidos está prontamente disponível para você em blogs e fóruns.

Eu peguei os conselhos mais ilustrativos e dicas recorrentes de blogs e fóruns e organizei-os em cinco categorias que surgiram à medida que eu os compilei. Eu parafraseei e fundi várias dicas semelhantes em fragmentos únicos, e eu também deixei alguns conselhos como citações intocadas de seus autores.

Se você tem cinco, dez, ou vinte anos de programação de experiência—ou se você tem quase nenhuma experiência-eu acho que apenas sobre cada desenvolvedor vai encontrar algumas boas idéias para auto-aperfeiçoamento.

Domínios, arquitetura e concepção

Os melhores programadores podem pegar um problema complexo, quebrá-lo em pedaços menores, resolver cada uma dessas peças, e então colocar tudo de volta juntos para resolver o problema inicial.

O Software significado é apenas uma ferramenta para resolver problemas de domínio. Uma vez que é necessário em quase todos os domínios, desenvolver em um que lhe interessa. Se você entender bem um domínio e é apaixonado por ele, você será um desenvolvedor muito melhor, mais motivado. Você também será exponencialmente mais valioso e lucrativo para as empresas que contratam em seu domínio escolhido.

Não deixes que um domínio te separe numa forma de codificar. Um exemplo seria um desenvolvedor móvel que é principalmente bom em juntar APIs existentes, mas não pode chegar a uma representação de dados. Não sejas um pônei de um só truque.

Planeie o seu código para longe do computador. Vai ajudá-lo a construir um modelo mental claro antes de começar. Você usa a mesma estratégia por escrito, porque se você não tem um esboço, seu conteúdo se torna um fluxo confuso de consciência.

Como arquiteto, você não pode ter pontos cegos em sua compreensão de suas aplicações e seus ambientes de execução. Você precisa saber como as coisas funcionam no front end (UI), no back end, na data store, no SO, em todas as camadas de virtualização, no hardware, na rede e no data center.

Não deixes que nada atrapalhe essa motivação inicial para aprender a programar e construir algo. Às vezes você se bloqueia por ter muito foco em ler livros ou Recursos primeiro. Outras vezes os iniciantes vão tentar encontrar a primeira linguagem perfeita. A tua primeira língua não importa. O que importa é aprender a programar bem. Começa a codificar.

Aprenda múltiplos paradigmas de programação, tais como programação orientada a objetos, programação funcional, programação reflexiva, etc. Acredite ou não, sua programação em um paradigma melhorará depois de estudar um paradigma alternativo.