Engineers are creative creatures who like to solve problems and build things. When you build something it becomes a part of you, no wonder that IKEA desk that took you 2 hours to assemble in an apartment has a lot of sentimental value than the Haverty desk you paid 3 times the price and just shipped it to home. Gardeners are also like that and the blackberries I grow in my backyard have a lot of sentimental value than the sweet ones I can buy from the store even though the home grown are sour 50% or more times . Given a problem there can be many designs to solve it and sometimes we pick one design and worked tirelessly for days to add few new classes and a shining new framework and then send it for code review and someone outsider with a devil's advocate view comes up with a new simple design to solve the same problem or sometimes unconsciously you would come up with another simple solution to the same problem but you hold back and you keep investing time trying to make the
I was doing grocery shopping during the New Year holidays and the store had a lot of 1000 piece puzzle on sale for $11. My son had never done more than 100 pieces and I was like hey this seems interesting for him, so I bought one. We started working it on Jan13th and finished between 4 people on Jan25th. During the journey of finishing I saw a lot of similarities with complex engineering projects. I think everyone in engineering should do one of these and here are some of the things I learned. Underestimating the task : I grossly underestimated the task and amount of time it would take for my son to do it. Teamwork : After a day or two I realized my son lost interest, the whole family had to be involved to keep him motivated on it. Prep work : Like engineering projects, you need to do a lot of prep work like: Turn the pieces down Study the patterns Sort the pieces Divide and rule : Like engineering projects you need to pick some quick wins initially to get off the ground