> The thing is: it's a lot easier to live your life thinking you could have done X if you wanted to, than to "disappoint" these people that believed in you by trying and failing. You can always lean on this idea in your head of what you could have been, and how everyone believed in you so it must be true, but you just chose not to follow that path.
sometimes the best decision is the one you don't take.
Why not just offer dual license open source + commercial license.
If anyone is making money off the code they should pay annual fee which goes to contributors. Github can setup an escrow, manage licenses and distribute the money to contributors.
1. The best engineers are obsessed with solving user problems.
I think this problem is rooted in early education: students learn languages, frameworks, and tools first without understanding what problems they actually solve. Once engineers have experience building a few products for users, they begin to understand what matters to the user.
2. Being right is cheap. Getting to right together is the real work.
- Sadly most of the arguments are won by either someone in power or experience. Right decisions are made with consensus. You build consensus during creative process and leverage power and experience during crisis.
3. Bias towards action. Ship. You can edit a bad page, but you can’t edit a blank one.
- Every decision is a risk management. The smart people convert higher risk into lower risk. Most people struggle here to take the risk because of the fear of failing and just waste time arguing, debating and winning over each other.
The problem with point 3 is that once you start with a bad draft and everyone starts working on it you're kind of locked in to its trajectory, even when it'd be a lot better if you were to do it another way. You can't start from scratch even if you're feasibly within the window to do so, because now the work has started.
But that is still better than nothing at all, which is the point.
The people you want (or want to be) are the engineers who are smart and experienced enough to get a first draft down that is pretty much right without a long drawn out process of figuring out the best way to do X, Y and Z with all the lengthy ADRs, discussions, debates, POCs, revisions etc. over and over again. That may be necessary if you don't have people in the room who know what they're doing and have the intuition through deep experience to choose good tools, patterns and abstractions at the start. Begin closer to the target, rather than far away and iterate to it.
Some teams I’ve been in, we could go “this is shit, we must be doing this wrong” and we’d go back to the drawing board without blinking.
Other teams, just getting _something_ going, even if it was garbage, was a enormous achievement, and saying it was bad and that we should start again would be a recipe for disaster.
Thinking back, there really should be some lessions that send students off to solve user problems after having learned a programming language, where there is a much easier solution without having to program something.
Some refinement sessions that teach them how to understand the problems.
Hardware are more reliable and lasts longer. The software makes the hardware less useful over time.
Apple is moving into the subscription everything model slowly if you noticed. You can get new phone every year with Apple Upgrade Program, News+, Fitness+, iCloud+, Apple TV+ etc. Slowly you will be locked into the ecosystem and can't escape it. We might as well call Apple (Google/Amazon to an extent) an utility at this point.
I live in unbelievably hot and humid Singapore and buying physical books is essentially "not possible". Unless I blast the AC in my house 24/7, all books will eventually succumb to mould.
The are two projects that I know which attempted to solve that problem.
India's has DEPA (Data Empowerment And Protection Architecture) framework that addresses the data consent problem. (e.g bank will ask your consent before sharing the data). The advantage here is it providers legal framework as well.
The solid project from Tim Berners-Lee (who invented world wide web) is an attempt to solve that. https://solidproject.org/. This is pure consumer owned but there is no legal protection from the government.
Just a thought (I am no airline expert), If it costed 200 million to build the plane that was destroyed because landing gear can not be deployed then maybe it's time to think about building a catcher similar to spacex booster catch.
This would probably need different plane design like vertical landing and horizontal landing gears.
sometimes the best decision is the one you don't take.
reply