About the enduring joy of software engineering and why open source development keeps me motived
In the last 15 years and especially in the last 10 I find my self most days coding more than 5 hours a day even on weekends. Software engineering and programming are craftsmanships where mainly practicing them moves you forward and it amazes me how complex writing code is and how much fun it is to create simple elegant solutions for your problems. Even after these many years I still have the feeling that there is so much more to learn and I am not sure there are other professions that would allow me to continuously grow.
I have the luck to decide myself what I and my team is working on most days and we most of the time decide to build future-proof solutions that scale well and will be usable even if the requirements of our features change, which they normally do, often even before the MVP is finished.
I think many jobs can become boring if you have to do the same again and again so I think developing your own open source projects can help here. Force yourself to grow by picking a problem and building an open source solution for it, this will keep you motivated to learn and experiment and in the end you might even be able to apply the learnings in your daily job. It will also force you to define a certain quality standard you would probably not aim for if you would write these projects only for yourself.
For me, this works very well and it's not the easiest path but its a very fulfilling one to create software that you think is worth sharing with the world.
Often I have the feeling that we are currently still in the stone age of software development and there is so much more to invent and learn especially with all the new interfaces to the physical world that push this fusion of both worlds further. Now is the time to start preparing this fusion