The Clean Coder
Robert C. Martin
- Programming
- Professionalism
A book about what distinguishes a professional developer from someone who can just write code: responsibility for the result, the ability to say “no”, honest estimates, tests and constant practice.
Martin goes through his own mistakes over decades of his career, from missed deadlines to projects he shouldn’t have taken.
Key ideas
- A professional is responsible for their code: they don’t ship what they’re unsure of and find their own bugs.
- A “no” with an explanation is more honest than “I’ll try” that ends with a missed deadline.
- An estimate is a probability, not a promise: give a range and name the risks.
- Tests are a way to move fast and not be afraid to change code.
- Learning is your own responsibility, not your employer’s.
How I apply it
I estimate projects as a range with a list of risks, not a single number. If a task doesn’t fit the budget, I say so before the start. Tests and CI from day one of a project, including this site.
Where and how I applied it

Demo · Web app · estimate · PDF
Renovation estimate calculator
An estimate with a contingency reserve and versions for negotiation: it allows for risks instead of being one optimistic number.

Demo · Web app · metrics · CI thresholds
Bot quality evaluation
Thresholds like in CI: if the metrics drop, a banner says CI wouldn’t let this release through — I don’t ship what I’m not sure about.

Demo · Web app · Laravel · PostgreSQL
Warehouse system on Laravel
Warehouse accounting is covered by PHPUnit tests: the code can be changed without fear of breaking stock levels.
More on the shelf
Reading
Hands-On APIs for AI and Data Science
Ryan Day
A practical book on building an API for data and connecting AI to it. The running project is a FastAPI service with a database and documentation, then an SDK for it, using the API in analytics and, finally, LangChain agents that call the API themselves.
AI and agentsPythonAPIApplied in 3 projectsReading
Server Applications in Python, Django, Flask and FastAPI
R. S. Bukharev
The path of server-side development in Python, from sockets and protocols to architecture and launch on a server. Django, Flask and FastAPI are covered through real projects: a CRM system, a Telegram bot with server-side logic, a REST API for a mobile app and a WebSocket chat. Separate chapters cover caching and scaling, Docker and Kubernetes, PostgreSQL, MySQL, SQLite and MongoDB, and security: password hashing, JWT and OAuth 2.0, protection against SQL injection, XSS and CSRF, TLS.
ProgrammingPythonBackendApplied in 1 project




