A Non-Coder’s Take on the State of Code (and LEGO)

I’m not a techie. It was all I could do to track with Paul Ford’s epic article What is Code (highly recommended).

But I’m utterly fascinated with software and the way it progresses and the shifting nature of its use and all the competing paradigms around it. So here’s my shoot-from-the-hip assessment of the near past and present state of software development.

I’ve got to use an analogy I can easily grasp, and that is LEGO, the glorious little blocks I spent my youth playing with instead of going to school or learning math. It might be a forced analogy, and I don’t pretend to have an accurate chronology of developments in code. This is entirely from a non-tech user’s perspective – the world of code unfolding over the past 20 years or so as I have experienced it.

Bits and Blocks

First you have individual pieces. To make anything, you need to do all the work. There are no pre-fabricated hunks or simple instructions to follow. It’s all free-form and at the lowest possible level of resolution. You have to build everything (well, almost everything. You do get some pieces that are 2×3 or 1×4, instead of all strictly 1×1).

This is how I first encountered LEGO and code. Either little bits with no meaning but that which you construct, or someone else’s finished masterwork. The obscure part is everything in between the basic blocks and the beautiful display.

In my first exposure to computers, the Dos prompt felt like working with individual LEGO bricks. You had to just know specific things to type. I could cobble together four walls and a roof, but was utterly stupefied how people took these characters and made things like Brick Breaker, or later Windows (feats of equal import to me at the time).

Sets and Systems

A little later, everything came in sets. You had instructions. The right pieces were there. It wasn’t super hard if you were good at following rules. Not a ton of imagination, but reliable end results. You could turn the blocks into the end product you wanted and it looked good! There were even a few plan B or C variations sometimes.

Of course, some people would hack the sets apart and make their own stuff, but it almost always had an inferior aesthetic quality even if it was more creative. The sets were designed to look nice, and cobbling them in new ways had a less shiny sheen.

This is sort of like HTML to me. When I started blogging, posts were not pre-formatted. You could get font size changes, bold, underline, and even add in images (sometimes), but only if you followed some prescribed instructions. Platforms delivered these basic instructions and you could build things within the limits of the platform. Again, if you were a real hacker, you could do all kinds of rule bending, but normies like me had our hands full just remembering to put </p> in the proper place so it would come out looking like advertised.

Custom Crimes and Creations

Enter custom pieces.

Custom LEGO pieces are cheating. But also amazing. It began with things like pre-molded rope bridges and weirdly shaped glass windshields for spacecraft. These custom, one-off pieces lacked the adaptability and interchangeability of core building block pieces, but they made up for it be granting the ability to make things with way more beauty and art.

No more windowless airplanes. No more importing non-LEGO items like Scotch tape to complete a creation. No more bending pieces into curves, or breaking the handle off a medieval shield to make a laser pistol.

The introduction of custom pieces made just for specific sets brought a lot of controversy to LEGO creators. What else are you supposed to do with a molded shark or palm branch, besides the one Pirate Island set it was made for? On the other hand, it looked pretty cool. On the other other hand, what kind of idiot couldn’t make their own solution for palm trees, and one that could be re-used elsewhere? Isn’t that the whole point? Where would this lead? Someday we just buy one single piece of perfectly molded plastic with no blocks or building at all?

Being a normie, I lack firsthand experience of the parallel angst in the world of code. But I can see just enough how all the tools that let dumb, uncreative users like me make reasonably good looking shit out of the box might make some real coders squirm. I love WordPress. I don’t need to know HTML anymore (and hence forgot it all), but I can drag and drop all kinds of stuff into a blog post, or even a webpage. I can use prefabricated buttons and widgets to make a site that looks kinda cool.

Yeah, it’s less flexible and modular. But no Scotch tape or deep skill is needed!

Brands and Bigness

Custom pieces are one thing. But LEGO kept going. Kids these days have no idea what it was like to make Star Wars stuff with normal pieces. They don’t even know what it’s like to take other spaceship pieces and make them into Star Wars ships. Now, they buy prefab pre-branded Star Wars sets, and LEGO building is barely different from model building!

Every movie and comic books and cartoon gets a branded LEGO set now. Most of what kids buy and interact with is totally prepackaged with a full aesthetic and identity. You can’t even really disassemble the mini-figures to make new faces, because they’re all molded spider legs and bat wings and weird shit from specific scenes in specific sequels to specific movies.

There are still niche users who buy the old plain bricks, and niche magazines to serve them and their custom, highly respected but somewhat antiquated art form.

This phase is sort of like the coming of age of social media platforms. People don’t even follow instructions and use custom pieces to make a WordPress site now. They just jump on the fully constructed and branded Facebook or LinkedIn or Medium platform. Big giant brands hand you a fully completed product. You barely build anything anymore. Instead, you do that thing true LEGO kids like me hated…you “play”.

The kid who would interrupt a mega city build to say, “Can we stop building and play with them now?” was such a pain. “Play”? What does that mean? Make a bunch of plastic characters dance around a set? Who cares! We’re building here!

Software entered the “forget building and just play with it” phase too. Most users didn’t do any building at all. Everything was built (and overbuilt).

Even in business applications, the move to giant one-stop-solutions emerged. HubSpot, SalesForce, and other tools began trying to do everything. No more cobbling sets together, let alone individual blocks. You just buy the damn thing and play with it.

Sets to Stacks

Signs of hope. Backlash ensued. Even the LEGO movie went out of the way to re-embrace the glories of unstructured, unorthodox, unbranded builds.

Some kind of harmony seems to be emerging. Big branded sets aren’t going away. Lots of LEGO normies like them. They look like the movies. But more open-ended sets are coming back on line. More basic bricks. A resurgence of basic builds. More ways to connect sets to each other.

The layers of LEGO history form a kind of “stack”. My kids have a glorious stack. They have bins of my old, faded, basic blocks. And my old, semi-custom pirate or space sets. They also have totally custom branded stuff from movies. And you know what they do?

First the build the branded set. They marvel at its beauty for a day or two. Then they start layering in the rest of the stack. They patch together old and new, custom and basic. They make the sets and pieces get along and connect to create new functions and forms.

The old unbranded agnostic pieces perform a Zapier-like task, helping the rest connect. Cinderella and the Avengers can enter a yellow and red castle and fire broke-shield laser pistols and a pirate shark. It’s all possible, across the spectrum from novice to expert, branded to original.

This feels like the emerging world of “nocode”. Normies like me can actually build a lot of really cool stuff. We don’t need to know how to start from scratch, nor are we restricted to big branded sets made by someone else. We can patch Airtable onto WordPress, throw a custom logo from Canva into a living doc by Notion. We can make Zapier tell Slack to notify us when someone hits Webflow and opts into Mailchimp.

We have a stack. A combo of small agnostic pieces and big giant branded platforms we can work into whatever we want.

And purists can make their piece (get it?) with the coexistence of big branded custom stuff and the old school basic blocks.

OK, I’m done. Coders can pick apart my cumbersome analogy, but LEGO detractors don’t come at me. I’m right and you’re wrong about all things LEGO.