Let’s think about some activities involving mobile apps and websites today:
One tap away to request a ride. Hotel reservations in the palm of your hand. Instant news and the ability to check in with friends at a glance. These actions were unheard of a decade ago, and thankfully new software has enabled us to experience what is like to be living with many conveniences. The new lifestyle enabled by these technologies would not be possible without software innovation.
Writing for web applications is vastly different now than in the past decades. Mobile apps are written very differently as the platform is maturing. How can you keep pace with new disruptions in technology? How do you scale yourself in creating software? It’s simple: You gotta love learning.
The great motivation for engineers to approach a new technology is curiosity. Receptivity to new technologies comes from developing a learning habit, which rewards you with great intellectual satisfaction if you succeed. Think about the time you built your first web application or your own portfolio website. I’m sure you felt you achieved something great! You probably told yourself that you feel smarter now and that you are capable of more advanced stuff!
As you start feeling smarter from your learning, you slowly become addicted to curiosity without realizing it; the curiosity will drive you to identify the next learning blocks automatically. Looking back on your first web application, you probably thought to yourself, “Ok, I made my first website, but there is a lot to improve. The UX is not sexy enough and the UI can use some nicer design. The webpage doesn’t feel snappy. Where and how should I learn?”
At this point, you would start researching and taking steps to fulfill the curiosity. There are a lot of engineering blog posts, step-by-step tutorials, video tutorials, and other resources available today to guide you. When you finish all your requirements, you feel rewarded as your efforts turned into solid knowledge.
The Learning Cycle
Back to our web application journey, you would boast about your improved web application to yourself first. You learned a thing or two about designing UX/UI. You now know how to analyze the performance metrics in your website and how to address them. This outcome sparks another curiosity, leading you into another learning adventure with a different technology. This cycle repeats as you are now binge learning.
When you learn something, change is inevitable and sometimes changes are not easy. New paradigms defy your current world. You may need to adapt to a new coding pattern. You may have to learn a new language or framework. It may be necessary to reject your first engineering decision in order to think of more holistic outcomes. In the worst case scenario, you would have to force yourself to throw out old ways of designing software in order to accept new paradigms.
Some may argue that having to adapt to changes is a main blocker for learning. However, change is what makes learning exciting. Its nature is refreshing, and it establishes a milestone to mark your current engineering skillset.
Your current languages/frameworks are nothing but tools. If there is a new tool that intrigues you, then go ahead and try it. Don’t be satisfied with your current technical skills. Think about all the possibilities and your intellectual thirst to be quenched!