{"slug": "the-qualities-of-tomorrow-s-programmers-by-salvatore-sanfilippo", "title": "The Qualities of Tomorrow's Programmers by Salvatore Sanfilippo", "summary": "Salvatore Sanfilippo, creator of Redis, outlines seven qualities tomorrow's programmers need as AI reshapes software development, emphasizing system-level understanding, judgment, and communication over raw coding speed. He argues that while AI makes code cheaper, it does not make judgment cheaper, and warns that unmonitored AI-generated code creates 'islands of code' that break global architecture. Sanfilippo also stresses the importance of gating AI inference quality, knowing when to stop shipping, and owning professional responsibility.", "body_md": "# The Qualities of Tomorrow's Programmers\n\n*Based on the video \"Le qualità dei programmatori di domani\"*\n\nSoftware development is being reshaped by AI. Code gets cheaper by the day. What doesn't get cheaper is judgment.\n\nHere are the seven qualities tomorrow's programmers need.\n\n## 1. See the whole system\n\nThe most important skill: understand the entire system, not just your module.\n\n\"You need the model of the whole system in your head: how data flows, where the tables live, how queries run, where the cache is, how it scales.\"\n\nKnow how data moves from user input to database and back. Know the real bottlenecks. Know the implicit dependencies between services.\n\nWhy it matters now: AI writes code locally, creating \"islands of code\" that work in isolation but break the global architecture. Only people with a complete mental model can catch that.\n\n## 2. Spot irreversible choices\n\nNot all decisions are equal. Changing a library is cheap. Changing a production SQL schema is not.\n\nExamples of high-cost choices:\n\n- Table schemas with active users\n- The core database\n- Communication protocols between services\n- Your central domain model\n\n\"That's a choice with a degree of irreversibility. Develop an alarm bell for this type of choice.\"\n\nWhen facing one: raise the alarm, increase reversibility with feature flags or abstractions, and ask: \"If this is wrong in six months, how much does it cost to fix?\"\n\n## 3. Gate AI inference quality\n\nIf you run models in production, enforce quality gates on inference from day one.\n\n\"If you don't gate inference quality immediately, you pile kernel on kernel with numerical drift and errors. Later, recovering quality means rewriting kernels from scratch.\"\n\nMonitor drift and error rates. Automate rollback when quality drops. Test across model families, not just the current one. Skipping this builds inference debt, the hard kind. Models change, kernels get rewritten.\n\n## 4. Know when to stop\n\nA psychological skill, not a technical one: knowing when to stop shipping and consolidate.\n\n\"When there are unsatisfied users and bugs, stop. Take time to restructure the foundations and fix the technical debt.\"\n\nThe math changed. Refactoring used to take months, so nobody stopped. With AI, it takes weeks. That makes stopping the rational choice.\n\nIf management pushes forward while the system is fragile, push back. Don't use AI as an excuse to run faster into a broken architecture.\n\n## 5. Communicate mental models\n\nAs AI writes more code, human value shifts to communication.\n\n\"In a world where ideas and system models matter more, we must be skilled communicators, not only with LLMs and AI but also with other people.\"\n\nYou need to articulate *why* a PR is risky, not just *what* it changes. You need to onboard someone in thirty minutes, not thirty days. You need to lead whiteboard sessions: \"Which direction do we take?\"\n\nTest yourself: can you explain how the system works, in plain language, in half an hour? If not, your mental model isn't clear enough.\n\n## 6. Use AI as an amplifier\n\nAI accelerates writing. It doesn't replace architectural thinking.\n\n\"Using AI as an excuse to always go forward, even as complexity and fragility pile up, exacerbates problems we already saw in traditional development.\"\n\nAI for the details. Humans for the architecture. Treat AI as a sparring partner, not an oracle. Validate everything against your mental model.\n\n## 7. Own your responsibility\n\nThe video ends with a strong point: professional responsibility.\n\n\"You are developers. Others use your software. Even when you work for other people, you can say: 'I strongly advise against this direction.'\"\n\nEngineers who build bridges refuse to cut steel. Software is no different. Fragile systems in production hurt real users. Say no when it matters.\n\n## The bottom line\n\nTomorrow's programmer isn't the one who writes code faster. AI wins that game.\n\nTomorrow's programmer:\n\n- Sees the whole system\n- Weighs consequences\n- Guards quality when nobody asks\n- Communicates models clearly\n- Takes responsibility\n\nUse AI to build solid things, not to accumulate debt faster.", "url": "https://wpnews.pro/news/the-qualities-of-tomorrow-s-programmers-by-salvatore-sanfilippo", "canonical_source": "https://grigio.org/the-qualities-of-tomorrows-programmers/", "published_at": "2026-08-17 06:15:03+00:00", "updated_at": "2026-08-17 06:40:46.216869+00:00", "lang": "en", "topics": ["artificial-intelligence", "ai-ethics", "ai-tools"], "entities": ["Salvatore Sanfilippo", "Redis"], "alternates": {"html": "https://wpnews.pro/news/the-qualities-of-tomorrow-s-programmers-by-salvatore-sanfilippo", "markdown": "https://wpnews.pro/news/the-qualities-of-tomorrow-s-programmers-by-salvatore-sanfilippo.md", "text": "https://wpnews.pro/news/the-qualities-of-tomorrow-s-programmers-by-salvatore-sanfilippo.txt", "jsonld": "https://wpnews.pro/news/the-qualities-of-tomorrow-s-programmers-by-salvatore-sanfilippo.jsonld"}}