Confira 6 dicas de livros fundamentais para você que é desenvolvedor júnior e gostaria de ficar por dentro das principais tecnologias e melhores práticas do mercado.
Hoje em dia, existem diversas maneiras do profissional em início de carreira, como o desenvolvedor júnior, aprimorar suas habilidades em cursos online, programação em pares, bootcamps e comunidades.
No entanto, às vezes, um bom livro pode conter as respostas de que você precisa para evoluir na carreira ou até mesmo mudar a forma como enxerga o mundo.
Para te ajudar, o Gerente de Engenharia de Software da Revelo, Celso Crivelaro, selecionou cinco livros de leitura prática e interessante para você se manter atualizado sobre as principais tecnologias e melhores práticas do mercado.
Confira a seguir o conteúdo que preparamos para você!
1. The Pragmatic Programmer
Autores: Andrew Hunt e David Thomas
O livro The Pragmatic Programmer é uma ótima recomendação para quem está começando, pois é fácil de ler e entender, especialmente devido à complexidade do assunto.
Os autores são desenvolvedores experientes que avaliam seus projetos anteriores e verificam se há uma maneira melhor de fazer as coisas.
Dessa forma, o livro apresenta as melhores práticas e as armadilhas comuns de muitos aspectos diferentes do desenvolvimento de software.
Além disso, o livro inclui filosofias e conselhos que ajudarão um desenvolvedor júnior a escrever um código limpo e de qualidade, muitas anedotas divertidas, exemplos pensativos e analogias interessantes.
Confira alguns temas abordados:
- Responsabilidade pessoal e desenvolvimento de carreira;
- Técnicas arquitetônicas para manter seu código flexível e fácil de adaptar e reutilizar;
- Escreva código flexível, dinâmico e adaptável;
- Proteja seu código com contratos, afirmações e exceções;
- Teste de forma implacável e eficaz;
- Construir equipes de programadores pragmáticos;
- Torne seus desenvolvimentos mais precisos com automação.
Quais os comportamento dos top desenvolvedores de software? Poucos livros com mais de 20 anos são tão atuais como The Pragamatic Programmer.
Os autores sintetizaram comportamentos de grandes desenvolvedores como aprender continuamente, aprofundar-se nas ferramentas, tomar responsabilidade pelo seu trabalho e muitas dicas importantes seguidas pelos melhores programadores do mercado, conta o Gerente de Engenharia de Software da Revelo.
2. The Clean Coder
Autor: Robert C. Martin
O livro The Clean Coder é uma leitura fundamental, pois ensina o desenvolvedor em como ser um profissional que se adapta às situações diversas, e mesmo sob pressão, continua a fornecer entregas de qualidade.
Com o objetivo de retratar a realidade, o autor Robert C. Martin se reuniu com outros desenvolvedores para apresentar de forma usual suas melhores e mais ágeis práticas de limpar códigos dinamicamente.
Provavelmente, as lições mais importantes ensinadas na publicação são sobre como respeitar sua arte, saber quando dizer não e, por fim, como dizer não da forma adequada.
Confira alguns temas abordados:
- Como distinguir um código bom de um ruim;
- Como escrever códigos bons e como transformar um código ruim em um bom;
- Como criar bons nomes, boas funções, bons objetos e boas classes;
- Como formatar o código para ter uma legibilidade máxima;
- Como implementar completamente o tratamento de erro sem obscurecer a lógica;
- Como aplicar testes de unidade e praticar o desenvolvimento dirigido a testes.
The Clean Coder é um dos livros mais geniais do Robert Martin (conhecido como Uncle Bob) sobre como organizar o seu software de forma profissional.
Uncle Bob acerta em cheio ao trabalhar problemas corriqueiros como como dar nome as coisas, quantidade de código por classe e como lidar com exceções. A leitura se torna rápida pelo livro ser divido em pequenas dicas e heurísticas para fazer um software de alto nível, relata Celso.
Leia também:
Desenvolvedor Júnior: confira 10 vantagens em contratar
3. Test-Driven Development. Teste e Design no Mundo Real
Autor: Mauricio Aniche
Neste livro você aprenderá sobre TDD, uma das práticas ágeis de desenvolvimento de software mais populares da linguagem Java e que pode ser aplicada em qualquer outra linguagem.
De forma prática, o livro ensina a escrever um programa que testa seu programa de forma rápida, econômica, produtiva e poderá aumentar a qualidade do seu produto final.
Afinal, os testes automatizados são a melhor solução para muitos problemas comuns na área de desenvolvimento.
Em resumo, TDD faz o desenvolvedor escrever o teste antes mesmo de implementar o código. Essa inversão na maneira de se trabalhar faz com o que o desenvolvedor escreva um código mais testado, com menos erros e com mais qualidade.
Confira alguns temas abordados:
- Teste de Unidade;
- Introdução ao Test-driven Development;
- Qualidade no Código Teste;
- TDD e Coesão;
- TDD e o Acoplamento;
- Teste de Integração.
Poucos autores mudaram a minha visão de como fazer testes como fez Mauricio Anchie. Iniciando pela prática de Test-Driven Development (TDD), Anchie ensina primeiramente a como desenvolver um bom código usando testes como base.
É surpreendente é como autor demostra como os testes influenciam em uma boa arquitetura! O autor demostra com códigos simples e pequenos como os testes podem indicar problemas no seu código, conta Celso.
4. Padrões de Projetos: Soluções Reutilizáveis de Software Orientados a Objetos
Autores: Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
O livro é escrito por quatro profissionais com grande experiência em software orientado a objetos que apresentam um catálogo de soluções simples e sucintas para os problemas mais frequentes na área de projeto.
De forma simples, os autores descrevem o que são padrões e como podem ajudar a projetar o software orientado a objetos. Nesse contexto, o leitor aprenderá como esses padrões se encaixam no desenvolvimento para ajudar a resolver problemas com eficiência.
Na publicação, todos os 23 padrões foram compilados de sistemas já existentes e estão baseados em exemplos reais, incluindo códigos que demonstram a sua implementação em linguagens orientadas a objetos, como C++ e Smalltalk.
Sem dúvida, a publicação é uma ótima referência para o desenvolvedor(a) júnior, considerado um best-seller mundial.
Confira alguns temas abordados:
- Estudo de caso: Projetando um editor de documentos;
- Padrões de criação;
- Padrões estruturais;
- Padrões comportamentais.
Os Padrões de Projeto (Design Patterns) dos autores conhecidos como Gang of four (grupo dos 4) é um livro obrigatório para quem trabalha com Orientação a Objetos em linguagens modernas.
Com separação por tipo, aplicabilidade e contexto, cada padrão de projeto é catalogado e exemplificado virando um guia de consulta para você não ter que reinventar a roda padrões problemas para trabalhar com Objetos, afirma o Gerente de Engenharia de Software.
5. Refatoração: Aperfeiçoando o Design de Códigos Existentes
Autor: Martin Fowler
Uma ótima leitura para quem está começando na área de desenvolvimento, Refatoração 2ª edição apresenta um catálogo completo e atualizado das refatorações e inclui exemplos de código JavaScript.
Assim como na edição original, o livro explica o que é refatoração, por que você deve refatorar, como reorganizar um código que precisa de refatoração e como fazer isso de forma bem-sucedida.
O livro é um guia prático para desenvolvedores que desejam entender como aperfeiçoar o design de códigos existentes e melhorar a manutenibilidade do software.
Confira alguns temas abordados:
- Entenda o processo e os princípios básicos da refatoração;
- Aplique rapidamente refatorações convenientes para deixar um programa mais fácil de entender e de alterar;
- Reconheça problemas no código que sinalizam oportunidades para refatorar;
- Explore as refatorações, cada uma com suas explicações, a motivação e o mecanismo.
- Escreva testes robustos para suas refatorações;
- Reconheça as contrapartidas e os obstáculos para a refatoração.
Para Celso Crivelaro, se você trabalha a maior parte do seu dia com software escrito por outras pessoas e não sabe como fazer para melhorá-lo, este é um livro obrigatório para se ter na estante, ainda mais sendo escrito pelo formidável Martin Fowler.
Neste livro, Fowler explora em como refatorar software existente através diversos padrões e boas práticas, induzindo a melhor qualidade de código e mudanças de forma segura.
6. Trabalho Eficaz com Código Legado
Autores: Michael C. Feathers, Aldir José Coelho Corrêa da Silva
Neste livro, o ator Michael C. Feathers oferece estratégias completas para um trabalho mais eficaz com bases de código legadas grandes e não testadas.
Com base no material que criou para seus reconhecidos seminários, o autor apresenta no livro todas as técnicas que usou para ajudar centenas de desenvolvedores e gerentes técnicos a manter seus sistemas legados funcionando sob controle.
Em geral, os exemplos utilizados são nas linguagens Java ou C. Porém, as estratégias são reaproveitadas em qualquer outro projeto que utilize outra linguagem de programação e até outro paradigma.
Confira alguns temas abordados:
- Mecânica de alteração de softwares: inclusão de recursos, correção de bugs, melhoria do design, otimização do desempenho;
- Passagem do código por um framework de testes;
- Criação de testes que protejam contra a introdução de novos problemas;
- Técnicas que podem ser usadas com qualquer linguagem ou plataforma;
- Identificação precisa de onde devem ser feitas alterações no código;
- Manipulação de sistemas legados não orientados a objetos;
- Manipulação de aplicativos que pareçam não ter estrutura.
Dizem que o desenvolvedor passa mais tempo lendo código do que escrevendo. Com isto em mente, Michael Feathers utiliza várias técnicas citadas em outros livros nesta lista (TDD, código limpo, refatoração, padrões) para criar estratégias em como fazer alterações em código legado, garantindo o funcionamento completo do sistema com o mínimo de dor de cabeça, finaliza Celso Crivelaro.
Revelo: sua plataforma de recrutamento online
Na plataforma de recrutamento Revelo você encontra oportunidades de emprego para desenvolvedor júnior nas modalidades de contrato CLT e PJ.
Basta se cadastrar na plataforma Revelo, e ficar disponível para receber convites de entrevistas.
Além disso, você poderá participar do processo seletivo de forma digital, desde a entrevista até a assinatura do contrato.