<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Jonathan Sanders on Medium]]></title>
        <description><![CDATA[Stories by Jonathan Sanders on Medium]]></description>
        <link>https://medium.com/@jonathan.f.sanders?source=rss-b7591fafb94b------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*NogYpv4VW3zMbNJvlKWL5A.jpeg</url>
            <title>Stories by Jonathan Sanders on Medium</title>
            <link>https://medium.com/@jonathan.f.sanders?source=rss-b7591fafb94b------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Fri, 22 May 2026 13:48:22 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@jonathan.f.sanders/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[Software 2.0]]></title>
            <link>https://medium.com/@jonathan.f.sanders/software-2-0-fb88ae6549b2?source=rss-b7591fafb94b------2</link>
            <guid isPermaLink="false">https://medium.com/p/fb88ae6549b2</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[determinism]]></category>
            <category><![CDATA[uncertainty]]></category>
            <category><![CDATA[software-development]]></category>
            <dc:creator><![CDATA[Jonathan Sanders]]></dc:creator>
            <pubDate>Tue, 13 Dec 2022 12:28:16 GMT</pubDate>
            <atom:updated>2022-12-13T13:35:31.352Z</atom:updated>
            <content:encoded><![CDATA[<p>The nature of physics has long been the subject of philosophical debate, particularly with regard to the question of determinism. From Aristotle to Laplace, the idea of determinism, that the future can be determined with perfect accuracy if we have complete knowledge of the present state of the universe, had been gaining prevalence as our understanding and mastery of the physical reality around us grew.</p><p>With the rise of quantum physics in the late 19th century, the paradigm of determinism encountered a major challenge. Niels Bohr and Albert Einstein famously captured this paradigm shift during the 1927 Solvay Conference. Bohr, who had been advocating for the role of probability in describing the behaviour of physical systems at the quantum level, engaged in a heated debate with Einstein, who insisted on the determinism of nature. In response to Einstein’s famous statement that “God does not play dice,” Bohr famously quipped “stop telling God what to do.”</p><p>In recent years, a similar divide has emerged in the world of software. Traditional software, which has its roots in the first piece of software created in the 1950s, is built on the premise of determinism, with developers striving to create programs that always produce the same output given the same input. But with the rise of AI, a new class of probabilistic software is emerging. Here we call “probabilistic software” to refer to products that use an AI model to convert ambiguous input to output.</p><p>One of the key differences in working with probabilistic software is its ability to take actions based on vague inputs. In a deterministic program, the input parameters need to be exact and conform to expected values. If you use an email product to write an email, the “To” field takes an input of the form user@domain.tld — other forms are not allowed. If you make a mistake that still follows the fixed expectations in the input (e.g. usre@domian.ltd), the product will execute your error faithfully. But with probabilistic software, uncertainty is built into the foundation of the product, allowing it to accept messy input and give a reasonable output.</p><p>A natural first reaction may be to shy away from building or using software that is inherently probabilistic. Can software that provides answers to messy input truly be trusted? Is it not better to have a calculator which can do 2 + 2 perfectly, rather than a black box which may understand what you mean and give you the output, but could also potentially get it wrong? Why would you want your software to play dice?</p><p>One way to think about this question is to view the software product in its wider setting. Consider the following scenario: Alice is CEO of a small scale up and she wants to understand why the sales cycle has increased by 10 days, so she asks Bob the CFO, “Bob, why has our sales cycle increased?”. Bob, having a high level understanding of the different stages of a sales cycle, looks into the company BI tool and executes an SQL query to give him his answer. The BI tool faithfully responds to the query with some data that Bob sends back to Alice, “Each contract negotiations takes 9 days longer now”.</p><p>If we draw up the scenario it could be sketched as follows:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/570/1*kmzT_lcLV3J3eoLxEj56Fg.png" /><figcaption>Alice and Bob solves a business question</figcaption></figure><p>We have a specific input/output from the BI system and, so for this task a deterministic software product is appropriate. But this setup only works because we have a human interpreter, Bob, who can translate the vague question into specific queries understandable by the BI system. The translation of Alice’s question into the specific SQL queries by Bob is a ‘black box’ by any other name, and a probabilistic one at that. On any other day, Bob might have had a different train of thoughts and as result produced a slightly different SQL query. It is highly unlikely that Bob would create the same SQL query every time in response to Alice’s question.</p><p>If we introduced a probabilistic element to the BI system that allowed it to take in Alice’s questions directly, we are in fact not introducing any fundamental uncertainty into the system as compared to scene 1. Say that Bob was replaced by AI Bob, the setup would look as follows:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/618/1*WmjEJTzOIXSBBUyzmmNpvw.png" /><figcaption>Alice and her new product solves a business question</figcaption></figure><p>Of course any decent engineer would make ‘AI Bob’ an integrated part of the BI product. As long as AI Bob has the same ability to translate Alice’s vague questions into specific queries, the system will perform at the same level. The fundamental contention is merely that there has always been a translation process by humans from high level ideas/questions/requirements etc into the specific.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/974/0*PDmHrgPfeMzpzbu-" /></figure><p>The big change is not that AI products introduce uncertainty and probability into the process, but the change that it introduces into user behaviour, culture, ways of working and UX. If Bob had a poorly performing translation process and kept giving Alice bad answers, Alice could schedule a 1:1 and let him know she was not satisfied and why. Scheduling 1:1s with your BI software might raise some eyebrows in the organisation.</p><p>Since 1927, we have seen an explosion in hardware development, from superconductors, microchips, lasers, MRI to electron microscopes. Many of these would not have been possible without a firm grasp of quantum mechanics and its probabilistic nature. Looking forward, we hope to see the same progress for software products that can give rise to a brand new digital world. With the recent advances in AI, the die has now been cast.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=fb88ae6549b2" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>