gulmezbugra/pense-como-um-programador

Use quando um programador perguntar o que aprender, ou quiser livros, palestras, artigos, cursos, recursos de carreira/entrevistas ou sites de prática de codificação sobre fundamentos de software.

O que é pense-como-um-programador?

Esta skill oferece um catálogo curado de recursos técnicos essenciais para todo desenvolvedor de software, independentemente do nível de habilidade ou stack tecnológica. Baseada na lista comunitária 'every-programmer-should-know', ela cobre desde algoritmos, estruturas de dados e sistemas distribuídos até segurança, carreira e práticas de codificação. Quando um usuário pergunta sobre o que aprender, recomenda livros, palestras, artigos, cursos ou sites, ajustando as sugestões ao nível do desenvolvedor (iniciante ou experiente). A skill também fornece caminhos sugeridos (combinações do catálogo) para tópicos como preparação para entrevistas, fundamentos de CS ou sistemas distribuídos, lembrando que é um mapa, não uma lista de verificação obrigatória.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/gulmezbugra/think-like-programmer/tree/HEAD/think-like-programmer

Installed? Explore more Produtividade e Colaboração skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Pense Como um Programador

Um catálogo curado de recursos (principalmente) técnicos que todo desenvolvedor de software deveria conhecer, independentemente do nível de habilidade ou stack tecnológica. Baseado na lista comunitária em https://github.com/mtdvio/every-programmer-should-know por Alexey Migutsky e colaboradores, licenciado CC BY 4.0. O original é abertamente "altamente opinativo, não baseado em ciência" e em nenhuma ordem particular.

Quando usar

  • "O que devo aprender a seguir / o que todo desenvolvedor deveria saber sobre X?"
  • Pedidos de um livro, palestra, artigo, curso ou post sobre um tópico fundamental.
  • Explicar um conceito (ponto flutuante, fusos horários, Unicode, memória, CAP/relógios distribuídos, criptografia) e querer apontar para a leitura canônica.
  • Perguntas sobre carreira: entrevistas, negociação de ofertas, equity, trabalho remoto, currículo.
  • "Onde posso praticar programação / me preparar para entrevistas?"

Como usar

  1. Corresponda a pergunta a uma ou mais seções do catálogo abaixo.
  2. Recomende 2 a 4 recursos, não a seção inteira. Para cada um, dê uma linha sobre por que se encaixa e seu formato (livro / vídeo / artigo / paper / curso / site).
  3. Ajuste para o nível: iniciantes recebem recursos visuais ou mais suaves primeiro (Grokking Algorithms, Hello Algo, Learn X in Y Minutes); desenvolvedores experientes recebem o material mais profundo ou clássico (Introduction to Algorithms, DDIA, Lamport, Out of the Tar Pit).
  4. Se o tópico não estiver no catálogo, diga isso claramente e responda com conhecimento geral; não force um link não relacionado.
  5. Alguns links são antigos e podem ter sido movidos ou quebrados. Se o acesso à web estiver disponível e um link for importante, verifique-o antes de confiar; caso contrário, mencione que o link pode estar desatualizado.
  6. Responda no idioma do usuário; mantenha os títulos dos recursos em sua forma original.
  7. Lembre as pessoas, quando útil, que ninguém precisa saber tudo isso de cor — é um mapa, não uma lista de verificação.

Caminhos sugeridos (combinações do catálogo)

  • Novato em CC: Map of Computer Science → Computer Science Roadmap → Grokking Algorithms → Big O Cheatsheet → Floating Point Guide → Unicode and Character Sets.
  • Backend / sistemas distribuídos: Latency Numbers → Understanding Distributed Systems → Designing Data-Intensive Applications → Fallacies of Distributed Computing → Time, Clocks and the Ordering of Events → Jepsen.
  • Escrevendo código melhor: The Art of Readable Code → Clean Code / Code Complete → Working Effectively with Legacy Code → Out of the Tar Pit → Simple Made Easy.
  • Preparação para entrevistas: Tech Interview Handbook → Cracking the Coding Interview → LeetCode / Codility → How To Interview As a Developer Candidate → Ten Rules for Negotiating a Job Offer.
  • Fundamentos de segurança: OWASP Top 10 → Portswigger Academy → Hashing, Encryption and Encoding → Cryptographic Right Answers → Rolling Your Own Crypto (por que não fazer).

Catálogo

Introdução

Falsidades

Algoritmos

Estruturas de Dados

Números

Strings

Latência

Tempo

Memória

Sistemas Distribuídos

Machine Learning

RegExp

Segurança

UX / Usabilidade

SEO

Arquitetura

Design de Código

Filosofia de Engenharia

Práticas

Carreira

Habilidades Relacionadas