
professional-programming
A curated, opinionated list of learning resources for software engineers, mostly books and articles.
- Stars
- 51.7k
- Forks
- 4k
- Licence
- MIT
- Language
- Python
- Last update
- 10 days ago
- Type
- Curated list
What it is
This is a long, hand-picked reading list for programmers who want to get better at their craft beyond writing code. It groups links to books, articles, talks and courses under topics such as architecture, debugging, career growth, testing and scalability. The author says the list is intentionally selective and not meant to be comprehensive.
- Pick a must-read book such as The Pragmatic Programmer to start a reading plan
- Browse the Architecture or Scalability sections when studying system design
- Look up resources on interviewing or career growth before a job search
- Find talks and slides on public speaking or writing to improve communication
Great for
- Software engineers who want to build professional habits and broader engineering judgment
- Developers looking for classic books and articles to read next
- Students preparing for their first engineering role
- Engineers exploring a topic like scalability, observability or incident response
Not ideal for
- People who need a hands-on tutorial or step-by-step course, since this is a link collection rather than a lesson series
- Readers looking for a complete or up-to-date catalogue of every resource on a topic, because the author states the list is deliberately not comprehensive
How to get it
- 1
Read it online
Clone the repository
git clone https://github.com/charlax/professional-programming - 2
Run it
- Open the repository page on GitHub and read the table of contents
- Start with the Must-read books or Must-read articles sections
- Follow a topic link that matches your current work
- Open a pull request if you want to suggest a resource
- 3
Get the most out of it
- Use the table of contents to jump directly to topics such as Career growth or Testing
- Read the Principles section to understand how the author selects resources
- Check the Keeping up-to-date section for ways to follow new material
- Look at the Concepts and Resources for presentations sections for specialized reading
Downloads
Strengths
- Curated by a single author with a clear point of view, so the selection is focused
- Organized into many topics with a table of contents for quick navigation
- Freely available under the MIT license and open to contributions via pull request
Trade-offs
- The author says it is opinionated and does not endorse every view in every linked resource
- Some links point to commercial bookstores, and the README gives no indication of how current each resource is
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| professional-programming (this) | 51.7k | Curated list | beginner | 10 days ago | Software engineers who want to build professional habits and broader engineering judgment |
| awesome-scalability | 75.3k | Curated list | beginner | 10 months ago | Engineers preparing for system design interviews |
| learn-python | 18.5k | Learning resource | beginner | 7 months ago | Beginners who want to learn Python syntax by reading and running examples |
| Best-websites-a-programmer-should-visit | 76.2k | Curated list | beginner | 1.1 years ago | Beginners who want a starting point for finding learning sites |
| chinese-copywriting-guidelines | 15.8k | Curated list | beginner | 25 days ago | Chinese-language writers and editors who mix Chinese with English terms or numbers |
| computer-science | 211k | Learning resource | advanced | 4 months ago | Self-motivated adults who want a structured path through CS fundamentals |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.