I lead a team of very bright, young engineers. They are keen to learn new technologies, they solve difficult problems, they can present complex ideas clearly. However, there is still one thing they need to learn - staying curious.
The usual task's life cycle: we plan, we design, we implement, we measure... and then some of us are losing interest, especially when measurements go against what was planned. Some of engineers are giving up and switching to new tasks, not knowing that by investigating why the plan did not work they can further enhance their expertise. Because of impatience they are loosing their chance to improve their skills.
Just last week we designed and implemented new caching system and measured that it improved only in half of the cases. Then, the engineer, who was working on the task said that he will switch to the next task. Neither his work was completed, nor he was curious why only half of the cases were improved. I still could pass the task to another engineer, but instead I asked him to explain his results.
Curiosity is the key feature every engineer should have. Curiosity means asking questions, not settling on the status quo and not giving up when things go downhill. Staying curious is difficult, especially when working on the same problem for another hour, day, week or month, but that is how experts are being forged.
I wish you all that you'd never loose that spark that started your engineering journey.
Top comments (3)
The most exciting phrase to hear in science (in our case tech), the one that heralds new discoveries, is not “Eureka” but “That’s funny...”
—Isaac Asimov (1920–1992)
Do you think it's relevant that they're young? As in, if they were older developers then they'd probably have figured out whatever it was they need to do to "stay curious" by now?
Good point! I tend to think that it has more to do with the experience. Better description would be impatient and without adequate experience. Also there is a personality trait that I think can be involved here - always following latest technology trends, without a real need. Debugging and solving complex problems is often painful, but it helps to profoundly understand given technology. What is more, it builds an engineering toolkit, that can turn out to be quite universal regardless what technology you are working with.