When winter comes, those projects don't make sense anymore because cost cutting measures are in mandate. The same leader might even make the case for the Open Source alternative.
I've seen this enough times to know it is a pattern in our industry.
When winter comes, those projects don't make sense anymore because cost cutting measures are in mandate. The same leader might even make the case for the Open Source alternative.
I've seen this enough times to know it is a pattern in our industry.
sometimes building something new seems obvious. i have to push hard to get people to back up that obviousness with evidence. (provide me with evidence that these existing solutions are not suitable before we build a new one from scratch.
sometimes building something new seems easier or cheaper than the effort required to evaluate alternatives, especially if the solution only takes a few days or weeks of work (take the obviousness factor above into account).
another factor is the seemingly common dislike of working with other peoples code. especially when it's known that modifications will need to be made. do we take this system with a lot of legacy code where we have to modify 20% or is it easier to start over and build what we need?
You could bolt both of those on top of OSS but that can end badly.
There's more OSS than ever but there is a huge lack of stability in most of it.
In way to many companies, engineers (including engineering managers) have to explain to a non-technical C suite that OSS/FOSS IS NOT FREE and NOT GUARANTEED TO BE CHEAPER than going with proprietary or self-written, minimal, tested and concise solutions in any given context. They can be, of course, and with some engineering investment they can be for the longest time in the feature, but every case is different and a "wave" certainly is not what just removes the need to do this kind of evaluation.
this is not a FOSS question. (i would not touch a closed source library as s potential dependency with a 10 foot pole. it's either FOSS or i write it from scratch)
this is a question of the ability or willingness to adopt and maintain 3rd party dependencies.
fear of FOSS could be added as another reason, but that reason is even worse than mere unwillingness to work with other peoples code.
in order to use a 3rd party application or library as a dependency you must be able or willing to maintain it yourself, in case you run into an issue with its support. (that's one of the big points of FOSS, btw)
you are right about unnecessary features being a risk, but again, that has nothing to do with FOSS as a choice.
this is a general problem with humans. They are "convince" that they do good even when they don't.
> sometimes building something new seems obvious. i have to push hard to get people to back up that obviousness with evidence. (provide me with evidence that these existing solutions are not suitable before we build a new one from scratch.
The main issue here is that the perceived cost of starting from scratch is very low especially when from his ebony tower the programmer ignores all the issues the previous programmer had to confront.
> sometimes building something new seems easier or cheaper than the effort required to evaluate alternatives, especially if the solution only takes a few days or weeks of work (take the obviousness factor above into account).
... days which become weeks, years , decades. Why is a software project (exept TeX) never complete ?
> another factor is the seemingly common dislike of working with other peoples code. especially when it's known that modifications will need to be made. do we take this system with a lot of legacy code where we have to modify 20% or is it easier to start over and build what we need?
If builders made buildings the way programmers make SW ... Why do SW cannot improve the code ? Why do they have to "invent" the wheel every day and in the end they obtain the same thing or even worse ?
I'll give examples: 1. KDE and GNOME. With every release the interface is different. Old programs do not work anymore - they have to be ported to new KDE 4 or 5 or 6 or whatever. They were at the beginning way ahead of windows (r) and Mac now they just copy. Same with GNOME.
2. Win 10 looks the same like Win 1.0. Functionality is the same. Will Win 31 look the same like 3.1 ?
3. Dll or .so hell.
May be that is why OSS works better with System Software or Framework like software instead of End User facing Apps?
The sad thing is that you often have to play the game defensively -- I've seen semi-decent organizations end up consumed by the 80% overweight departments because bigger departments end up with all the advantages just as a function of their size, even if they're almost completely worthless. Have to keep pace with the useless hiring just so they can't say "well it's our smallest group, only 5 guys", etc.
It already has a name; empire building
I guess, when you're on the rocket part of the hockey stick it seems that you can solve anything by hiring more people. A lot of leaders kind of forget what they sacrifice when they do that.
To a certain extent:
Create a corporate culture where people can get work done without needing to be "protected" from the rest of the company around them
Select against empire-building folks.
Push a culture of reusing and improving existing tools whenever possible.
Recognize and reward people for avoiding and eliminating technical debt, not just for building new things. What you recognize and laud, you will get more of. (There's a balance here: you need both kinds of people.) Hire more collaborators and less "ninjas".
If you have enough budget, empower people to experiment with interesting things without having to hide those folks under a corporate-level justification smokescreen. Understand that some explorations and experimentation will not pay off, and support that anyway, so people don't feel like they have to hide things until they're successful.
Encourage people to report organizational issues and organizational friction, and fix it as early as possible, so that people don't have to create "shadow infrastructure" to get their job done.
If you are making a lot of money and one of your employees has performed well, and never asked you to hire more people to do their job, give them a God damn raise
https://en.wikipedia.org/wiki/Trusted_computing_base
In-house solutions are not necessarily more secure, just more obscure/less discoverable.
I have more faith in bureau shaping, which is almost the same.https://en.m.wikipedia.org/wiki/Bureau-shaping_mode
My it dep is mostly run by an Oss linux geek. This is super cool
I myself have used two of these projects heavily (Airflow, SuperSet) and am thankful to the teams for building such great products.
But did this make any business sense for AirBnB to spend on these? In this post COVID world, very unlikely this would continue.