Wednesday, October 7, 2015

When to admit defeat

In the realm of engineering it is frequently wise to admit defeat.

As I've become more mature as an engineer, I've learned that there are a few signals I need to regard which tell me it's time to give up. They are:

  1. I'm not feeling patient. If I find myself moving forward with a design with little or no critical thought, I'm at serious risk of making a mistake and wasting time. 
  2. I've been trying the same approach for too long. I learned this lesson in a graphics course in college. I worked on a project for days and days, hacking at the same chunk of code. Ultimately, I didn't get it working correctly until I threw the code away and started from scratch. Starting from scratch let me use what I'd learned while working on my original solution without being burdened by it. 
  3. I can't remember why I'm trying something.  Last week I was trying to fix a bug in a project's build configuration. Toward the end of the week I found myself changing settings, running tests, then forgetting why I changed a setting in the first place.  This was a clear signal that I needed to stop, step back, and make sure I really understood the problem before proceeding. 
I can't remember any engineering problem I've faced where I found the solution by pushing through fatigue. The solutions always come when I realize it's time to step back, check my understanding of the problem, then proceed patiently. 

No comments:

Post a Comment