Skip to content

Guide · Open source

How to use professional-programming: a reading list guide

Updated · written with AI from the project's own documentation and checked against our catalogue data

professional-programming by charlax is a curated list of learning resources for software engineers who want to grow beyond writing code. It links to books, articles, talks and courses grouped by topic, such as architecture, debugging, career growth and testing. After reading this guide you will know how to get the list onto your machine, how to navigate its topics, and how to choose what to read next.

professional-programmingcharlax/professional-programming · ★ 51.7k · MIT

Quick start

  1. 1Clone the repository. Run the git clone command from the README to download the list to your machine. You can also open the GitHub page in a browser.
  2. 2Read the Principles. Check how the author selects resources and what the icons mean before you start.
  3. 3Read the must-read lists. Begin with the must-read books and articles to build a common base.
  4. 4Pick one topic. Choose a topic that matches a problem you face, such as testing or debugging.
  5. 5Read and take notes. Work through a few entries in that topic and note what you will apply in your own work.

What is professional-programming and who is it for?

The project is a long, hand-picked reading list rather than a course. The author says the goal is to make you a more proficient developer and that the list only includes resources they found truly inspiring or timeless classics.

It suits software engineers who want professional habits and broader engineering judgment, students preparing for a first engineering role, and engineers exploring a topic such as scalability, observability or incident response.

  • Good fit: readers who want classic books and articles to read next
  • Good fit: readers exploring a single topic in depth
  • Not a fit: anyone who needs a hands-on tutorial or step-by-step lessons
  • Not a fit: anyone who needs a complete, up-to-date catalogue of a topic

Get the list: clone the repository

The README lists one install command: clone the repository from GitHub. The install method is read-online, and no prerequisites are listed. You can also simply open the project page on GitHub and read it in your browser.

git clone https://github.com/charlax/professional-programming

Understand the icons and the selection rules

The README defines a set of icons used to mark each entry. A list item can be a resource list, a book, a video or talk, slides, a must-read, or a paper. Read the Principles section first so you know how selective the author is being.

The author states the list is intentionally not comprehensive and that the selection of articles is opinionated. The author also does not necessarily endorse every line of every linked resource.

  • 🧰 list of resources
  • 📖 book
  • 🎞 video, movie extract or talk
  • 🏙 slides or presentation
  • ⭐️ must-read
  • 📃 paper

Start with the must-read books and articles

If you are unsure where to begin, the README gives two short lists: Must-read books and Must-read articles. The books section includes The Pragmatic Programmer, Code Complete, Release It! and Scalability Rules, each with a short note from the author on why it matters.

Reading these first gives you a shared base before you move to narrower topics.

  • The Pragmatic Programmer: From Journeyman to Master
  • Code Complete: A Practical Handbook of Software Construction
  • Release It!
  • Scalability Rules: 50 Principles for Scaling Web Sites

Browse by topic

The Topics section is the main way to navigate. It covers a wide range of areas, including Debugging, Testing, Career growth, Incident response, Observability, Scalability, Code reviews, Databases and Security. Each topic heading links to its own part of the README.

Pick one topic that matches a current problem at work, read its entries, and move on. Avoid trying to read the whole list in one pass.

  • Debugging
  • Testing
  • Career growth
  • Incident response (oncall, alerting, outages, postmortem)
  • Observability (logging, metrics, monitoring)
  • Scalability
  • Code reviews

Contribute an entry

The README invites contributions through a pull request. Because the author keeps the list concise, not every suggestion will be added. Check the existing topics first so you do not duplicate an entry.

What people use it for

  • Preparing for a first engineering role by reading classic books on professional practice
  • Learning about incident response, postmortems and oncall habits before joining an on-call rotation
  • Exploring scalability or observability through linked articles and talks
  • Building a reading plan for career growth, such as the Getting to Staff Eng section
  • Finding talks and slides to study how other engineers present technical ideas

Frequently asked questions

How do I install professional-programming?

The README gives one command: git clone https://github.com/charlax/professional-programming. The project is meant to be read online, so there is no build or setup step after cloning.

What are the requirements for professional-programming?

The source does not list any prerequisites. You need a way to clone a Git repository and a web browser or text viewer to read the Markdown.

Is professional-programming free to use?

The project is licensed under MIT, as stated in the project information. The linked books and articles are separate works, and the README does not describe their cost.

Is there an alternative to professional-programming?

Awesome lists on GitHub that cover software engineering topics are comparable projects. They are also curated link collections, so choose by the topics you need.

Is professional-programming a course I can follow step by step?

No. It is a link collection, not a lesson series. If you need a hands-on tutorial, look for a course or practice-based material instead.

Does professional-programming cover every resource on a topic?

No. The author states the list is deliberately not comprehensive and is kept light on purpose. Expect a selective set of entries per topic.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

Use professional-programming if you want a curated set of respected books, articles and talks to build professional habits and engineering judgment. Pick something else if you need a hands-on course, a complete catalogue of a topic, or up-to-date coverage of every resource.

Install options & downloads