With the exception of _one_ company that I worked at, pretty much every[0] company was a struggle between engineering and management. Engineering wants to get the software correct, and management wants to fire-hose features into the market. Most of the time (so more than half, at least), management tends to have a compulsion to mindlessly imitate what other companies/competitors are doing, usually without prioritization (so even if feature-parity is a good idea, usually management will want to prioritize whatever the newest feature is, and to put existing work on the back-burner). It very frequently feels like management is making strategic decisions after snorting a long line of social-media-psychosis and TED talks. It is remarkable that investors have any faith in such founders/entrepreneurs at all.
[0]: Various people I know do not even have the luxury of that one good company. Also, it -- unbelievably -- sounds much worse at other companies.
One of my first gigs as a consultant was to write a project management system for a company that didn't really need a custom project management system. The CEO pulled me aside and told me the only important feature of the project management system was that you couldn't assign the same priority to two features. I would be blamed for making such a crappy project management system, but that's what I was there for. Once I was done, I was told to make myself hard to schedule and expensive.
> the only important feature of the project management system was that you couldn't assign the same priority to two feature
That is a good idea for a project management system. Force ranking of priorities.
Even better is when you can only assign a priority once, ever. So if one thing was marked "urgent", nothing else can ever be "urgent" again. It can be "Urgent" or "double urgent" or "urgent for real this time", but not "urgent". Forces creativity and maybe even, depending on the size and business (as in "being busy") of the organization, the creation of whole new words after all existing permutations have been used, from which we all benefit.
Unless you can change the rankings. Then... Then it gets dumb real fast
> It very frequently feels like management is making strategic decisions after snorting a long line of social-media-psychosis and TED talks. It is remarkable that investors have any faith in such founders/entrepreneurs at all.
My guess is the causality is usually* the managers are pursuing things because their investors (/government ministries) hinted it was the future after snorting a line of "TED talks" and "social-media".
Irony is, I really do mean "hinted", it can be a sycophantic/fawning relationship where those with the power don't even realise what's going on. One place I interviewed at ages ago now, before the current AI boom, the CTO and I were talking about what they were doing with AI: a bunch of if-else statements forming a manually-built decision tree. But they had to say "AI" to keep interest high.
* this clearly wasn't the case with Zuckerberg's pivot to anything given his ownership structure and piles of cash, so The Metaverse is entirely his fault; Musk, despite the ownership structure, clearly ran out of investor's money or he wouldn't have taken SpaceX public, so his pivots may still have been as I posit.
One piece of managment advice I've gotten is to be very careful about what ideas you're throwing out there, because people can very easily get the wrong idea about the priority, and this can get worse as multiple layers get involved.
Well people assume that as you move up the chain of command, the ratio of noise to signal drops precipitously. If your CEO is focusing on idle musings then I would fear that you’re directionless. But in reality no one person can be laser focused for 24 hours a day, including the 5 minutes you happen to spend with someone talking about something you just read while in the elevator.
Decision trees are one of the oldest forms of AI! There are even algorithms to automatically form decision trees, though you don't need ML to have AI.
Indeed; As I recall, I mentioned GOFAI in the interview and got amused agreement.
Those algorithms were only called machine learning and it's the opposite. Before the marketers got ahold of it we reserved AI for the actually intelligent, sentient, full strength vision of intelligent systems. We now talk about general AIs and A[Super]Is.
That's not true. AI was widely used to refer to the decision systems and state machines that produced NPC behaviour in video games, and I'm sure many other things than just science fiction
Parsing used to be "AI". If you look at proceedings of old AI conferences you get this impression that anything interesting you might program a computer to do has passed through the field at some point.
Weren't they trying to parse human languages? I think that's still AI. And they didn't manage to, but what they tried ended up falling down to a more basic level of computer science.
The term AGI was coined almost 30 years ago; is that when the marketers got ahold of it?
I would say IBM poisoned the well with the term AI. Watson was probably the biggest inflection point, but there was stuff earlier too.
I'm old enough to remember Deep Blue.
It's all different forms of monkeystatus games. Humans, like other primates, have an area of the brain which monitors how dominant they are within the pack. Capitalism is all about this brain area. Despite beliefs, it has nothing to do with merit.
It’s a hard balance but in an ideal scenario there would be a good balance of tension between engineering and management/product decision makers. On one hand engineers generally will iterate for far too long and on the other product decision makers will want to birth new features daily.
Management is just responding to idiot end-users. I have been on plenty of sales calls where customers ask if features X,Y,Z are available, knowing that there’s a 99% chance they’ll never need them, but they ask anyway just because they’ve heard that someone else used a feature like that at some point in the past. If it’s not, they just assume the software is inferior.
And in B2B or B2G you have customers with checklists of features they don't actually need because the person who wrote the checklist is friends with or paid by a particular supplier, or just operating on old information.
That's how you get Windows subsystem for POSIX. Someone in the government had a checklist saying they'd only buy a POSIX compliant operating system, so Microsoft made one. Amusingly, Linux isn't (mostly because who would pay for that certification?)
Building on standards like POSIX prevents vendor lock-in, which is beneficial in the long run because it prevents the vendor from holding you hostage once you start relying on the system. It's a sensible requirement.
Microsoft's deliberately useless POSIX support is a result of Microsoft acting in bad faith and sabotaging the efforts, as usual, because the lock-in is what they want. Just like they did with OpenDocument, for example. And what they tried to do with Java and the web.
It's also because POSIX is completely useless.
Absolutely, but I think that just circles back around to the core point made upthread that we need to address the underlying causes of that behavioral pattern. The customers are often subject to some manner of utterly moronic performance metric where ticking off a list of features without applying critical thought is strongly incentivized.
It seems to me to be a behavioral pattern with deep seated cultural roots. How many times have you found someone you were interacting with becoming frustrated or impatient when he couldn't immediately grasp a complex topic? How frequently have you witnessed that directly resulting in corners being cut in order to "just get on with things"? When some plurality of participants are either unwilling to spend the time they have, or are short on time, or both, the careless attitude proceeds to cascade through the network.
Say more about the one exception you know of?
While it can overheat and become problematic if taken to extremes, I've become convinced that this kind of tension is healthy in the prioritization process, and that you need a healthy equilibrium between engineering and product/management concerns.
Thinking about the possibility that there are orgs which sidestep this and still succeed is interesting.
Most of the time customers buy the thing with the shiniest marketing, and shininess of marketing depends upon features in relation to the competition.
The Xbox 360 was called that instead of the Xbox 2, because it was gonna sit on shelves next to the Playstation 3 and MSFT didn't want consumers to look at "2" next to "3".
Apocryphally but not in reality, the third pound burger failed to compete with the quarter pounder because three is less than four.
> ...management is making strategic decisions after snorting a long line of social-media-psychosis and TED talks.
+1. Straight into my quotes file.
Please, I am much more interested about that _one_ company. Can you talk more about it ?
> making strategic decisions after snorting a long line of social-media-psychosis and TED talks
I would give you +100 for that if I could.
Very well-played (and worded). I think I'm going to steal that one.
To be the devil's advocate, engineers themselves can be hilariously incompetent too. Engineers have a tendency of assuming that budget is infinite and target audience is other engineers from same specialization. Open-source projects often have this problem where you can have dozens of thousands of man-hours poured into a project without a single end-user opinion taken into account. At some point my manager, who himself used to be an engineer, told me with straight face to convince the rest of the engineering department to drop everything and join his newest pet project despite zero potential of any business outcomes.
> Open-source projects often have this problem where you can have dozens of thousands of man-hours poured into a project without a single end-user opinion taken into account.
How is this "a problem"? The reason there are dozens of thousands of hours on an open source project is because the end-users are working on it. Some projects exist solely for someone to work on it (that is, the "working on it" is the "use case"). Open source does not expect or need to make money or get "users", so how people discover or source what they build and how to proceed isn't really a "problem".
"decisions after snorting a long line of social-media-psychosis and TED talks."
And yet - they are the one's paying you and everyone else somehow?
I think you might be missing something fundamental, start by considering that what is 'good software' is not an intrinsic measure, but a measure of what it does.
The only reason we really need 'intrinsically good' software, is if it's very long lived and a ton of people are going to come to depend on it.
People trying to make oak furniture when in most cases what we want is IKEA.
That said - AI or no AI - there's no excuse for not keeping a grip on things, whatever kind of 'grip' that might be.