About Jim Scott
Portrait of Jim Scott

Building software, preserving the lessons.

I’m Jim Scott, a Vice President of Software Engineering who still enjoys working directly with code. I write about software engineering, architecture, open-source tools, and the lessons that survive contact with production.

Writing since
2008
Role
Vice President of Software Engineering
Focus
Software engineering
The work

Engineering is more than the code that ships.

My work spans engineering leadership and hands-on software development. As a Vice President of Software Engineering, I care about helping teams build systems that are understandable, maintainable, and useful in the real world.

Over the years I’ve worked across application development, architecture, infrastructure, databases, and production operations. A lot of what I write here comes from that overlap: the point where clean design meets legacy code, operational constraints, evolving requirements, and the occasional hard-earned lesson.

I tend to be most interested in software design, system architecture, C#, data-intensive applications, Linux, automation, and the engineering tradeoffs that appear once a system has to live in production for a long time.

This site is partly a technical notebook and partly an archive. Some articles go back many years, so they also reflect how tools, practices, and my own thinking have changed over time. I’ve kept that history intact rather than rewriting everything to look current.

I value simple designs, explicit tradeoffs, strong fundamentals, and code that the next person can understand without archaeology. I’m less interested in chasing patterns for their own sake than in understanding when an idea actually makes software better.

Most of the writing here is practical: examples, architecture notes, debugging discoveries, design principles, and observations collected while building and maintaining software. I also share open-source projects and experiments so readers can inspect the implementation and evaluate the results themselves.

Selected open-source projects

Build it. Test it. Share what works.

Some of the questions behind my writing turn into tools. These projects are public, so the code and engineering decisions are available to explore.

Isolated .NET SDK

A tool for managing and verifying .NET SDK installations without changing the normal development environment.

Copy GitHub Repo

A PowerShell project exploring how to copy GitHub repositories and preserve the parts that matter.

AI Flywheel Spec

An open specification exploring how repeatable AI-assisted engineering workflows can improve through evidence and feedback.

Explore the complete project collection →
Selected writing

Technical answers backed by experiments.

I prefer showing what I tried, what happened, and where the limitations are. These articles are representative of that approach.

Testing NuGet's New Package Cooldown

An experiment examining what a NuGet publication cooldown does—and does not—protect against.

Managing .NET SDKs

How a small SDK installation helper developed into a tool for managing, verifying, and auditing isolated SDKs.

From Specification to System

What it takes to turn an AI engineering idea into a collection of usable, independently evolving projects.

Explore the writing archive →
Keep exploring

Start with the writing, then follow the threads.