Microservices is the software industry’s most successful confidence scam. It convinces small teams that they are “thinking big” while systematically destroying their ability to move at all. It flatters ambition by weaponizing insecurity: if you’re not running a constellation of services, are you even a real company? Never mind that this architecture was invented to cope with organizational dysfunction at planetary scale. Now it’s being prescribed to teams that still share a Slack channel and a lunch table.
Small teams run on shared context. That is their superpower. Everyone can reason end-to-end. Everyone can change anything. Microservices vaporize that advantage on contact. They replace shared understanding with distributed ignorance. No one owns the whole anymore. Everyone owns a shard. The system becomes something that merely happens to the team, rather than something the team actively understands. This isn’t sophistication. It’s abdication.
Then comes the operational farce. Each service demands its own pipeline, secrets, alerts, metrics, dashboards, permissions, backups, and rituals of appeasement. You don’t “deploy” anymore—you synchronize a fleet. One bug now requires a multi-service autopsy. A feature release becomes a coordination exercise across artificial borders you invented for no reason. You didn’t simplify your system. You shattered it and called the debris “architecture.”
Microservices also lock incompetence in amber. You are forced to define APIs before you understand your own business. Guesses become contracts. Bad ideas become permanent dependencies. Every early mistake metastasizes through the network. In a monolith, wrong thinking is corrected with a refactor. In microservices, wrong thinking becomes infrastructure. You don’t just regret it—you host it, version it, and monitor it.
The claim that monoliths don’t scale is one of the dumbest lies in modern engineering folklore. What doesn’t scale is chaos. What doesn’t scale is process cosplay. What doesn’t scale is pretending you’re Netflix while shipping a glorified CRUD app. Monoliths scale just fine when teams have discipline, tests, and restraint. But restraint isn’t fashionable, and boring doesn’t make conference talks.
Microservices for small teams is not a technical mistake—it is a philosophical failure. It announces, loudly, that the team does not trust itself to understand its own system. It replaces accountability with protocol and momentum with middleware. You don’t get “future proofing.” You get permanent drag. And by the time you finally earn the scale that might justify this circus, your speed, your clarity, and your product instincts will already be gone.
I don't understand the entitled ideas that spread through OS. You aren't entitled to anyone's time no matter how much a part of the community you feel you are. No matter how much work you put into a patch, no matter how much you may be right and others are wrong.
If a maintainer blocks your code then prove him wrong with a fork. If you say it's too difficult to maintain a fork then you are kind of proving the maintainer's point about not adding another language.
This stuff takes a lot of work to maintain. If you don't know what else to do other than try to cooerce someone to do it your way then you lack imagination and or you are being selfish and or lazy.
I woke up angry again today, so let me tell you about some of Nigeria’s problem that are not caused by the government.
1. Official theft : If you donate stuff to some orphanage, they staff will steal 70% of what you donated. Infact they’ll share it among themselves and give the rest to the kids. Same thing with public schools too.
2. Street smartness : This used to be a good thing but now it’s just a way for people to outsmart one another, and cheat the other person.
3. Area boys : The fact that it’s becoming a norm is just crazy. If you want to do foundation in your own land, you’ll have to pay these thugs, if you want to do decking, they’ll still come for money, even when you want to do borehole, you’ll still pay them and we’ve all just agreed this to be the norm. This is super crazy.
4. Yahoo Yahoo : We’ve just taken this to be the norm, some youth have seen this as a norm and they’ve categorised it as hustle. We even have parents who support their kids on this. This is a pandemic. This is a worldwide thing, even in countries with great infrastructure and education, you still have youths doing fraud.
5. Education : It’s just crazy nowadays, schools are supposed to have counsellors that’ll help students forge a career path, but it’s not like that again. It’s just crazy, you don’t even know what half the staff do over there. The quality of education has really reduced in a lot of schools and these lecturers do not really care.
6. Sexual assault : This is just terrible now, perhaps it’s not increasing, it’s just getting visible now. Perhaps it has always been this high and people are only just now strong enough to talk about it. From church, to school lecturers, to family members. Every where you turn, is a potential assault zone towards woman and a couple of these are zones towards men too. It’s however crazy that the older a guy gets, the lesser the chances of sexual assault but reverse is the case for women, the older they get, the higher the chances. Until the assaulters no longer find them within a certain desirable range. It’s just terrible. The fact that sexual assault doesnt end for women, they just outgrow it.
7. Trust factor : We now have little to no trust in or another, you can’t even buy something online without spending 1 week doing research and even after that, you’ll still get the wrong thing or a fake or nothing at all.
8. No attention to detail ; The quality of our service providers are getting worse, there’s no single attention to detail in the workforce again, painters will paint your house and you’ll see errors in different corners. They’ll fit tiles on the floor and you’ll be disgusted at the edges, they’ll fix doors with gaps on top and under. Electric wires floating around like cobwebs.
9. Driving, No wonders we can’t drive in a lot of countries, our driving skills are terrible, we just know how to move a car, no direct driving principles, half the people on the road don’t even understand the road signs, the other half have eye defects that they don’t even know about. You want to know how we keep having tankers fall up and down? Asides the road being terrible, people don’t even know how to drive, they don’t know the speed limit or the weight displacement of the tanker they’re driving. They don’t even know the height, length or width. It’s just trial and error.
People just get a car, jump on the road and pray not to hit anybody.
Complexity on the frontend can be avoided but not usually the same on the backend. Maintenance of backend becomes harder as requirements become more complex and users increase. Good understanding of lots of computer sci. concepts is needed to be able to optimise for speed & cost
Learning from the object-oriented mania
Back when I started programming professionally, every expert and every software engineering professor would swear by object-oriented programming. Resistance was futile. History had spoken: the future was object-oriented.
It is hard to understate how strong the mania was. In education, we started calling textbooks and videos ‘learning objects‘. Educators would soon ‘combine learning objects and reuse them‘.
A competitor to a client I was working on at the time had written a server in C. They had to pay lip service to object-oriented programming, so they said that their code was ‘object-oriented.
I once led a project to build an image compression system. They insisted that before we even wrote a single line of code, we planned it out using ‘UML’. It had to be object-oriented from the start, you see.
You had to know your object-oriented design patterns, or you could not be taken seriously.
People rewrote their database engines so that they would be object-oriented.
More than 25 years later, we can finally say, without needing much courage, that it was insane, outrageous, and terribly wasteful.
Yet, even today, the pressure remains on. Students are compelled to write simple projects using multiple classes. Not just learn the principles of object-oriented programming, which is fair enough, but we still demand that they embrace the ideology.
To be fair, some of the basic principles behind object-oriented programming can be useful. At least, you should know about them.
But the mania was unwarranted and harmful.
The lesson you should draw is not that object-oriented is bad, but rather that whatever is the current trendy technique and trendy idea, is likely grossly overrated.
The social mechanism is constantly in action, though it is no longer acting for object-oriented programming. It takes many forms. Not long ago, you had to wear a mask to attend a conference. Everyone ‘knew’ that masks stopped viruses and had no side-effect… just like everyone just knew that object-oriented programming makes better and more maintainable software, without negative side-effects.
You can recognize such a social contagion by its telltale signs.
Rapid Spread: A social contagion spreads quickly through a group or community, much like a wildfire. One day everyone is talking about the latest object-oriented pattern, and the next day, everyone is putting it into practice.
Amplification: You often observe the emergence of ‘influencers’, people who gain high social status and use their newly found position to push further the hype. The object-oriented mania was driven by many key players who made a fortune in the process. They appeared in popular shows, magazines, and so forth.
Peer Influence: Social contagion often relies on peer influence. E.g., everyone around you starts talking about object-oriented programming.
Conformity: People often mimic the behaviors or attitudes of others in their group, leading to a conformity effect. People who do not conform are often excluded, either explicitly or implicitly. For example, object-oriented started to appear in job ads and was promoted by government agencies.
Aggressive Behavior: You see a significant change from usual behavior as irrationality creeps in. If you criticize object-oriented programming, something is wrong with you!
Grandiose Beliefs or Delusions: Claims that object-oriented programming would forever change the software industry for the better were everywhere. You could just easily reuse your objects and classes from one project to the other. Never mind that none of these claims could ever be sustained.
Risky Behavior: Entire businesses bet their capital on projects trying to reinvent some established tool in an object-oriented manner. People kept throwing caution to the wind: let us rebuild everything the one true way, what is the worse that can happen?
You are not hired to just ship features ... ⚡
but rather ship features that matter. All great engineers I know understand the worth of their work and the business impact it brings; this way they prioritize the tasks that matter.
Do not be a transactional engineer - given a work, get it done without thinking too much about it. Operate like you own it, almost like the CEO, ensuring things are put to completion on time and with maximum impact. A few things I highly recommend you do are
1. understand the worth of your work
2. prioritize work that matters to the business
3. be responsible about your work and deliver on time
4. if something goes wrong, own it
5. acknowledge the help you got from your peers to get it done
When you get some work, step back and see the bigger picture. Elevate from being just a coding machine.
⚡ I keep writing and sharing my practical experience and learnings every day, so if you resonate then follow along. I keep it no fluff.
https://t.co/nnhcj5giK9
#CareerGrowth