Questions Considered

Notes on thinking, learning, decision making, and occasionally running. Simple ideas, mostly obvious.

Log

Short notes, pointers and references.


  • Managing understanding and intent has always been important in software engineering. AI has been changing the landscape.

    Generative AI is dramatically accelerating software development, allowing teams to generate and modify code faster than ever before. For decades, software engineering has focused on managing technical debt—how code structure and implementation make systems harder to change. But in the age of AI, technical debt might no longer be the most important constraint. This article argues that the real risks are shifting toward two less visible forms of debt: cognitive debt and intent debt. Cognitive debt is the erosion of shared understanding across a team where no one can confidently explain how a system works or predict the impact of a change. Intent debt is the absence of clear goals, constraints, and rationale that explain what the system is for and guide how it should evolve, for both humans and AI agents. These debts have always existed, but GenAI accelerates their accumulation while hiding their effects. I propose how these forms of debt can be recognized in practice and suggest strategies teams can use to mitigate them.

    From Technical Debt to Cognitive and Intent Debt – Rethinking software health in the age of AI, by Margaret-Anne Storey.

    I will not yet go as far as claiming that intent debt and cognitive debt will become seen as more important than technical debt. Certainly though as risks, they are becoming more highlighted, since AI usage is increasing their probability.


  • Researchers at Google recently reported on how AI usage has been impacting developer experience.

    We summarize findings from analyzing developers’ responses to a prompt regarding how AI-powered tools have impacted their recent development workflow. We identify four tensions that developers must balance in their use of AI and suggest strategies practitioners can use to improve developer experience with AI.

    Developer Productivity for Humans: Navigating the Tensions of AI in the Software Development Lifecycle, by Jessica Baolin; Collin Green; Ciera Jaspan; Francisco Gutiérrez.

    Work saved by using AI often shifts the need for additional work elsewhere, faster code generation can also produce technical debt more quickly, producing useful code early is a different problem from getting that code production-ready, and the disconnect between competence and output can be both positive and negative.

    Tradeoffs, throughout.


  • Compared to LLMs, human children require far, far less data to become proficient users of a natural language.

    This yawning divide between children and machines is called the data efficiency gap. And it raises a tantalizing question for cognitive scientists and a challenge for the architects of AI models: How is it that kids can still outperform the most linguistically sophisticated machines ever built?

    Kids outlearn AI—and we still don’t know why, by Elise Cutts.

    Given the massive computational scale and data volume used to train LLMs, it seems like a brute-force approach, when compared to the apparently much more efficient way that human children pick their first language.


  • The recordings from the recent Rails World 2026 are online. Here is the opening keynote.

    This, on the other hand, is the closing keynote.

    What a time in software engineering and this industry!


  • The reality of independent research into online platforms, per Article 40 of the Digital Services Act continues to be challenging.

    This is a rapidly evolving field, with technological advancements consistently outpacing regulation, making it essential that frameworks adapt swiftly and proactively.

    […]

    As the role of online platforms grows in importance, the successful implementation of the DSA is even more urgent now than at the time when it was developed. If the implementation of Article 40 is obstructed, researchers’ ability to scrutinize digital media would be severely limited, thereby undermining public trust and transparency.

    Research Opportunities and Challenges of the EU’s Digital Services Act, by Francesco Pierri, Theo Araujo, Sanne Kruikemeier, Philipp Lorenz-Spreen, Mariek M.P. Vanden Abeele, Laura Vandenbosch, Joana Gonçalves-Sa, and Przemyslaw Grabowicz.

    This is not just a matter a of regulation. It is extremely difficult to close the gap between public deployment and actual understanding of its consequences, if the most well-funded stakeholders actively resist the efforts to research.


  • The following article in Harvard Business Review discusses using AI to expand the scope of people’s bounded rationality in decision making.

    For decades, the limits of time and brain capacity meant that teams could consider only so many strategic options before making decisions. Strategy tools—SWOT analyses, portfolio matrices—were simple because that’s what planning meetings needed. AI changes those dynamics. It can generate and evaluate thousands of strategic options and build rich, continually updated views of markets and competitors. And it can stress-test potential plans through structured debate that isn’t influenced by internal politics. Since the same AI tools are available to all companies, lasting advantage will go to those that pair them with proprietary data, integrated workflows, and faster execution. In practice, that means casting a wider net for strategic options before narrowing the field, replacing static models with real-time ones, and making AI-assisted challenges a routine part of major decisions.

    AI Is Revolutionizing Strategic Decision-Making, by Felipe A. Csaszar.

    I am a big fan of employing the technology to function as thinking partner, i.e. to help us expand and improve our thinking and decision making abilities.

    There is tremendous potential here.


  • Jill Lepore on the current legal landscape being very behind with respect to artificial intelligence.

    In the study of law and technology, this is known as the “pacing problem”—the law, a tortoise, can’t keep up with technological change, a hare.

    […]

    If the Hugging Face hack was a final warning, it was a warning not for tech companies but for governments and for voters, and especially for legal scholars, judges, and legislators. Because, until the law learns to bend, robots as actors will remain in a no man’s land of outlawry.

    Is A.I. Above the Law?, by Jill Lepore.

    If the stakes are that high, the precautionary principle seems appropriate. Slow down the hare but also hurry up the tortoise?


  • Interesting thoughts on the value of learning to code — when in practice we rely more and more on AI for it.

    This article explores whether learning to code is still necessary in the age of AI. Drawing on survey responses, teaching experience, and personal reflection, it examines how AI coding assistants are changing software development, the skills future technologists will need, and the importance of maintaining technical understanding in an increasingly automated world.

    The Question: Should We Still Learn to Code in the Age of AI?, by Sue Black.

    I agree with where the author landed here. Learning coding improves your thinking and it teaches you a lot about system behavior and how to shape it.

    That is valuable in shaping your intuition for productively working with AI in software engineering.


  • Given the incentives at play in software engineering and tech, generally, hype may be an unavoidable fact of life.

    Hype is a common phenomenon in competitive environments, including in software engineering. It generally involves overstating the benefits, significance, or potential impact of some new product or idea, usually before they are fully vetted. It seems, however, that some unique characteristics of software make it exceptionally susceptible to hype when compared to more traditional engineering disciplines. In this article, we first identify the reasons behind this, discuss its ramifications, and, finally, propose some potential mitigation strategies.

    The Effects of Hype in the Software Domain: Causes, Consequences, and Mitigations, by Manfred Broy and Bran Selić.

    There is potential for costly consequences, so this is clearly an important issue.


  • On the importance of not sacrificing engineering principles, when integrating AI into the software development process.

    The rise of “vibe coding” has sparked justified concerns about technical debt and code quality. However, critics misdiagnose the problem as a failure of generative AI rather than a failure of engineering discipline. The article also addresses the troubling industry trend of eliminating both junior and senior engineering roles, threatening the talent pipeline essential for effective AI-assisted development.

    Stop Blaming the AI: How Disciplined Engineering Makes Generative AI Work, by Kurt Antony Richardson.

    There is much in software that continues to be valid. It is clearly worth paying attention to those things, if you are serious about building software projects over time, even (and perhaps especially), if you use AI to do so.