What is a coder's worst nightmare? (2016)
quora.com
quora.com
shudders
* Having 6 "highest priority" projects at the same time.
* Other functions I depend on not doing their job on time but my timeline doesn't change
* A VP falling in love with a technology he read about in a Gartner report
Nothing wrong with that, but for a small development team there is a lot to make that work (infrastructure as code is another requirement), especially when the project timeline is tight energy when building as a monolith.
(Edit: one more:) Deploying changes that don't have an easy rollback mechanism. E.g. a risky change involving apps or browser cookies, and both deploy and rollback take e.g. a day.
I had something similar to this story happen to a PHP site on shared hosting in the early 2000s that at the time seemed like some kind of cursed magic it was obfuscated so well and reasserted itself every time I tried to edit it out. Luckily replacing all the source files solved it (though the breach itself was a deeper issue). I can't imagine if the problem had gone to the level of the PHP interpreter itself or even deeper how long it would have taken me to find it back then.
(I can't stand all the modal dialogs and lack of proper Epic -> Feature -> Story -> Task structure, however)
a) Non-technical.
b) Thinks they are technical.
c) Makes technical decisions and tries to ram them through no matter what the technical team members advise.
Managers, your job is people engineering. Leave the actual engineering to the engineers.
Meanwhile the codebase takes 12 minutes to compile a 1 line change. Each time you compile you forget why you liked programming to begin with and you spiral into an abyss where you think the only solution is to quit and start a hobby farm.
My nightmare tends to be times when I'm told to make something that includes x, y, and z technologies, but just make it flexible enough to handle whatever problem we think we might want to solve with our vague mission statement. (Oh, and hurry up!)
Devs/engineers' skills are technical. we can design and build you something. Why are our managers and directors okay with Product Owners or Program Managers farming their jobs onto us?
Prioritization, feature design, product design, writing product specifications, writing acceptance criteria, creating stories... why is a firmware engineer assigned to these things? bruh, what do these people even do anymore?
If you dont know what we want, lets create a plan to figure it out. Writing 2 sentence AC and rejecting iterations until time runs out is NOT A PLAN.
I recall some major GitHub outages not too long ago and learning that they'd built the system on one globe-spanning distributed MySQL database, that fell over a couple times. A GitHub designed around separate databases for projects wouldn't have that failure mode. Obviously that would create problems on the backend for aggregation, billing, etc., but those are mostly "you" problems, as opposed to the "me" problem when you topple the monster database and take away my repos.
They've since had to isolate problem children to separate databases, away from the hoi polloi in the big "primary" database[1]. So I suppose I wasn't wrong.
https://github.blog/2023-12-07-upgrading-github-com-to-mysql...
Yeah, definitely. Sorry if my post came across as saying anything else. The word "crude" simply referred to the facts that it's not complicated (which is good, one of the technique's strong suites tbh), and it's not complicated in a way that throws away parameters you might actually care about and which a more advanced strategy could consider (e.g., if you have one really big customer then you have to amend the sharding strategy).
It introduced its own set of costs (those "you" problems you mentioned, like aggregation and billing), but I think it was the right choice.