A friend of mine told me about a new developer they hired some time back.
This new developer seemed like a good hire. Although young, he seemed passionate about his craft.
A few weeks into the job, however, it became clear that the new guy was always behind on his deliverables.
Any task he was assigned seemed to disappear into a void.
When asked for a status update he'd always say, "Yeah, it's 90% done. I am almost there," except that he never seemed to get there.
When probed about what is taking so long, he'd say that he was trying to do it in a 'new' and 'more efficient' way.
Always fascinated by a new and 'more efficient' tool / library / programming language, he would insist that the team adopt it because it was better.
The team had a hard time to get him to focus on deadlines. After months of trying and failing, they ended up firing him.
As software engineers, we love efficiency. It's a strength. Yet, in a business context, we must understand that efficiency is not an end in itself. It's a means to achieve the business objective.