The Unexpected Benefits of Weekend Projects
blog.semantics3.com
blog.semantics3.com
Pick a project in an area that you don’t have much background knowledge or experience in or one that requires a different stack of technologies from what you are familiar with. Use a different kind of database (eg: try a project using a graph database like Neo4j) or a different library/framework or even better, use a completely different language. It will not only make you a better engineer, it might just help you understand and improve your core work in different and better ways.
I think this is a lesson that is critical when trying to get better at anything, programming or otherwise. While researching an alternative to the documentation authoring tool we were using at work, I stumbled upon their training videos, and I have to admit, there were a lot of eye openers on how we could change the way we use the current software. This happens simply because different people have different methodologies, so following tutorials for one language, software, tool, can lead to realizations that apply to all of them in varying degrees.