The funny thing about "vendor lock in" that some engineers never consider is by avoiding "vendor lock in", you run a very real risk of getting locked into your own pile of crap instead. I've seen so many examples of homebrew database abstraction layers, homebrew javascript frameworks, homebrew reporting systems, homebrew cloud stacks (if you are luckly... there is also the rack-and-stack crowd), homebrew build systems, etc. All of them have just as high, or higher, switching costs than any paid vendor. All of them are unsupported, largely crappy rip-offs of what you could buy.
I've seen companies get far more burned by these homebrew monsters than I've ever seen them get burned by "vendor lock in".
Furthermore, in my experience the usually poorly documented homebrew stuff is almost always worse than whatever crappy legacy but well-documented vendor their locked into.
If I see some custom framework it’s usually an instant facepalm.
I've seen companies get far more burned by these homebrew monsters than I've ever seen them get burned by "vendor lock in".