Are you a professional software developer? What if I asked you 2 years from now what new skills you will acquire? If your answer is related to whatever you will learn on your job, then you are not a professional developer! Unnecessary Creating is what you need to be doing in order to expand your skill sets.
I first read about Unnecessary Creating from Todd Henry in his book The Accidental Creative. He defines Unnecessary Creating as two things 1) something you love to do and 2) the schedule is set by you. To improve our software development skills we need to be constantly creating new code and software outside of our work obligations. Most people get paid to use a skill that they already learned. This is what they are hired to do. Rarely do company let their employees switch roles and expand their skill sets. If you are a GUI developer, most likely you will remain a GUI developer until you switch jobs. Even worst is you most likely will end up spending most of your time supporting and maintaining someone else’s work. There is little opportunity to use your creativity to make big contributions. If you stay the current path, your skill sets will become obsolete as you age.
If you look at job postings, there are high demands for people familiar with the latest frameworks. My bet is that as your software systems becomes more mature, there is less need to introduce major changes to it. Such is the nature of software development to avoid introducing unnecessary risks with adopting new frameworks.
How are you as a software developer supposed to keep your skill sets sharp and embrace the latest software frameworks? Unnecessary Creating is the answer. Do side projects for the sake of learning. Do side projects to scratch your own itch. Do side projects because it is what you love to do.
Professional baseball players practice baseball daily, but get paid for playing in games. Professional violinist practice violin daily, but get paid for professional performances. Professional writers write everyday, but only make money when their work is published. Professionals practice their craft everyday and get paid to only when they perform. Why should professional software developers be exempt? Your job is an obligation and does not allow you to practice, to make mistakes and learn from them.
Your skills will evolve slowly with practice. This practice must be intentional and purposeful in learning new software and frameworks. Practicing on the same old thing will only sharpen your current skills but will not expand your existing skills. Go forth and make mistakes, no one will ever know. You will learn more from your failures than your successes.
I love software development and always expanding my skill sets. Unnecessary Creating is my playground for experimenting with new ideas that always seems to find its way into the software that I maintain during my paid job. Being able to apply what you learned in your practice with confidence is the benefit of Unnecessary Creating.