gulmezbugra/penser-comme-un-programmeur

Utilisé lorsqu'un programmeur demande quoi apprendre, ou souhaite des livres, conférences, articles, cours, ressources de carrière/entretien ou sites de pratique de codage sur les fondamentaux du logiciel.

Qu'est-ce que penser-comme-un-programmeur ?

Cette compétence offre un catalogue organisé et traduit en français de ressources techniques essentielles pour les développeurs, quel que soit leur niveau ou leur pile technique. Basée sur la liste communautaire originale « every-programmer-should-know », elle aide à répondre aux questions sur ce qu'il faut apprendre, les livres à lire, les conférences à regarder, les articles à étudier, les cours à suivre, ainsi que les conseils de carrière, de préparation aux entretiens et de pratique du codage. Le skill fournit des suggestions de parcours d'apprentissage, comme pour les nouveaux en informatique, les systèmes distribués ou la préparation aux entretiens, et guide l'assistant pour recommander 2 à 4 ressources adaptées au niveau de l'utilisateur. Il est compatible avec tout agent AI capable de lire un fichier SKILL.md et d'y accéder pour enrichir ses réponses, tout en rappelant que la liste n'est pas exhaustive et que les liens peuvent être obsolètes.

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

Installed? Explore more Productivité et collaboration skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Penser comme un programmeur

Un catalogue organisé de ressources (principalement) techniques que tout développeur devrait connaître, quel que soit son niveau ou sa pile technologique. Basé sur la liste communautaire disponible à l'adresse https://github.com/mtdvio/every-programmer-should-know par Alexey Migutsky et ses contributeurs, sous licence CC BY 4.0. L'original est ouvertement « très subjectif, non fondé sur la science » et dans aucun ordre particulier.

Quand l'utiliser

  • « Que devrais-je apprendre ensuite / que devrait savoir tout développeur sur X ? »
  • Demandes de livre, conférence, article, cours ou article de blog sur un sujet fondamental.
  • Expliquer un concept (virgule flottante, fuseaux horaires, Unicode, mémoire, CAP/horloges distribuées, cryptographie) et vouloir pointer vers la lecture canonique.
  • Questions de carrière : entretiens, négociation d'offre, participation, travail à distance, CV.
  • « Où puis-je m'entraîner à coder / me préparer aux entretiens ? »

Comment l'utiliser

  1. Faire correspondre la question à une ou plusieurs sections du catalogue ci-dessous.
  2. Recommander 2 à 4 ressources, pas toute la section. Pour chacune, donner une ligne expliquant pourquoi elle convient et son format (livre / vidéo / article / article scientifique / cours / site).
  3. Adapter au niveau : les débutants reçoivent d'abord des ressources visuelles ou accessibles (Grokking Algorithms, Hello Algo, Learn X in Y Minutes) ; les développeurs expérimentés reçoivent le matériel plus profond ou classique (Introduction to Algorithms, DDIA, Lamport, Out of the Tar Pit).
  4. Si le sujet n'est pas dans le catalogue, le dire clairement et répondre à partir de connaissances générales ; ne pas forcer un lien non pertinent.
  5. Certains liens sont anciens et peuvent avoir été déplacés ou ne plus fonctionner. Si l'accès web est disponible et qu'un lien est important, le vérifier avant de s'y fier ; sinon, mentionner que le lien est peut-être obsolète.
  6. Répondre dans la langue de l'utilisateur ; conserver les titres des ressources dans leur forme originale.
  7. Rappeler aux gens, si utile, que personne n'a besoin de connaître tout cela par cœur — c'est une carte, pas une liste de contrôle.

Parcours suggérés (combinaisons du catalogue)

  • Nouveau en informatique : Map of Computer Science → Computer Science Roadmap → Grokking Algorithms → Big O Cheatsheet → Floating Point Guide → Unicode and Character Sets.
  • Backend / systèmes distribués : Latency Numbers → Understanding Distributed Systems → Designing Data-Intensive Applications → Fallacies of Distributed Computing → Time, Clocks and the Ordering of Events → Jepsen.
  • Écrire du meilleur code : The Art of Readable Code → Clean Code / Code Complete → Working Effectively with Legacy Code → Out of the Tar Pit → Simple Made Easy.
  • Préparation aux entretiens : Tech Interview Handbook → Cracking the Coding Interview → LeetCode / Codility → How To Interview As a Developer Candidate → Ten Rules for Negotiating a Job Offer.
  • Bases de la sécurité : OWASP Top 10 → Portswigger Academy → Hashing, Encryption and Encoding → Cryptographic Right Answers → Rolling Your Own Crypto (pourquoi ne pas le faire).

Catalogue

Introduction

Idées fausses

Algorithmes

Structures de données

Nombres

Chaînes

Latence

Temps

Mémoire

Systèmes distribués

Apprentissage automatique

Expressions régulières

Sécurité

UX / Utilisabilité

SEO

Architecture

Conception de code

Philosophie de l'ingénierie

Pratiques

Carrière

Skills associés