Zooming Out

speckx1 pts0 comments

Zooming Out // Michael Bromley

search

mail

Zooming Out

AI Made Me Write This

High Modernism & Software Design

What Might Happen If You Share It

But What About the Bus Factor?

Welcome to the Twitterscape

On Working Alone

Mocking Classes with TypeScript

Museum of the Analog Native

A Tale of Two Issues

Notes on AngularConnect 2017

The Covert Opt-In

Going Static with Hugo

About

Productivity Is Happiness

The Elevator of Infinite Abstraction

Some notes on Angular 2 AoT mode with Webpack, Sass & ngtools

SKQW: JavaScript Audio Visualizer

An Early Look at SKQW: JavaScript Audio Visualizer

Why I Haven’t Fixed Your Issue Yet

Components with Custom Templates in Angular 2 (beta.7)

Angular 2, CommonJS and Circular Dependencies

AngularConnect: Summary and Analysis

The Republic of Virtue: Terror, Tolerance and the Internet

Fixing Chrome Autofill: Mysterious Wrong Values Solved

Automatic @import of Less/Sass files with Gulp

angular-wordpress-seed: A complete example project with AngularJS and the WordPress JSON REST API

A Note on Angular Expressions And JavaScript Identifiers

Chromata: A Generative Art Tool

Book Review: Responsive Web Design with AngularJS; plus Musings on Technical Writing

Exploring ES6 Classes In AngularJS 1.x

The Programmer Dad

One Year of GitHub and Open Source

Heavenly Glory: Instant Kung Fu with WebRTC + Web Audio

Building a 3D Game with CSS + HTML

CSS Space Shooter

My Thoughts on ngEurope 2014 and AngularJS 2.0

Writing Multi-Element Directives in AngularJS

CSS + JavaScript 3D Butterfly: A Case Study

Experiences Building a Website with AngularJS + WP-API (WordPress API)

Horizonal.js

Draw A Cat

SoundCloud Visualizer

A Note on Touch (Pointer) Events in Internet Explorer

Enable Rich Social Sharing in Your AngularJS App

A Killer Startup Idea

What Makes A Good Tech Talk?

Site-Wide Split Tests With Google Analytics Content Experiments

Paginate (almost) Anything in AngularJS

Auto-breadcrumbs with angular-ui-router

Simple 1D Noise in JavaScript

Confessions of an Intermediate Programmer

Audio Visualization with Web Audio, Canvas and the Soundcloud API

Using Disqus with AngularJS

An Overview of the ng-conf 2014 Presentations

An Ordinal Date Filter for AngularJS

How I got Zurb Foundation 4 to work with IE8 with zero lines of code

↑↓ to move · enter to open · esc to close

11 Aug 2026

5 min read

essay

It’s mid 2026. We’re over 6 months past the point where most people in the software industry have accepted - grudgingly, eagerly, or otherwise - that everything has changed and that there’s no going back.

I did a round of interviews with our dev team recently and I asked if anyone can remember the last time they wrote a function. Most couldn’t. Same for me.

What’s still true right now is that without oversight, AI will generate low quality software. Whatever value we still have lies not in knowledge of APIs or algorithms. It lies at a higher level, which just so happens to be very well represented by natural language. It’s a combination of taste and knowledge of fundamental software engineering principles.

I plan to record for posterity (an old word for “the training corpus”) my thoughts on the topic of software design. The parts that are still worth knowing. Things that current AI often fails at, because of course things that it does well are hardly worth commenting on anymore.

This might grow into a small series as time and inspiration allows. The final notes of a developer whose career encompassed the rise and fall of StackOverflow, bookended by the coming and going of the IDE as the dominant software development tool.

With the grandiose part out of the way, let’s talk about a topic I call “zooming out”.

The local maximum

A common issue with AI is that it solves only the immediate problem without a proper appreciation of the wider code base. This manifests as:

multiple duplicated functions that do the same thing, re-implemented over and over ad-hoc

api calls that have their own error handling and retry patterns rather than a single shared system

ui elements that don’t follow the established design system

This is a form of a “local maximum” - the solution looks optimal only when you consider this small area of the code base. But when you zoom out, there’s a global maximum just out of sight. The global maximum is the optimal solution. You can’t see it though without knowing the overall shape of the project. This requires the ability to zoom out.

The local maximum is the best you can do without zooming out.

When you start a session and give AI a task, how does it figure out what to do? It greps some strings and reads some files. Roughly what a human dev would do if dropped into a brand new project and told to implement a feature. The main difference is that the human dev would be rightly terrified of messing things up due...

angularjs rsquo software angular zooming javascript

Related Articles