Oh man, this is bad advice. So, maybe one manager said it... but having been a CTO/dev manager, I will say that having to deal with people trying to do a job that isn't their job is a royal pain in the ass. I have had to deal with this several times, both as someone on the sidelines and as the manager responsible.
When I was a CTO it ultimately required the talk: "It's MY job to manage dev resources and figure out what levers we push where with our limited money. When you try to do a different job then you got hired for, you screw that all up and set me and the company up for failure. If you don't want to do your job, you need to look for another one"
It definitely didn't make me want to promote those people.
A much better approach is to talk to your manager and skip manager about what great career development looks like to them. And if there is no path and that's what you're after, leave. (Lots of good jobs out there that just don't have this path for perfectly good business reasons, or the funnell is too full.)
Consider the possibility that their initiative was not the problem, the problem was that they were not aligned with you.
They were doing things you didn’t want, which made your job harder. But if they were doing things you did want, they would have made your life easier. Because then you would not have to do them.
Alignment with a superior is one part of every job, in fact the higher you go the more important it is. To be clear, alignment means they know what you want done without asking every time. It means they understand your mindset, strategy, and goals. I think it’s coachable to some degree, but some people just don’t seem to get it.
Another aspect of this is that a band or label really need to hit a minimum sales quota to justify pressing albums, so people buying vinyl are actually helping them more than they would be by simply donating the profit of a vinyl purchase (which is of course not the retail price of vinyl). Bands want to release, and this helps them do it.
Preordering product – whether books, vinyl, or digital – really, really helps self-funded artists and indy arts business.
This essay is effin' brilliant, and beautifully written.
I'm not Kenyan, but I was raised in a Canadian family of academics, where mastering thoughtful – but slightly archaic – writing was expected of me. I grew up surrounded by books that would now be training material, and who's prose would likely now be flagged as ChatGPT.
Counterargument... I do technical diligence so I talk to a lot of companies at points of inflection, and I also talk to lots who are stuck.
The ability to rapidly shard everything can be extremely valuable. The difference between "we can shard on a dime" and "sharding will take a bunch of careful work" can be expensive If the company has poor margins, this can be the difference between "can scale easily" and "we're not getting this investment".
I would argue that if your folks have the technical chops to be able to shard while avoiding surrogate guaranteed unique keys, great. But if they don't.... a UUID on every table can be a massive get-out-of-jail free card and for many companies this is much, much important than some minor space and time optimizations on the DB.
Sort of related, but we had to shard as usage grew and didn’t have uuids and it was annoying. Wasn’t the most annoying bit though. Whole thing is pretty complex regardless of uuid, if you have a highly interconnected data model that needs to stay online while migrating.
Right, but if you start off with uuids and the expectation that you might use them to shard, you'll wind up factoring that into the data model. Retrofitting, as you rightly say, can be much harder.
I also do technical diligence, often times the blocker to sharding is the target company's tenancy model and schema. PK data type is certainly a blocker.
Definitely an issue, rarely the main one. You can work around integer PKs with composite keys or offset-based sharding schemes. What you can't easily fix is a schema with cross-tenant foreign keys, shared lookup tables, or a tenancy model that wasn't designed for data isolation from day one. Those are architectural decisions that require months of migration work.
UUIDs buy you flexibility, sure. But if your data model assumes everything lives in one database, the PK type is a sub-probem of your problems.
I can see how sharding could be difficult with a bigint FK, but UUIDv7 would still play nice, if I understand your point correctly. Monotonically increasing foreign keys have performance benefits over random UUIDv4 FKs in postgresql is the point of the article.
Shameless plug: People into this sort of thing might be into my partner's book coming out in April. It's a beautifully written blend of science writing (penguin biology), memoir, and terrifying asides from the heroic age of Antarctic exploration. Her accounts of the wackiness of living and working out of McMurdo are really fun to read, and include all the orientation and training for which this manual was written (though she was there in 2003). And the history stuff is just hair raising.
One of my favourite lines: "There are many ways to die in Antarctica."
(That's the Canadian publisher link, but it's coming out at the same time in the US, UK, Germany, Australia, and Russia as well, and is on all the major book things as preorder).
Any improvising musician or athlete of a complex sport knows with absolute certainty that language is not necessary for thought. And in fact, we spend years learning to turn off all linguistic thought –it degrades performance.
I literally laughed out loud. This is so on point, and so is the rest of the article.
reply