▲ | atomicnumber3 10 days ago | ||||||||||||||||||||||
"the owners of the business logic do not treat the business logic with enough care." Certainly, there are such people who simply don't care. However I would also say that corporations categorically create an environment where you are unable to care - consider how short software engineer tenures are! Any even somewhat stable business will likely have had 3+ generations of owner by the time you get to them. Owner 1 is the guy who wrote 80% of the code in the early days, fast and loose, and got the company to make payroll. Owner 2 was the lead of a team set up to own that service plus 8 others. Owner 3 was a lead of a sub-team that split off from that team and owns that service plus 1 other related service. Each of these people will have different styles - owner 1 hated polymorphism and everything is component-based, owner 2 wrapped all existing logic into a state machine, owner 3 realized both were leaky abstractions and difficult to work with, so they tried to bring some semblance of a sustainable path forward to the system, but were busy with feature work. And owner 3 did not get any Handoff from person 2 because person 2 ragequit the second enough of their equity vested. And now there's you. You started about 9 months ago and know some of the jargon and where some bodies are buried. You're accountable for some amount of business impact, and generally can't just go rewrite stuff. You also have 6 other people on call for this service with you who have varying levels of familiarity with the current code. You have 2.25 years left. Good luck. Meanwhile I've seen codebases owned by the same 2 people for over 10 years. It's night and day. | |||||||||||||||||||||||
▲ | Buttons840 10 days ago | parent | next [-] | ||||||||||||||||||||||
What you say is true, but I meant the product owners are the one who don't fully weigh the cost of their decisions. I once tried to explain to a product owner that we should be careful to document what assumptions are being made in the code, and make sure the company was okay committing to those assumptions. Things like "a single order ships to a single address" are early assumptions that can get baked into the system and can be really hard to change later, so the company should take care and make sure the assumptions the programmers are baking into the system are assumptions the company is willing to commit to. Anyway, I tried to explain all this to the product owner, and their response was "don't assume anything". Brillant decisions like that are why they earned the big bucks. | |||||||||||||||||||||||
▲ | eastbound 10 days ago | parent | prev [-] | ||||||||||||||||||||||
> consider how short software engineer tenures are! Employees aren’t fired. They leave for a 10% increase. Employees are the ones who seek always more in a short-termist way. | |||||||||||||||||||||||
|