β€’

note

Growth, Challenge, Complexity and Meaning

I don't enjoy learning for learning's sake. I am always looking for the right level of challenge, complexity, and meaning. That's the origin of all my projects. Here is how it works.


Sandro Maglione

Sandro Maglione

Free thinking

Easy and complex are both not fun 🀨

I reached a point where most of my personal project ideas are either too easy or too complex:

  • Easy: I already know the solution, I would just need to code fast 🫠
  • Complex: I have an idea of the solution, but I know the scope of the project is huge 🀯

The key is finding something both meaningful and challenging, but also manageable πŸ‘€

This is what I mean πŸ‘‡


Unknown and growth

As you get more and more competent on a subject, the surface of what you consider "fun" shrinks.

Initially, everything is a challenge full of discoveries. But after a while, most projects have no unknowns, just execution.

And it's less fun πŸ€·πŸΌβ€β™‚οΈ

I don't enjoy something I know how to do in advance. That's my current state in frontend development: only few "real challenges" are left that would push my curiosity πŸ€”

Without growth, there is not much fun.

Challenge and complexity

That's not to say I know "everything". Quite the opposite. But:

As you master a subject, "challenge" and "complexity" tend to grow together 🀯

That's to say: projects that challenge me usually have a large scope and complexity.

And high complexity means months of work. And that goes against the idea of a "(small) personal project" πŸ’πŸΌβ€β™‚οΈ

Meaning

Then there is the question of meaning:

I don't like "learning" in a vacuum, I want to create something meaningful for me or people around me (i.e. something that someone will use after I am done with it) 🫑

Every (personal) project starts with meaning. I have a need, building an app can solve it, so I do it.

Does't matter if later it turns out I didn't really need it after all, but at least the initial spark was there ✨

That's a problem when you are minimal and focused (like me). I don't distract myself with too many interests, because I prefer investing time in mastering a few skills at the time (vertical investment).

But that also means that I have few needs, and therefore a small poll of "ideas" at the time (outside of what I am already doing) πŸ€”

Example of meaning and challenge

Sometimes I find something. A recent example is my IndexedDb PR for effect:

  • I am missing a powerful (and usable) database on the client
  • Dexie works, but it's not as type safe as I like
  • I want the effect power for a database on the client

Result: let's build an IndexedDb wrapper for effect myself πŸ’―

This combines challenge, meaning, and manageable complexity:

  • Challenge: learn about IndexedDb and more about the internals of effect
  • Meaning: I will personally use this module a lot if it works
  • Complexity: it's a single module, with a limited scope

When all the pieces fit together, I am lost in the flow of the work for weeks ✨


As mentioned, my PR for IndexedDb in effect is live:

Meanwhile, I also started exploring LiveStore for local-first:

Meanwhile, if you have an challenge that you think may interest me, send me an email to let me know 🫡

See you next πŸ‘‹

Start here.

Every week I dive headfirst into a topic, uncovering every hidden nook and shadow, to deliver you the most interesting insights

Not convinced? Well, let me tell you more about it