I used to work at CircleCI. It was often suggested to us that because of the usage-based pricing we were not incentivized to make builds faster.
In reality the opposite was true - experience had shown us that every time builds got faster, people ran more builds (likely because faster feedback means more iterations).
I can't always manage making things feel 'free' to my users in my dev tools but when you do, it changes the sorts of expectations you have on your coworkers. Look, it's basically free, you should just do it and stop making excuses.
This is how we use Snowflake. We treat storage as "cheap", so we are inefficient and use a lot of it. Using less would mean spending more compute time ($$) and more developer time ($$$), which isn't worth whatever pittance we would save on storage.
Indeed. I understood what he said but it just didn't seem to be the case with CI platforms I use. Especially GitLab and Travis CI which host(ed) a lot of open source projects for free.
Computing has such a bad challenge in general. We sell so much software by saying, gee it's a so hard, pick this tool & you'll never have to think about things again, everything will be easy & amazing!
It sells on fear. It sells on telling you things are hard.
Engelbartian software defies this. It says, this isn't easy, but we can grasp it together. We can see & learn better. I can help you Augment Human Intellect so we all can gain real expertise.
The industry has grown enormously selling tricycles and training wheels. It's changed the world. It's been amazing. But we really need to also be helping build better real bicycles for the mind, that we can push off under our own power with.
In some cases, that can definitely be a problem. If I'm buying a product because 'X is hard and I don't want to have to think' then there are plenty of vendors that will sell me on an overcomplicated solution to X that induces so much parasitic draw on my system that it collapses, and I am enslaved to them because I have no idea how to cope without.
In other cases, I might very well know how to do X - but someone else already has a fantastic solution that I can just buy, trading a significant portion of my time for a relatively small amount of money.
Wisdom is knowing whether you're buying a bicycle - or a stationary bike.
You're talking about specific cases, but I think the problem is cultural, has metastatized into a place where radical change in wide ways looms, has to blow away a corrupt fallen shitty & malignant way of thinking that has taken over & which poisons society at large. Consumerism lowers us.
Finding higher paths is not going to be trivial, but there are promising signs we approach the local shitty maxima that consumeristic communicative-Capitalism has bound us inside of.
To all of you I'd ask, what do you think constitutes general systems research in this age?
What are potentially transcendental pieces of computing, that can value all applications? What would making computing at large better? What paradigms, what information architectures, what systems architectures, what connectivities wouldn't specifically "ground down" enable, but what would rise up & be broadly different? What are the widely applicable techniques of computing?
General systems research- aka making computers (not applications) better- only has teunous guesses right now. No one knows, or we'd already be winning greatly. We have to guess here, about what on the ground experiences of computing would be most portably useful across problems & concerns. What operating systems would better help us compute?
Very real question, especially considering the two decades of trained helplessness that has been so successful.
Most software is resistant to understanding. Most software obfuscates & conceals.
Getting out of this trap requires more than business acumen & buyers. A sea change has to happen. We neglect the field, neglect our own involvement. Individual products can try to have healthier stances, but the system is diseased, the system enabled this rot. The remedy is more focus on General Systems Research, is on finding universal resonances & capabilities in computing & highlighting them & raising them up.
Whats needed now is an appeal to cool, an appeal to being competent & capable. The alpha geeks need to lead again, need to show their prowess, in a way that makes the paths of ignorance & ease look stupid. The home cloud people are, in my mind, the furthest forward at making these routes. But I also think there's huge universes of possibility at higher levels, for node based/flow based systems to radically reempower folks.
It's a hard ask. Building a healthy hopeful org can't happen in a vacuum, it has to be part of & parcel to already beneficial "open" currents. It's place by place, opportunity by opportunity figuring out how to play contribute without domineering, without consumerizing. There's no big playbool, but I think these ecosystems as they gain mass create buyers in volume, as participation & openness achieve critical mass.
I'm sure there's some truth to this but, working at a particular FAANG that seems to embrace and reward complexity, that's a far worse situation. The tools are often infinitely capable with numerous configuration options but the only way you'll figure out how to make it do what you want is by doing a code review of it an the entire stack of things it's built on.
If there were a science of user interaction, its second law could be called the Wide Angle Fallacy. When a disgusted user goes back to the designer saying, “Your system doesn’t perform the special function I need,” the designer’s ego is deeply affected. To regain the good graces of his customer—and to re-establish his self-esteem—the designer is likely to answer, “I can fix it in no time. I will just add another command for you.”
Later, the same man will be seen at conventions, meetings and workshops, extolling the virtues of his system, the “power” of which can be measured by the great number of commands it can execute. I believe this is usually a fallacy and users should recognize it as such.
Author here. This is me thinking out this thing I see happening a lot where incentives of some dev tool end up leading to things going sideways over time.
TLDR: Aligned incentives lead to good outcomes. Everything else is a problem waiting to happen.
What do you think?
I don't think a VC-based dev tool company is necessarily a problem, as long as they thought through how it will play out. I wish companies would talk about this more explicitly.
I wish the Selenium (and Appium) projects would get mentioned in these kinds of conversations more. When starting these projects, I was very intentional that we set things up to not screw over users down the road and that we set things up so that multiple commercial vendors running SaaS services (not just my own: Sauce Labs and Tapster) could succeed, too. And, yet, the success of the Selenium ecosystem to thrive for 19(!?) years is basically invisible in most discussions about open source funding and incentives.
I sometimes wonder if Selenium wouldn't have been able to beat back Playwright more if it had reserved the rights to run SaaS services on top and used some of the proceeds to fund more development.
It's a fantastic tool but I think Playwright wouldn't have been able to take off like it did if more dev time were dedicated to it.
You should sit down with the OP and author of this article, Adam. He has a really good podcast called Corecursive, and your story seems right in its wheelhouse.
Ironically, he's the advisor for a test tool/company combo that specifically markets themselves as better than Appium (with a quote endorsement from him on their homepage), so he's either the best or worst person to do an interview. :)
It’s sad to say that by just focusing on doing the right thing and making products people love, that they will pay more. The incentives that drive big companies are just silly and lead to poor decisions and worse products each year.
In reality the opposite was true - experience had shown us that every time builds got faster, people ran more builds (likely because faster feedback means more iterations).