2 ms·
I recall being at an organization where an engineer wanted to clean up the code. He ran complexity analysis and showed some of the Java functions had a cyclomat
by xrd 3y ago
I recall being at an organization where an engineer wanted to clean up the code. He ran complexity analysis and showed some of the Java functions had a cyclomatic complexity of 1000, when it is generally agreed that this should never be more than about 20. This was because Android had a "dex limit" in the number of methods it could support at the time. Engineers couldn't add new methods because of this limit so all the functions just got bigger and bigger and no one other than the original engineers could make changes.
This engineer tried to make the team aware but the senior engineers were, IMHO, wanting to avoid culpability more than looking for a fix. The bad practice had fixes but they were expensive and they had kicked that can down the road for years. It was also a form of job security.
He was marginalized and eventually fired for having a toxic attitude.
After reading this post, I really wonder if he could have done anything differently. His attempts were sabotaged by people more committed to protecting their fiefdoms and 401k trajectories.
- krawczstef 3y agoYep, I can most definitely empathize! When I was a fresh grad I remember realizing something similar -- some people prefer "to not rock the boat" if they're comfortable... I think the key here is in determining the "desire" part for the people involved. Sometimes you need to get creative, but I acknowledge that this part can be a tough nut to crack sometimes. You can therefore also use ADKAR to figure out why your change might not go through now that I think about it.
- DonsDiscountGas 3y ago> people more committed to protecting their fiefdoms and 401k trajectories. Well yeah, why shouldn't they be? If I ever have to choose between what some young whippersnapper says is a good refactor for an android app and what's best for me and my family, I'm picking the latter every time. In a well-functioning company these two things wouldn't be at odds.
- bomewish 3y agoWhat’s the general solution here? The problem is misalignment of incentives. But paying people more won’t magically fix it. Is it that mgmt needs a lot more technical understanding? This crops up all the time you’d think there’d be a well worn solution.