The software industry has done everything in it's power to reduce technically competent people to Ticket Jockeys. Get The Ticket, Fix The Ticket, Push the Ticket. If you're very lucky the team will all get together and have Ticket Meeting, lead by an experienced Ticket Manager.
Rich people who were too stupid to code before are now superstars. And actually brilliant engineers are made to feel stupid and redundant. Meanwhile coding has been synthesized into beige gooey calorie dense bars made from cockroaches and engineers have to line up with a small plate begging for their share from the token barons who, fortunately, at any given moment can feel generous enough to press a button that makes the tokens fly out like projectile vomit. Engineers at these companies, who sit mere inches from the spigot, frequently bless us with thinkpieces that we too should be doing what they do, and it’s actually quite unfashionable not to do so. Of course none of this is so much engineering advice as it is financial advice.
But sure, “wHy dO pEoPle hATe Ai?”
This chart should terrify policymakers. Indonesia’s middle class did not merely slow down. It went into reverse.
After two decades of expansion, the middle-class population peaked at 61.5 million people in 2018, representing 23% of the population. By 2026, that figure had fallen to just 46.6 million people, or 16.6%. That is not a cyclical slowdown. That is structural deterioration.
For years, policymakers celebrated GDP growth, infrastructure projects, commodity booms, and headline investment numbers. But the ultimate scorecard of an economy is whether ordinary people become wealthier over time. This chart suggests millions of Indonesians are moving in the opposite direction.
The middle class is the economic engine of every successful country. They buy homes, cars, insurance, consumer goods, education, travel, financial products, and healthcare. They generate tax revenue. They create small businesses. They drive domestic demand. When the middle class shrinks, the economy loses its most important customer.
The uncomfortable question is simple: where did the gains go? If GDP is growing, if conglomerates continue expanding, if commodity exports remain large, then why are fewer Indonesians qualifying as middle class than eight years ago?
More importantly, if you are born poor in Indonesia today, what ladder exactly are you supposed to climb?
If you are exceptionally good looking, perhaps you can monetize attention through social media. If you are academically gifted, perhaps you can break into an ultra-competitive institution like MBB, survive years of brutal expectations, and eventually use that platform to do something bigger. If you are entrepreneurial, maybe you build a business against overwhelming odds. If you are lucky, perhaps you benefit from family connections, inheritance, or access to opportunities unavailable to most people.
But an economy cannot rely on exceptionalism. A healthy economy creates millions of pathways upward, not a handful of lottery tickets.
The situation becomes even more concerning when you consider that well-paying white-collar jobs are becoming increasingly scarce. Many multinational companies that once established regional operations, technology centers, shared-service hubs, and professional offices in Indonesia have either downsized, relocated, or shifted future expansion elsewhere.
Those jobs were not valuable merely because of the salaries they paid. They were valuable because they transferred knowledge, management expertise, technical skills, global best practices, and professional networks into the local workforce. Over time, they helped develop intellectual capital that could later be recycled into entrepreneurship, leadership positions, startups, and domestic businesses.
When those opportunities disappear, the loss is not limited to employment. The country also loses a training ground for future managers, engineers, consultants, analysts, and business leaders. Human capital compounds just like financial capital. Once that pipeline weakens, rebuilding it can take years or even decades.
The bigger risk is that social mobility slows. When people stop believing hard work leads to a better life, trust in institutions weakens. Aspirations decline. Consumption slows. Talent leaves. The country’s most productive people increasingly look elsewhere for opportunity.
This is why Indonesia’s biggest economic challenge is no longer growth. It is upward mobility. A country cannot thrive without a growing middle class, a steady pipeline of high-quality jobs, and a clear path for ordinary people to join it. And right now, all three appear to be moving in the wrong direction.
Fork your dependencies, trim them to only your use case, never update unless it breaks for your users. I’ve been vocal about this for 10+ years. I’ve always said that updating is way riskier than latent bugs (which can be tracked and CVEs monitored).
If you are updating a dependency, it’s on you to analyze every single commit in the full transitive set of dependencies. If you dont see anything compelling, dont update!
I remember at HashiCorp once in awhile an engineer would try to update a dep or replace a DIY lib with an external one and id always ask “show me the commit we need.” Dont update for the sake of it.
Feeling pretty swell about this mentality with all the supply chain attacks happening.
I wrote these words 7 months ago.
I am more grateful today for Andrew's leadership of the ZSF, that the foundations of TigerBeetle, our compiler, should not be vibed out beneath us.
Standing up to “trillion dollar” big corp…
Zig is hard core quality.
https://t.co/xPyfOQLVDL
I strongly believe there are entire companies right now under heavy AI psychosis and its impossible to have rational conversations about it with them. I can't name any specific people because they include personal friends I deeply respect, but I worry about how this plays out.
I lived through the great MTBF vs MTTR (mean-time-between-failure vs. mean-time-to-recovery) reckoning of infrastructure during the transition to cloud and cloud automation. All those arguments are rearing their ugly heads again but now its... the whole software development industry (maybe the whole world, really).
It's frightening, because the psychosis folks operate under an almost absolute "MTTR is all you need" mentality: "its fine to ship bugs because the agents will fix them so quickly and at a scale humans can't do!" We learned in infrastructure that MTTR is great but you can't yeet resilient systems entirely.
The main issue is I don't even know how to bring this up to people I know personally, because bringing this topic up leads to immediately dismissals like "no no, it has full test coverage" or "bug reports are going down" or something, which just don't paint the whole picture.
We already learned this lesson once in infrastructure: you can automate yourself into a very resilient catastrophe machine. Systems can appear healthy by local metrics while globally becoming incomprehensible. Bug reports can go down while latent risk explodes. Test coverage can rise while semantic understanding falls. Changes happens so fast that nobody notices the underlying architecture decaying.
I worry.
Не знаю, какую там надежность слопотрансляция на Rust привнесет в Bun, но вот с такой отвратительной фигней, ни от каких use-after-free Rust не защитит.
Option<NonNull<T>> : Copy — ВО ВСЕХ этих safe методах можно получить use-after-free, подав дважды тот же указатель и его копию.
Пока AI не перепишет подобное на нормальный безопасный Rust, без спрятанного unsafe с сомнительными доказательствами, я б не рекомендовал
- Реализовывать новые фичи
- Вообще этим пользоваться
Code is actually the right abstraction.
Too often I see the future of software engineering diminished down to, effectively, writing and reviewing markdown files.
Yes, it will be hard to review thousands of lines of agent code. But maybe the takeaway is that you want less code?
Rather than just giving up ("well I guess we won't read the code, or we'll read this lossy markdown summary") this should be a signal forcing you to think about better systems.
- How can we make our codebase more verifiable? For example, fast/robust/stable tests, or moving to a typed language.
- How can we deslop or improve the architecture/abstractions of the code generated by agents? For example, spending more time up front on the codebase architecture/types before yolo generating all of the code.
- How are we going to maintain and evolve this codebase over time? The slop compounds. One great solution here is... you guessed it, learning from the past decades of software engineering! For example, you might just have the wrong abstraction entirely, leading to a ton of duplicated code.
I think the markdown folks *are* right in some ways. If you are using skills every day, for many different prompts and workflows, isn't that effectively "coding with markdown"? Kinda.
There's been plenty of ink spilled on the merits and benefits of skills. To me, skills make your style of working legible for agents. They don't replace code and that's not really the point.
In reality, there's this messy and constantly re-evolving future in which both of these things are true:
1. Skills (and markdown) are important for how you give input to the agents and ensure high-quality code & systems are created
2. Looking at the actual code will not be replaced by markdown summaries or a collection of spec documents that ignore the lower level details of the code
In summary: reality has a surprising amount of detail (and nuance)!
i never make plans i hate looking at markdown i don't wanna read markdown files i just plan by having it make changes to the code then i look at the code to see what sucks then i prompt again
Remember these predictions?
“Software engineering will be dead because of AI” —> we’re seeing more demand for sw engineering (good part thanks to AI)
“SaaS will be dead because of AI” —> SaaS businesses growing massively (in part thanks to AI)
Be careful what you believe
Human oversight is fundamentally necessary for producing anything consumed by humans. In fact, anything consumed by an entity with a value system must inherently be produced by an entity *with a similar value system* (this is why trade can extend across some national/cultural boundaries but not all). Obviously some value structures are more relevant in some domains than others—trading bare necessities (energy, food, shelter) is easier than complex value-related products.
“Intelligence” sufficient to replace human work makes this doubly true, because specific value structures (e.g. creating goods that are not to the detriment of their consumer) are not intrinsic to intelligence nor can they be explicitly programmed.
Furthermore, given that software is (for all intents and purposes) an ~infinite space, human demand can expand into that space arbitrarily, requiring more and more software work. Every serious programmer knows the feeling that there is effectively an unbounded amount of work to do, and projects to investigate, almost certainly until they get bored or die. Thus, even with improved efficiency and fewer humans needed to do oversight on any one project, you’d still expect a larger number of human overseers in the end.
In practice, given that the so-called “intelligence” is extremely limited, it’s capable of producing a small fraction of that total space. Thus, you’d expect supply for that fraction to rapidly increase, despite a fixed limit on demand for it—demand will be magnified in areas with much less supply, which require greater human oversight and authorship.