Sobre o projeto
Professional Programming é uma lista curada e opinativa de leituras, voltada a ajudar programadores a se tornarem desenvolvedores mais proficientes. Em vez de ser exaustiva, busca manter-se leve, selecionando recursos que o autor encontrou verdadeiramente inspiradores ou que se tornaram clássicos atemporais. O autor ressalta que a inclusão não implica endosso de todas as afirmações feitas nos recursos vinculados ou por seus autores.
A lista inicia com princípios e diretrizes de contribuição, apresentando livros obrigatórios como The Pragmatic Programmer, Code Complete, Release It!, Scalability Rules, The Linux Programming Interface e SICP, além de livros gratuitos e outras coleções de livros de programação gratuitos. A seção de artigos obrigatórios inclui artigos sobre conselhos práticos para engenheiros iniciantes, ser um engenheiro sênior, lições aprendidas em desenvolvimento de software, sinais de um bom programador, verdades desaprendidas como junior, construção de bom software, o engenheiro -10x e generalistas especializados.
Material geral inclui outras listas curadas, livros como The Imposter's Handbook e The Software Engineer's Guidebook, artigos como every-programmer-should-know, a Amazon Builders' Library, awesome-falsehood, roadmaps de desenvolvedores e Teach Yourself Programming in Ten Years. As seções de axiomas e preceitos reúnem regras práticas, e os cursos apontam para o Google Tech Dev Guide, MIT's Missing Semester, coding-interview-university, Teach Yourself Computer Science e OSSU.
A maior parte do repositório é um longo índice de tópicos, abrangendo contabilidade e fintech engineering, agentic coding, algoritmos e estruturas de dados, design de API, atitude e hábitos (incluindo procrastinação), autenticação e autorização, automação, melhores práticas, vieses, negócios, buy vs. build, cache, crescimento de carreira (escolhendo oportunidades, alcançando o cargo de staff engineer), conjuntos de caracteres, xadrez, clouds, code reviews, coding e qualidade de código, comunicação, compiladores, configuração, CI, data analysis e data science, semântica de dados, bancos de dados (internos, NoSQL, Postgres), formatos de dados, data engineering, debugging, design visual e UX, modelagem OO e padrões arquiteturais, design de schema de banco de dados, simplicidade, ambiente e ferramentas de desenvolvimento, Docker, documentação, dotfiles, editores e IDEs (incluindo Vim), email, gestão de engenharia, exercícios, experimentação, fontes, programação funcional, desenvolvimento de jogos, AI generativa, gráficos, hardware, HTTP, humor, resposta a incidentes e postmortems, internet, entrevistas, Kubernetes, large language models, aprendizado e memorização, licenças, administração de sistemas Linux, low-code/no-code, programação de baixo nível e assembly, machine learning/AI, matemática, marketing, rede, observabilidade (logging, tratamento de erros, métricas, monitoramento), open source, sistemas operacionais, over-engineering, performance, gerenciamento pessoal de conhecimento, produtividade pessoal, perspectiva, privacidade, resolução de problemas, product management para engenheiros, gerenciamento de projetos, linguagens de programação (Python, JavaScript, garbage collection), paradigmas de programação, palestras públicas, leitura, refactoring, regex, releasing e deploying (versionamento, checklists, feature flags, testing in production), confiabilidade (padrões de integração, resiliência), busca, segurança, artigos de pesquisa, shell, SQL, estado, administração de sistemas, arquitetura de sistemas (padrões arquiteturais, microserviços e splitting de monolitos), escalabilidade, SRE, technical debt, testing, ferramentas, type systems, tipografia, version control com Git, ética no trabalho e equilíbrio vida pessoal/trabalho, web development e escrita e blogging.
Seções adicionais cobrem recursos e inspiração para apresentações, como se manter atualizado, conceitos e outras listas do autor. Os itens são marcados com ícones indicando o tipo de recurso (lista, livro, vídeo/palestra, slides, must-read, paper), e o README inclui uma tabela de conteúdos gerada automaticamente.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.