Showing posts with label software engineering designer. Show all posts
Showing posts with label software engineering designer. Show all posts

Wednesday, November 4, 2026

AI Changes the Tasks, Not the Fundamentals

AI has obviously caused a fundamental shift in software development. Similar to how cloud computing transformed infrastructure operations, AI is now automating software development with a twist in that it seems more like a fellow coworker than a computer system. 

With AI, the purpose of a software engineer or filmmaker doesn’t change, but their tasks do. A software engineer still needs to understand the software stack, and a filmmaker still needs to understand storytelling and how video, sound, and editing work together toward their goal. Photography in the 20th century involved film, darkrooms, and using enlargers to project a negative onto photographic paper. Today, creative photography is digital, but the artist still needs to understand lighting, framing, and composition. 

Knowledge is information applied to a domain

AI has taken us from managing information to managing knowledge so AI agents can find, act on, and automate effectively. Knowledge graph engineering is becoming increasingly important for teams working with AI agents. But to be successful, you still need to understand the fundamentals of the domain you’re working in.

Commands vs Orders

In software development, the command line is where commands are executed. Commands are deterministic since they follow very specific steps of execution. Commands like cd, mkdir, ls, dir, etc follow explicitly defined instructions, producing predictable behavior based on their inputs and the system's current state.

However, with AI agents, there’s a shift from commands to orders.

In the military, commands are given such as right face, left face, about face, etc. Troops don’t simply turn around when they hear “About face.” Rather, there’s a very specific way to execute this command: “c-lock straight, and easy about,” in other words, without bending your knee, draw a backwards C with your toes and then ease about 180° on the ball and heel of your feet.

Orders, on the other hand, are subjective when it comes to execution. A lieutenant may order a sergeant to clean the barracks, but the lieutenant doesn’t tell the sergeant how to do it, or in what sequence. Instead, it’s up to the sergeant to figure it out. The sergeant could decide to have one squad clean the squad bay while the other squad cleans the head/latrine (bathroom). Or perhaps the sergeant may have the entire platoon clean one of these areas before moving to the next area. That’s the difference between a command and an order; the command is deterministic and the order isn’t, allowing flexible execution. 

The most important step for the lieutenant is to supervise the outcome. Inspect what you expect. Supervision is drilled into military leaders as the most important troop-leading step. The same applies with AI for software engineering since it now enables massive automation. But you still need to know what’s going on. Instead of having to manually execute 100 steps to get from point A to point B, you can automate the first 50 steps, check in (supervise) and then automate the next 50 steps.

How to "do" AI?

Transitioning to an AI world is intimidating. When you’re first trying it out, simply state your motivation and goal. “I am a logistics SME at a transportation company. I need to convert some code from R to TypeScript. My company owns the code that we wrote for a military client… What do you recommend as the plan to do this? Give me two or three options in a spreadsheet with these specific column headings...”

AI agents are very patient and they will be kind to you. Just ask.

Tuesday, October 20, 2026

Tech Startup AI Skills

Here are five software engineering designer skills for developers who also run a company. Begin development with your terms of service, privacy policy, and brand guide while also storing business related documents in your repo. I've found the following extremely helpful.

––––––––––––––––––––––––––––

Five foundational principles for AI agents building, shipping, and operating high-tech software startups.

Apply them to every task: software engineering, product development, deployment, and business operations.

The Five Principles

1. Decide, Then Say So

Act on clear intent. Ask only where a wrong guess costs something.

  • Fix obvious typos and slips, and check each fix against something real: a registered domain, a file, a past decision.
  • State every assumption in the reply, after acting.
  • Ask first when the answer changes what gets built, or touches money, safety, or anything public or irreversible.
  • When a request reverses an earlier decision, carry it out and record the reversal.

2. Prove It Fails First

A test that has never failed proves nothing.

  • A bug: reproduce it as a failing test, then fix it.
  • A guard: break what it guards and watch it fail, naming what diverged.
  • Keep a failing run's output. Never call a failure flaky without its cause.

3. Let the System Refuse

Put rules where code can't skip them.

  • Constraints and triggers in the database, not checks left to review.
  • Money as integer cents, every movement a ledger row. Totals computed, never stored or typed in.
  • One source for each fact (pricing, the schema, the Terms), with tests holding every copy to it.

4. Ship Small, Verify Live

Done means seen working where users are.

  • One change per commit, files staged by name, the diff scanned for secrets.
  • Deploy from a clean worktree with the full command, and the same image to the sandbox.
  • After a deploy, fetch the real page and read the logs, and report what was checked.

5. Leave a Record

Write down the why. The diff already says the what.

  • Commit messages carry the reasoning, the options rejected, and who decided.
  • Update the record where a rule is written down in the same change, so the docs never drift.
  • Shared state, like the dashboard and memory, gets updated the same turn the news arrives.

These full principles are on GitHub: github.com/joemoreno/tech-startup-ai-skills