Close up on author’s face, with the word “code” to the left, the “o” replaced by a LEGO brickl
Close up on author’s face, with the word “code” to the left, the “o” replaced by a LEGO brickl

Hate reading? Watch the original video instead :)

Oh, you hate videos? Ok, fine…

The concept that most transformed my programming career doesn’t seem to be explained anywhere.

Here’s why:

Imagine you’re a fledgling coder. A senior engineer walks up to you and says:

Coding isn’t about code.

It’s about building modular, highly-decoupled hierarchical systems that can robustly sustain continual evolution from piecemeal and simultaneous contribution.

Then she walks away.

😐

Technically, her description captures the essence of software engineering. But it’s intractable for most programmers. And even hard to apply.

Until now! Presenting…

The LEGO Principle: making the pivotal idea of modular software design accessible

The “LEGO Principle” is simple:


Person reading, with a seat and foot stand made of books.
Person reading, with a seat and foot stand made of books.
Photo by Gaelle Marcel on Unsplash

Let’s cut to the chase: the reason you can’t think your most life-defining thoughts yet isn’t because you haven’t chanced upon enough inspiration or knowledge.

It’s because your brain is still learning to “chunk” the details into the building blocks of bigger ideas. (Literally, learning science calls this process “knowledge chunking”)

What you need isn’t a sudden breakthrough you can achieve only if you’re “talented enough” — it’s a slow, beautiful process you can only do bit-by-bit every day.

Let’s explore that idea (and maybe think some thoughts we couldn’t have thought before 😉)

Stop trying to find *the thing* where you can achieve my full creative potential. Look instead for small, consistent engagements where you can build up the building blocks to think new, bigger thoughts.

I often wonder “When will I…


Photo by Ivana Cajina on Unsplash

Dear Me,

I get it. You think big. You feel super creative and inspired.

But then you struggle to execute. Your vision lingers perpetually out of reach…

Time to watch a YouTube video on How to stop making excuses and execute?

Not quite.

Your creative process & assumptions are getting in your way:

  1. You assign your vision to a medium, then that medium becomes the focus. Definitionally, every medium limits you. Because you’re focusing on the medium, you feel the vision was compromised, and it’s too discouraging to go on.
  2. You get carried away imaging the final product & it’s glorious external validation. Your process becomes about trying to reach…

Modern media burps stories. Foreground:  a blood-shot eyed stick figure freaks out (your instincts).
Modern media burps stories. Foreground:  a blood-shot eyed stick figure freaks out (your instincts).
Modern media is sort just burping tons of stories at you. And you eat it up, cuz evolution. And no systems-level problems get solved.

We’ve all felt it: the sense of overwhelm and helplessness after scrolling through news updates. Everything seems plagued with intractable problems, and all we can do is watch.

But this feeling is not a reflection of reality.

It’s a reflection of our species’ immature communication tools.

If our species is to survive (and thrive), we need to invent media forms that harness storytelling to understand complex social systems.


The engineering (and human) genius that brings ideas to life

Building software at a small startup is crazy challenging. There’s lots of work and little structure. You play many roles. You’re on tight deadlines.

Startups demand a very different work style than larger companies do. An established company builds and maintains a product. A young startup runs experiments to explore what product to make — and if a product should even exist at all.

Through it all, startups push us to confront our deepest held instincts — both as engineers and humans.

So what does a great engineer do to thrive in an early-stage startup? …


Just trust me

This is how Anjana Vakil began her JSUnconf talk about functional programming in Javascript:

“About six months ago, I knew nothing about functional programming and very little about JavaScript. I am not an expert in any of this, so this is going to be me taking you along on my learning journey and nothing more.”

Her talk has over a million views.

How did Anjana Vakil create such a wildly popular resource on a topic she clearly didn’t have the expertise to teach?

Well, have you ever had this thought: There are so many experts out there. I don’t have…


With a single line of code

D3 animation of a radial chart to lollipop charts
D3 animation of a radial chart to lollipop charts
Building complex, animating visualizations with just D3.js and vanilla Javascript gets messy fast. The Hook use-d3-transition makes this task easy by letting you use the React modularity you know and love (like in the GIF above!)

TLDR: Want a custom React hook that makes D3.js transitions/animations easy in React? Check out my npm package use-d3-transition.

Pass the attributes you want to animate, and then use what useD3Transition returns to you! Done.

What We Want: React + D3 Transitions

We just love those D3 oh-so-smooth animations/transitions.

And gosh, we love React’s declarative-ness and composability (especially when building complex data visualizations.)

So, can you have D3 transitions in React?

You Can…but, Currently, It’s a Bit of a Pain

D3/data visualization goddess Shirley Wu does amazing work explaining ways of combining React and D3 (slide summary, video).

But in my opinion, if you don’t have time to majorly refactor (or an appetite for React anti-patterns)…


Illustration by Natalia Kiseleva (eolay13)

On a dedicated channel, #dvs-topics-in-data-viz, in the Data Visualization Society Slack, our members discuss questions and issues pertinent to the field of data visualization. Discussion topics rotate every two weeks, and while subjects vary, each one challenges our members to think deeply and holistically about questions that affect the field of data visualization. At the end of each discussion, the moderator recaps some of the insights and observations in a post on Nightingale. You can find all of the other discussions here.


A woman sits cross-legged, a laptop and an array of in-progress data visualizations scattered around her.
A woman sits cross-legged, a laptop and an array of in-progress data visualizations scattered around her.
Illustration by Natalia Kiseleva (eolay13)

Part 1 of a series on creating a culture where dataviz professionals thrive and unlock the power of your data.

There’s an incredible, untapped opportunity…

It’s no secret: the explosion of data continues to revolutionize organizations. Across the world, forward-thinking leaders embrace this opportunity, pioneering new ways for their organizations to utilize their data. As data floods in, a new kind of data expert is rising up, equipped with the rare skills to bridge the gap between complex information and the human insight and understanding needed to harness it: the Data Visualization Practitioner.

While data scientists give you the raw material to be “data-driven,” dataviz professionals provide the data vision: they make critical information useful to those who need it most. The tools they create…

David Mora

Reimagining humanity’s relationship to data & AI at Intersect Labs. https://davidmora.us

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store