<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Programming on Work You Can Explain</title>
		<link>https://workyoucanexplain.com/tags/programming/</link>
		<description>Recent content in Programming on Work You Can Explain</description>
		<generator>Hugo</generator>
		<language>en-US</language>
		
		
		
			<copyright>Copyright © Work You Can Explain</copyright>
		
		
			<lastBuildDate>Thu, 30 Jul 2026 00:00:00 -0500</lastBuildDate>
		
			<atom:link href="https://workyoucanexplain.com/tags/programming/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>From Autocomplete to Agents: How AI Coding Methods Are Evolving</title>
				<link>https://workyoucanexplain.com/posts/how-ai-coding-methods-are-evolving/</link>
				<pubDate>Thu, 30 Jul 2026 00:00:00 -0500</pubDate>
				<guid>https://workyoucanexplain.com/posts/how-ai-coding-methods-are-evolving/</guid>
				<description>&lt;p&gt;AI coding methods are moving from local suggestions toward repository-aware,&#xA;tool-using, and delegated work. The important change is not that typing code&#xA;disappears. It is that a person can ask a system to take more actions across a&#xA;larger part of the software process.&lt;/p&gt;&#xA;&lt;p&gt;As the action surface grows, the durable human work becomes more explicit:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;define the behavior;&lt;/li&gt;&#xA;&lt;li&gt;select the context;&lt;/li&gt;&#xA;&lt;li&gt;state permissions and boundaries;&lt;/li&gt;&#xA;&lt;li&gt;create acceptance checks;&lt;/li&gt;&#xA;&lt;li&gt;inspect actions and diffs;&lt;/li&gt;&#xA;&lt;li&gt;integrate the result; and&lt;/li&gt;&#xA;&lt;li&gt;explain why the final software should be trusted.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Use the smallest assistance level that fits the task. More autonomy is useful&#xA;only when its saved effort exceeds the cost of context, supervision, review,&#xA;and recovery.&lt;/p&gt;</description>
			</item>
			<item>
				<title>A Beginner’s First Programming Workflow</title>
				<link>https://workyoucanexplain.com/posts/a-beginners-first-programming-workflow/</link>
				<pubDate>Fri, 24 Jul 2026 00:00:00 -0500</pubDate>
				<guid>https://workyoucanexplain.com/posts/a-beginners-first-programming-workflow/</guid>
				<description>&lt;p&gt;Use one repeatable loop for beginner programming work: understand the task,&#xA;plan one small change, change the code, run it, test the expected behavior, and&#xA;create the checkpoint required by the project. A Git project can use a commit;&#xA;another course may require a working-log entry, saved version, or submission.&#xA;Each step produces evidence for the next.&lt;/p&gt;&#xA;&lt;p&gt;The loop prevents a vague assignment from becoming a large, unexplained edit.&lt;/p&gt;&#xA;&lt;h2 id=&#34;1-understand-the-task&#34;&gt;1. Understand the task&lt;/h2&gt;&#xA;&lt;p&gt;Before editing, state:&lt;/p&gt;</description>
			</item>
			<item>
				<title>A Project Structure That Encourages Good Habits</title>
				<link>https://workyoucanexplain.com/posts/a-project-structure-that-encourages-good-habits/</link>
				<pubDate>Fri, 24 Jul 2026 00:00:00 -0500</pubDate>
				<guid>https://workyoucanexplain.com/posts/a-project-structure-that-encourages-good-habits/</guid>
				<description>&lt;p&gt;A useful project structure makes the next correct action easy to find. Keep&#xA;source, tests, documentation, scripts, and examples in predictable locations.&#xA;Start small, name each directory by responsibility, and add complexity only&#xA;when the project needs it.&lt;/p&gt;&#xA;&lt;p&gt;The goal is not a universal folder tree. It is a project another person can&#xA;inspect, run, test, and explain.&lt;/p&gt;&#xA;&lt;h2 id=&#34;begin-at-one-clear-project-root&#34;&gt;Begin at one clear project root&lt;/h2&gt;&#xA;&lt;p&gt;The project root contains the files that describe the project as a unit:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Automate Deterministic Work with Code</title>
				<link>https://workyoucanexplain.com/posts/automate-deterministic-work-with-code/</link>
				<pubDate>Fri, 24 Jul 2026 00:00:00 -0500</pubDate>
				<guid>https://workyoucanexplain.com/posts/automate-deterministic-work-with-code/</guid>
				<description>&lt;p&gt;Use code instead of repeated AI prompts when the same explicit inputs should&#xA;produce defined outputs through known operations. Keep AI at the interpretation&#xA;boundary: it can help explain an unfamiliar case or draft code, but deterministic&#xA;execution should be inspectable, tested, and repeatable.&lt;/p&gt;&#xA;&lt;h2 id=&#34;define-the-contract&#34;&gt;Define the contract&lt;/h2&gt;&#xA;&lt;p&gt;Before scripting, write:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Inputs:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Outputs:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Files or systems changed:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Valid and invalid conditions:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Expected failures:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Verification:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Rollback:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;For example, renaming assignment files by a documented convention can be&#xA;deterministic. Deciding whether a student&amp;rsquo;s reflection demonstrates&#xA;understanding requires judgment and should not be hidden in a rename script.&lt;/p&gt;</description>
			</item>
			<item>
				<title>CSV, Excel, or Code: How Should You Store Tabular Data?</title>
				<link>https://workyoucanexplain.com/posts/csv-excel-or-code-how-should-you-store-tabular-data/</link>
				<pubDate>Fri, 24 Jul 2026 00:00:00 -0500</pubDate>
				<guid>https://workyoucanexplain.com/posts/csv-excel-or-code-how-should-you-store-tabular-data/</guid>
				<description>&lt;p&gt;CSV, Excel, and code solve different parts of tabular-data work. Use CSV for a&#xA;simple exchange table, a spreadsheet for interactive formulas and presentation,&#xA;and code for repeatable transformations. A reliable project may use all three&#xA;while giving each artifact one clear job.&lt;/p&gt;&#xA;&lt;p&gt;Do not ask only, “Which file should hold my data?” Ask what must be preserved:&#xA;values, types, formulas, formatting, multiple sheets, transformation steps, or a&#xA;portable exchange copy.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Editor, Language, Runtime, Compiler, and Package Manager Explained</title>
				<link>https://workyoucanexplain.com/posts/editor-language-runtime-compiler-and-package-manager-explained/</link>
				<pubDate>Fri, 24 Jul 2026 00:00:00 -0500</pubDate>
				<guid>https://workyoucanexplain.com/posts/editor-language-runtime-compiler-and-package-manager-explained/</guid>
				<description>&lt;p&gt;A programming environment is a collection of parts, not one application. The&#xA;editor changes source files. The language defines how source is written. A&#xA;compiler or interpreter processes it. A runtime supports execution. A package&#xA;manager handles external code. Linters, formatters, debuggers, and test runners&#xA;check or inspect different aspects of the work.&lt;/p&gt;&#xA;&lt;p&gt;When you name the parts, an error becomes easier to locate.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-editor-changes-files&#34;&gt;The editor changes files&lt;/h2&gt;&#xA;&lt;p&gt;An editor lets you create and modify source code. It may also show project&#xA;files, open a terminal, run extensions, and call other tools.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Open the Project Folder, Not Just the Code File</title>
				<link>https://workyoucanexplain.com/posts/open-the-project-folder-not-just-the-code-file/</link>
				<pubDate>Fri, 24 Jul 2026 00:00:00 -0500</pubDate>
				<guid>https://workyoucanexplain.com/posts/open-the-project-folder-not-just-the-code-file/</guid>
				<description>&lt;p&gt;A program is usually more than the file you are editing. Open the project&#xA;folder so the editor, terminal, dependency tools, tests, and documentation share&#xA;the same root and configuration.&lt;/p&gt;&#xA;&lt;p&gt;Opening only &lt;code&gt;main.py&lt;/code&gt; or &lt;code&gt;Program.java&lt;/code&gt; can hide the files that explain how the&#xA;project works.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-project-root-supplies-shared-context&#34;&gt;The project root supplies shared context&lt;/h2&gt;&#xA;&lt;p&gt;The project root is the top-level folder that contains the project as a coherent&#xA;unit. It may contain:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;weather-project/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── README.md&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── pyproject.toml&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── src/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   └── weather.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── tests/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;│   └── test_weather.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;└── data/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    └── sample.csv&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The root is not automatically the folder containing the active source file.&#xA;While the example above demonstrates a typical Python project layout (&lt;code&gt;pyproject.toml&lt;/code&gt;, &lt;code&gt;src/weather.py&lt;/code&gt;), different language ecosystems format code and dependencies using their own standard configuration files—such as &lt;code&gt;pom.xml&lt;/code&gt; or &lt;code&gt;build.gradle&lt;/code&gt; for Java, &lt;code&gt;Cargo.toml&lt;/code&gt; for Rust, &lt;code&gt;go.mod&lt;/code&gt; for Go, or &lt;code&gt;package.json&lt;/code&gt; for Node.js/TypeScript. Regardless of the language toolchain, the project root remains the canonical entry point that groups source code with its project-level documentation (&lt;code&gt;README.md&lt;/code&gt;), tests, and configuration.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Test the Expected, the Boundary, and the Invalid</title>
				<link>https://workyoucanexplain.com/posts/test-the-expected-the-boundary-and-the-invalid/</link>
				<pubDate>Fri, 24 Jul 2026 00:00:00 -0500</pubDate>
				<guid>https://workyoucanexplain.com/posts/test-the-expected-the-boundary-and-the-invalid/</guid>
				<description>&lt;p&gt;A basic meaningful test set covers three categories: expected use, important&#xA;boundaries, and invalid input. This does not prove a program correct, but it&#xA;tests more than one friendly example.&lt;/p&gt;&#xA;&lt;h2 id=&#34;begin-with-a-specification&#34;&gt;Begin with a specification&lt;/h2&gt;&#xA;&lt;p&gt;Suppose a function calculates the mean of a non-empty list of scores from 0&#xA;through 100. It returns a numeric mean and rejects an empty list, nonnumeric&#xA;values, and values outside the range.&lt;/p&gt;&#xA;&lt;p&gt;The specification defines the tests. Without it, you may only confirm whatever&#xA;the current code happens to do.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
