Closed chantastic closed 4 years ago
There are two big revelations that transformed the way I think about software and — consequently — my career.
If you understand the problem, you have the solution — Massimo Vignelli
I'm not a good programmer. But I'm curious and pedantic as hell. After watching a bunch of programmers, I noticed a lot of rework. This rework was the result of not understanding the feature and moving too quickly into code.
So, I decided to make the other mistake... I wouldn't start until I felt I had a complete grasp of the acceptance criteria.
Measure twice; cut once
This worked out for me but I can say — without qualification — that there is no gold star for people who do this. Organizations are not equipped to evaluate the difference in a feature that was build properly and without error and those that took 10 times to get right. But it bought me time while I was still insecure in my abilities.
Implementations are worthless... unless you can get existing systems migrated.
I won't present a new implementation before determining the migration path.
Now, this is beneath most programmers. The idea that you would subject the purity of a new, shiny, clean abstraction to the horrors of "legacy systems" is a non-starter.
That's bullshit. My best solutions have come by subjecting my thinking to the horrors of legacy systems. Because any solution that can bridge the gap between the previous and the present has a decent shot at bridging the gap between the present and the future.
via Twitter from Joe Previte