1. Deeply understand the problem before you start writing code. 2. Provide in depth summary and explanation of the problem and solution in your PRs Engineers can waste months or years of their collective time because they don't understand the problem they are trying to solve. They slap bandaids and fight wack-a-moles. Both steps I listed above combat this issue.. the person(s) dedicated to solving the problem must un…
This is so interesting. What is your process of understanding the problem deeply? How do you keep track of your progress?
Most engineers ask "why" to the surface level questions. E.g. "Why is the bug doing this instead of that?" A: "Oh, because this conditional does thing..simple, just fix this conditional. Solved!"
Then the issue pops up again... The engineer probably didn't ask why enough.
The should have investigated more... "Why did the original author choose this logic instead of the alternative? Was it purposeful, or was it a truly logical mistake?". If it was purposeful, why was this alternative not considered? What was Product's intentions here?" etc. etc.