You may be wondering what the Daylight saving time has to do with a software engineering state of mind.
When thinking about writing this article, at first I thought to start with the following joke and I am:
“Did you know that the Daylight saving time was started because a software developer coded a function that does smart timezone and configurable calculations and then this developer created a problem to solve to use the algorithm; hence, the Daylight saving time was born.”
This is a joke, but on a more serious note, this brings me to a state of mind in software engineering that make this joke a reality to some degree.
- How many times did we find ourselves in situations where we learned something new in programming and we looked for ways to apply it at any cost?
- How many times did we see a cool new feature from a creator of a framework and we decided to use it even though that was not the right solution for the problem or maybe there was no problem to solve in the first place?
That is the state of mind I am talking about. I am sure we all found ourselves at some point in our career doing this or at least we were involved in the implementation of some project where somebody else made this decision and we had to deliver on this.
I am not by any means implying here that we software engineers should not explore and learn new skills and expand our horizon. Keep learning, but think about it in the following way:
Gain the skills on these new features in frameworks and even learn new frameworks and programming languages, but learn it the way a lifeguard gains her/his skills. Learn it and use it when that skill will be needed.
First understand what problem you are trying to solve. Then figure out a solution and lastly see what tools/frameworks/libraries and skills you have at your disposal to implement that solution in a most efficient way. Please do not open your portfolio of tool/frameworks/libraries/skills looking which one can help you solve your problem if you have not designed and solution-ized it independently first.