A realisation I’ve had, prompted by something small — someone posted their first html site today on social media. It was a basic site - no CSS, no attempt at any sort of design whatsoever - obviously just practising a handful of elements. Dozens of people laughed at it. It just didn’t sit right with me that people would laugh at someone learning. The guy was clearly just learning about some html elements. The site implemented those elements, they rendered fine. Therefore it did exactly what it set out to do. Judging it against a different standard is, quite frankly, ludicrous.
It got me thinking about my own blocker. I’ve never been able to motivate myself to build anything that already exists, at least not beyond beginner level concepts. It’s always had to be novel or nothing. As a result, I stagnate at intermediate level on almost everything. It’s where reps stop feeling like they count. When you understand enough to say you can do the thing, but not yet enough to spawn valuable ideas.
On some level I was conflating novel and impressive. How that happened, I have no idea! Truly, if I had met someone who had from-scratch implementations of even half the things I’ve been interested in but had no novel ideas to write myself, I’d be impressed nonetheless. Of the smartest, most technically capable people I’ve met, that’s exactly what they are doing. Yet here I am stagnating because writing my own implementation of EEVDF is not novel. But it’s still hard and it’s still impressive. Importantly, the learning opportunities would be immense. If novelty is out of the equation, dare I say, I think writing it would be incredibly fun and rewarding!
This is important for Valknir too. It was never competing with static analysers that already outclass it. It’s a document of what I’ve learned, and that’s what it should be - not the go-to tool, not required to outdo anything.
That’s not to say there’s no place for novelty, but at the very least, it needs a precondition. You can’t have the idea for combining two approaches, or spot an unfilled gap, until you’ve built the boring straight version and can see the parts well enough to combine them. Someone I’m sure once said there is no such thing as an original idea; novelty is the result of combining existing things, therefore without knowledge of those things, you cannot be inspired. Refusing to build anything that already exists doesn’t protect your standards. It closes off the only route to inspiration and halts all further progress - that is the true waste of time!
A compilation of from-scratch reimplementations are talking points, job signals, and raw material an idea can condense out of. Waiting for the idea first, doomscrolling or thinking into the void, produces nothing (I know, I’ve tried!). Ability sitting idle doesn’t compound. A pile of shitty, unoriginal, finished things does.
We need to be comfortable being beginners even at things we’ve stopped being beginners at. Beginners make bad things in order to learn. There’s no shame in making crappy things, because there’s no shame in learning.