- An Interesting Problem
- An Uninteresting Problem
- A Knowledge Question
- The Engineer Growth Curve
- Slope of Productivity
The Engineer Growth Curve
Every software engineer goes through a process of learning, which is intertwined with enthusiasm and the engineer's eagerness to attack particular problems. I believe it looks something like Figure 1.
Figure 1 Engineer growth curve.
At first, as a new engineer, you're full of beans and want to attack everything in the world. Then, as you grow and learn that you don't know all that much, and that software engineering is hard work, you tend to shy away from taking on too many projects. This principle particularly applies to people who were burned early in their careers by trying to do too much, realizing that not only was it not necessary to invent new solutions to old problems, but that it took away valuable time and energy from the real goal.
Many experienced engineers you meet wisely caution against NIH for this very reason—the lessons of personal experience. And their counsel is indeed wise.