All of that said, today's tech landscape is far less edgy than the early days of cloud, NoSQL, and NodeJS. I'm not even sure what tech is out there that would qualify as "spending your innovation tokens" other than AI.
All of that said, today's tech landscape is far less edgy than the early days of cloud, NoSQL, and NodeJS. I'm not even sure what tech is out there that would qualify as "spending your innovation tokens" other than AI.
Don't waste your time, money and energy being someone else's guinea pig, you need to be focused on your business problems. Bigger companies that have engineers and resources to waste can try these out for you and eventually that startup you knew a few years ago will either be successful and ready for you to use or dead and you will be glad you didn't waste the effort.
Same goes for propropertary cloud services that have no business being proprietary. Biggest culprits here are data silo-ing lock-ins like DataDog, avoid like the plague. Use the standard off the shelf tools for everything you can, OSS may require slightly higher upfront integration costs in some cases, less than you think though, sometimes it's substantially faster due to integrations.
Generally speaking if a project has been around long enough folks have already encountered every problem and shared every solution. If you are stuck with some proprietary vendor for some important part of your stack and you are hitting an edge condition you had better hope you are a big enough fish for them to care (hint: You aren't).
I guess at the end of the day keep yourself off the Kool-Aid, ignore marketing speak and always ask hard questions of things and you will avoid innovation token sinks.
I call it "StackOverflowability". Pick tech where you'll find all the answers you need on SO.
I think a lot of people have been realizing through the pain of maintenance that dependencies are liabilities and that general, open source solutions with a bit of plumbing are often the lesser evil in that regard.
Given my anecdotal experience it seems to be true in the small, and I can imagine how this problem is even more pronounced in the large.
I don't know how these can ever be a "wisdom". It's often taken out of context and most people don't even understand how or where it should applied. If you blindly apply anything it's never a wisdom.
Something like "buy, don't build" earn companies $$$ and there is likely heavy influence from those trying to profit from it more than a general wisdom.
Or more simply, the urge to centralize and then decentralize has been repeated many times already in the computer industry, sometimes they are legitimate reasons, but often its grass is greener type of thinking which rules many engineering cultures.
Say you are a startup in storage niche. Well, big companies aren't going to try using you because you need to have like 10+ years of proven work record before they even consider trying. So, you find yourself in a catch 22 situation.
What you can do is find another startup who'd agree to use your product. Maybe fore cheap. Maybe for sharing some resources with them, like marketing or engineering expertise in some area. And that's the only way to get any "mileage".
Maybe you could bribe your way in, or maybe you could be "lucky" to personally know someone important in a big company, which will allow you to gather that mileage without cooperating with other startups... but if you are a nobody, not only won't you be able to get an interview with a relevant exec, you won't be even able to contact that exec to ask for an interview. These people treat their interviews as a hugely valuable service which they aren't willing to provide to the plebs.
1. Huge amounts of upfront VC investment to allow time to actually build out an enterprise ready product.
2. Leadership heavyweights with experience in the industry, both on the business relationship side and equally importantly on the technical side.
These two factors allow people like Andy Bechtolsheim and John Colgrove to build these sorts of companies and sell directly into enterprise from the get go.
This makes sense because startups have no money to spend on these things anyway, enterprises are used to accepting some free/cheap hardware to "test things out". In fact when I used to run an IaaS company we would frequently get a free box or two when AMD or Intel launched a new CPU architecture, they would push marketing spend through Dell or HP to allow us to have one to play with.
These aren't the companies I was talking about though. I was talking about chasing shiny things that are half-baked. You can't sell a half-baked storage product to anyone so it's not really a concern.
For example, if you were using Typescript to build a mobile app, you might be tempted to use TypeORM (32k stars on GitHub, been around since 2016, widely used). If you wanted to also use transactions and concurrency then this would be a mistake, because you would quickly find that TypeORM's SQLite adapter doesn't have a connection pool or locking for transactions, and will happily execute statements inside a transaction then roll them back without your knowledge.
I think this actually speaks well to the point of the article. We can simplify the logic a lot by using boring tech, in this case, separating the query builder logic from the connection/transaction logic. Switching from one very complex ORM, to two more understandable simple systems, and getting back to more grass roots with querying.
ORM is a great example of something boring yet bad.
The fact that SQLite supports those is of course great, but maybe there are easier ways of serializing access to it.
Writing an app in a microservice architecture with services in Rust, Go, and Nim. Database is a serverless DB like Planetscale. Front end in HTMX. Etc…
I think any tech your team is not already familiar with, and isn’t the standard pick, is an innovation token.
You may not get all the way with them, but by the time you have to worry about that you can hire someone else to do so.
That's what I always tell myself.
Guest languages on the JVM and CLR.
Mobile apps with hybrid stuff, instead of the SDK languages.
Also using SPAs for what would be doable in PHP.
Spending a few hundred K on Unnecessary Kubernetes (and the surprises that result) is definitely still a popular thing amongst junior/mid devops people.
If you wouldn't mind reviewing https://news.ycombinator.com/newsguidelines.html and taking the intended spirit of the site more to heart, we'd be grateful.
that's why they call it innovating. If you knew already, then it wouldn't be innovating, since it's not the innovation that's new.