Professional Programming
A collection of learning resources for curious software engineers
Install / Use
npx skills add charlax/professional-programmingInstalls into whichever agent you are using.
README
Table of Contents
- Professional Programming - about this list
- Principles
- Contributing to this list
- Must-read books
- Must-read articles
- Other general material and list of resources
- Topics
- Accounting
- Agentic coding
- Algorithm and data structures
- API design & development
- Attitude, habits, mindset
- Authentication/authorization
- Automation
- Best practices
- Beyond software engineering & random
- Biases
- Business
- Buy vs. Build
- Cache
- Career growth
- Characters sets
- Chess
- Clouds
- Code reviews
- Coding & code quality
- Communication
- Compilers
- Configuration
- Continuous Integration (CI)
- Data analysis & data science
- Databases
- Data formats
- Data science/data engineering
- Debugging
- Design (visual, UX, UI, typography)
- Design (OO modeling, architecture, patterns, anti-patterns, etc.)
- Dev environment & tools
- Docker
- Documentation
- Dotfiles
- Editors & IDE
- Engineering management
- Exercises
- Experimentation
- Fonts
- Functional programming (FP)
- Games development
- Generative AI
- Graphics
- Hardware
- HTTP
- Humor
- Incident response (oncall, alerting, outages, firefighting, postmortem)
- Internet
- Interviewing
- Kubernetes
- Large Language Model (LLM)
- Learning & memorizing
- Licenses (legal)
- Linux (system management)
- Low-code/no-code
- Low-level, assembly
- Machine learning/AI
- Math
- Marketing
- Network
- Observability (monitoring, logging, exception handling)
- Open source
- Operating system (OS)
- Over-engineering
- Performance
- Personal knowledge management (PKM)
- Personal productivity
- Perspective
- Privacy
- Problem solving
- Product management for software engineers
- Project management
- Programming languages
- Programming paradigm
- Public speaking (presenting)
- Reading
- Refactoring
- Regex
- Releasing & deploying
- Reliability
- Search
- Security
- Research papers
- Shell (command line)
- SQL
- State
- System administration
- System architecture
- Scalability
- Site Reliability Engineering (SRE)
- Technical debt
- Testing
- Tools
- Type system
- Typography
- Version control (Git)
- Work ethics, productivity & work/life balance
- Web development
- Writing (communication, blogging)
- Resources & inspiration for presentations
- Keeping up-to-date
- Concepts
- My other lists
Professional Programming - about this list
Give me six hours to chop down a tree and I will spend the first four sharpening the axe. (Abraham Lincoln)
A collection of full-stack resources for programmers.
The goal of this page is to make you a more proficient developer. You'll find only resources that I've found truly inspiring, or that have become timeless classics.
Principles
- This page is not meant to be comprehensive. I am trying to keep it light and not too overwhelming.
- The selection of articles is opinionated.
- I don't necessarily agree with or endorse every single line that is written in every single one of those resources. The same applies to their authors: I don't endorse everything each of those authors has said and will ever say.
Items:
- 🧰 : list of resources
- 📖 : book
- 🎞 : video/movie extract/movie/talk
- 🏙 : slides/presentation
- ⭐️ : must-read
- 📃 : paper
Contributing to this list
Feel free to open a PR to contribute!
I will not be adding everything: as stated above, I am trying to keep the list concise.
Must-read books
I've found these books incredibly inspiring:
- 📖 The Pragmatic Programmer: From Journeyman to Master: hands-on the most inspiring and useful book I've read about programming.
- 📖 Code Complete: A Practical Handbook of Software Construction: a nice addition to The Pragmatic Programmer, gives you the necessary framework to talk about code.
- 📖 Release It!: this books goes beyond code and gives you best practices for building production-ready software. It will give you about 3 years worth of real-world experience.
- 📖 Scalability Rules: 50 Principles for Scaling Web Sites
- 📖 The Linux Programming Interface: A Linux and UNIX System Programming Handbook: outside of teaching you almost everything you need to know about Linux, this book will give you insights into how software evolves, and the value of having simple & elegant interfaces.
- 📖 Structure and interpretation of Computer Programs (free): One of the most influential textbooks in Computer Science (written and used at MIT), SICP has been influential in CS education. Byte recommended SICP "for professional programmers who are really interested in their profession".
There are some free books available, including:
- 📖 Professional software development: pretty complete and a good companion to this page. The free chapters are mostly focused on software development processes: design, testing, code writing, etc. - and not so much about tech itself.
- 🧰 vhf/free-programming-books
- 🧰 EbookFoundation/free-programming-books
Must-read articles
- [Practical Advice for New Software Engineers](http://product.h
Related Skills
prose
385.5kOpenProse VM skill pack. Activate on any `prose` command, .prose files, or OpenProse mentions; orchestrates multi-agent workflows.
Writing Hookify Rules
140.6kThis skill should be used when the user asks to "create a hookify rule", "write a hook rule", "configure hookify", "add a hookify rule", or needs guidance on hookify rule syntax and patterns.
Command Development
140.6kThis skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs gu…
MCP Integration
140.6kThis skill should be used when the user asks to "add MCP server", "integrate MCP", "configure MCP in plugin", "use .mcp.json", "set up Model Context Protocol", "connect external service", mentions "${CLAUDE_PLUGIN_ROOT} with MCP", or discusses MCP server types (SSE, stdio, HTTP, WebSocket).
