Aaron Norling

About

I’m Aaron Norling, a software engineer and technical leader living in North Idaho.

I have spent my career building production software and helping teams become better at building it. I began with the identity many web developers of my generation will recognize: a Ruby on Rails developer who could move comfortably through an entire application, from SQL and backend code to HTML, CSS, JavaScript, deployment, and operations.

Rails remains an important part of my technical history, but it no longer defines the boundaries of my work. In recent years I have worked extensively with Java, Go, React, Python, SQL, legacy systems, developer tooling, infrastructure, and AI-assisted development. I am less interested in defending a particular technology than in choosing an approach that makes the system easier to understand, operate, and change.

What I do

I am a hands-on engineer, but I tend to work at the intersection of code, architecture, and team effectiveness.

Sometimes that means designing and implementing an application or service. Sometimes it means creating a small utility that removes a recurring source of friction. Sometimes it means introducing tests, automation, conventions, or clearer development workflows. And sometimes it means helping a team understand the actual problem well enough that the right technical solution becomes obvious.

I have led through formal responsibility and through influence: mentoring developers, shaping technical direction, improving delivery practices, communicating across organizational boundaries, and helping teams turn ambiguous work into dependable systems.

The work I find most satisfying creates leverage. A good abstraction makes the next feature easier. A well-designed tool replaces repeated manual effort. A clear interface lets two systems evolve independently. A healthy engineering practice helps an entire team make better decisions without requiring constant supervision.

How I think about software

I believe good engineering should serve people.

That includes the end user, but it also includes the developer who must understand the code six months later, the operator diagnosing a failure, the team trying to deliver under pressure, and the organization that will live with today’s architectural choices for years.

I value systems that are explicit rather than magical, maintainable rather than merely clever, and appropriately simple rather than prematurely elaborate. I care about good boundaries, structured interfaces, useful tests, honest operational models, and automation that removes toil without hiding important realities.

A phrase I return to often is: leave it better than you found it. That applies to codebases, tools, processes, and teams.

What I build

My independent work reflects those interests.

I build developer tools, small infrastructure systems, and commercial software. Some projects help developers test ideas quickly. Others provide clear machine-readable boundaries for automation and AI agents. Others explore how capable software can remain understandable, inspectable, and inexpensive to operate.

The technologies vary, but the motivation is consistent: build the smallest coherent thing that genuinely owns its problem, and build it well enough that other useful systems can grow around it.

Beyond software

I’m a husband and father, a church leader, a student of theology, and an amateur farmer. I live with my family in North Idaho, where life includes children, books, chickens, gardens, church work, and a continually expanding list of projects.

Those parts of life are not separate from how I approach engineering. They have reinforced my interest in stewardship, patient improvement, practical usefulness, teaching, and building things that remain valuable after the builder steps away.

About this site

This site is built with Hugo and published via Mason.

You can find more of my work on GitHub and LinkedIn, or contact me at aaronnorling@aaronware.com.