1,576 karma · joined February 1, 2013
Available for consulting and contracting. Expertise in refactoring/replatforming large or complex legacy systems, migrating from in-house identity/auth systems to SaaS/self-hosted identity platforms, etc. I have extensive experience successfully managing/implementing complex 6-12 month projects on large business-critical production systems transparently without introducing downtime or customer impact.
Twitter: @evntdrvn Email: eric+hn AT evntdrvn.com Mastodon: @evntdrvn@hachyderm.io
[ my public key: https://keybase.io/erics; my proof: https://keybase.io/erics/sigs/TrWi8GM4oEOpxCK3ryal0MIVE9fFCSFHjdvKMwGWJ8I ]
Ended up getting 3-4x the pay for 3-4x less stress.
I have had much better luck sticking to a plain old relational DB stack for those phases, because it’s fast to iterate, and then consider moving to single-table NOSQL when the system/DDD has “gelled” and traffic is starting to hockey-stick
Hope that helps!
I’m curious about this aspect that you mentioned:
> forcing a library provider to maintain familiarity with all their consumers' codebases and business areas
In my experience, this hasn’t been an issue—the library authors are inherently intimately familiar with how to accomplish transparent upgrades of any of their library’s API changes in a consuming codebase. Or if there are breaking API changes that make it impossible/infeasible to maintain the current consumer behavior, that’s a very useful signal that it’s time for the library producer to go back to the drawing board because the proposed library update has issues—before it’s “too late” to rethink because the library update was formally released :) Or at least, helps trigger a conversation between the producer and consumers to see if the breakage can be accommodated without too much heartburn, or if it’s a non-starter and a pun upstream solution that works for both parties needs to be discussed/implemented.
Overall, it really reduces the “library producer in their ivory tower releases changes without fully considering the downstream impacts, causing a crapload of burden/schedule slip for XX teams” issue. And when you multiply that by N library producers in a company of a given scale, it’s easy for app/service dev teams to have a lot of their time non-productively taken up just trying to keep up with the constant treadmill of poorly handled upstream changes. So removing the externality effect by having the producers have some “skin in the game” can really help improve the experience for the consuming teams.
hth
https://learn.microsoft.com/en-us/dotnet/fsharp/language-ref...
Cheers and good luck!!!
The ASP.NET team tends to churn stuff wayyy more often than I'd like for questionable reasons, which can make keeping more painful than I'd like - but tbh I often just keep using the older ways of doing things in ASP.NET since it's almost always still supported...