Cutting the initial draft by 66% is my first move to improve my writing. Creating a thousand-word article usually involves 3000 bits in the initial draft.
It's actually much easier to add than to remove.
I feel the same with code. The less we write, the better. Less bugs, less documentation, less refactoring sessions.
Still, we need code to program these shiny rocks.
I making the call again: declarative syntax can help here.
It removes the implicit process and focuses on the results. We stop worrying about the internal logic - our codebase is much easier to share and understand. It's still code but without the cluttered syntax.
Don't make wrong: declarative syntaxes are made out of imperative codebases. Terraform is a Go project. Kestra is a Java one, etc.
While we might write complex functions, we should only expose the nectar. Our business's value can only be found when we remove the skin.
Faking it1 or writing thousands of routines2 only adds layers of complexity.
The actual challenge is to write less code while still providing business value.
📡 Expected Contents
What it means to say "it depends"
But increasingly, when I find myself trying to write up the “best” way to use dbt, I find myself giving that answer, much beloved of senior engineers across the land.
It depends.
Sometimes people think of “it depends” as hedging, but to me it begets a wonderful sense of possibility. It depends on what your goals are. It depends on how you intend to solve the problem. It depends on knowing the problem you are trying to solve.
It depends isn’t the end of a conversation - it’s the beginning.
If you ask a question and get a "it depends" call, there is a chance you didn't think about the entire problem space.
If the next bits of discussion are about qualifying your problem, you are in a great place. You have a great partner. Please recognize them, and listen carefully.
How we got our first 1,000 users
Every startup is different, but I experienced several principles articulated in this blog while working at Kestra.
Would love to get more details on "How we got our first 100 or even 10 users"
Again a great post from PostHog team !
Senior Engineer Fatigue
Imagine you sit, you spend a long time working on a PROBLEM, you think about a SOLUTION while using a TOOL. You go to an expert, and instead of telling about this tool, he asks you questions — you have to do everything over again — you are doing the wrong thing. Such an asshole.
Question, question, question. I think that's the key learning for me this year.
Again highlighted in this great read.
My favorite Software Architecture blog
The Internet is still a marvel. We only have to do the curation and the archaeologist work.
This post from 2016 hits me as one of the best tech writing piece for a long time.
Please read it. Read it again. And then share it widely.
📰 The Blog Post
My guiding principle for writing data pipelines is that it should be soft. Issue 37 - Software should be soft
That's why I'm excited about technologies like Kestra, DuckDB, dbt, Neon, Resend, Plain, etc.
They offer declarative syntaxes and well-cooked semantics that make writing pipelines a breeze. Plus, they make the codebase easy to maintain.
I put together an ELT project using these tools - everything’s reproducible with a GitHub repository at the end of the post below 😉
🎨 Beyond The Bracket
Last month I finally played with Midjourney. Yes, I'm late to the party.
I've been triggered by this Twitter thread:
Look at these! I love this retro-futurism style.
I had to try by myself. But I quickly find out that I miss something: a good prompt.
Starting with "poster retro-futurism, etc." and adding some of these images as reference: I didn't get the result expected.
So, I humbly asked for the original prompt. No answer.
But a few days later, someone reached out: he got the prompt after sending many emails to the original creator but didn't get access to Midjourney.
We got a deal.
He gave me the prompt:
<describe what you want>, gradients, glow, grain, magazine editorial, cosmic, futuristic illustration, photorealistic --style raw --sref https://s.mj.run/mzLgwH8Ezz4 https://s.mj.run/-LwbZuANCM8 https://s.mj.run/yfE7W_sfQ0k --v 6.0 --iw .5 --no lines, grids --ar 11:17
I played with this during a whole Sunday - here are my favorite ones:
What did I like? Being able to create something I wasn't able to do by myself.
What I didn't like? Being able to create something I wasn't able to do by myself.
It was like cheating for something you truly like. I loved the results, but having to play with the prompts without real precision wasn't really fun. And in the end, it actually takes time...
So after a Sunday of playing with my new toy, I unsubscribed from Midjourney. It was fun, I even printed the results, but I didn't feel it was something I wanted to dig into more.
I can foresee the artistic pleasure of refining the prompt. But it's too much of a try-and-error with a black box rather than a true artistic expression. At least, that's my current feeling.
Do I feel the same with Cursor, v0, and others?
I don't know.
But if we gave hunters dead prey, they would not be happy. What hunters like is hunting.
What developers like is developing.
To develop, we like to have good hardware, good platform and good semantic. Not a faking machine3.
Hitting October already 😅
September has been a month of incredible personal growth. New experiences, challenges, and connections: I'm feeling more empowered than ever. I believe this momentum will carry me into a powerful 2025. Let's get everything done by then!
I hope you're doing well 🙏
See you
LLMs are only poor word inference boxes. And they usually write too much and too bad
Please stop writing variables with only two letters... nobody understands it, and neither does your future self. Write explicit code.
Yes, I'm starting to feel increasingly disconnected from the LLM bits. At least for the tasks that we find meaningful and valuable. It's a big yes for summary automation, re-framing, etc. But that's not where the real value is...