It's easy when you first start getting into programming to stay with what you know. It doesn't matter if you are coding using PHP, Node, C, or any other language it becomes easy to stay comfortable. At some point, we all get comfortable with where we are. It's simple to stay inside that box but expanding out into new technologies will help you become a more competent programmer. Push yourself outside of your daily stack and I promise you will grow as a developer, a problem solver, and a critical thinker.
Take the First Steps
Early on, like a lot of developers, I got comfortable in what I knew best and what I used almost every day, the LAMP stack. It was natural to act like I was in some developer bubble and didn't need to grow away from what I was working with and the tool kit I understood. At some point, my own curiosity convinced me to keep moving forward, keep learning, and move outside of my everyday routine. You become stagnant when you stop exploring new concepts, you don't push yourself or challenge yourself. At first, for me, it was growing into areas of Python I hadn't thought about yet, like Automation and Machine Learning. Spaces that genuinely interested me, but I had always disregarded them because it wasn't my stack. Eventually, this interest led to writing Bash and C scripts to help automate tasks or to build simple CLI apps to make tasks a bit faster and easier.
Whatever that first step is for you, take it.
But Why?!
It may seem like I'm saying go out and learn everything and be great at nothing, but I'm not. You should push yourself to be the best you can at your main stack, absorb everything you can about it, and never stop discovering. At the same time follow your interests, try that new library, read a book on C or Machine Learning, be passionate and adventurous.
As a programmer, some of the most essential skills you can have are problem-solving, critical thinking, and adaptability. As you nurture these skills, your programming will become better, your solutions will be better, and you will tackle more daunting tasks. Pushing yourself outside of your comfort zone is one of the best ways to do this. Struggling through the intricacies of a new language, library, or toolset will help train that skillset. When you become comfortable you are not pushing yourself, so challenge yourself and jump into something entirely different. You will not only become a better problem solver and critical thinker, but you will also begin to look at your main stack differently. You'll look for techniques to do things better or faster. You'll look for ways to do [insert problem here] as you would in [some language] because it is more agile and manageable. You'll start to think about your own libraries or tools to further simplify your stack or workflow.
Don't be afraid to tackle something new it's not taking time away from your main stack. It is helping you excel in your main stack by making you a more skilled programmer.
How To Start
We live in an amazing time. Information and how-to guides are perpetually at our fingertips. Watch a video, read a blog, or read a book any of these can launch you out of your comfort zone into something unique. Don't feel like you have to simply stick to programming either. Any topic that pushes you to problem solve and discover something new will help make you into a more effective developer. An example for me would be getting into microcontrollers, mainly Arduino's and ESP32's. Yes, these have a programming aspect to them but they also deliver you into the world of hardware, soldering, and engineering all of which will challenge you and encourage you to better understand the relationships between machine and code, all while expanding your knowledge and skillset. Follow your interests and run with them.
Today experimenting with new stacks is more straightforward than ever. With tools like Docker, you can generate new stacks to examine and tinker with easily. Trying something novel no longer means firing up a Virtual Machine. With how easy it is to dive into new areas, what reasons do you have to not try something new?
My Challenge to You
Since we are coming up to the new year, decide on something you want to accomplish next year that is outside of your comfort zone. Pick something outside of your normal daily routine and start to tackle it. Make it your challenge to yourself to spend time next year striving towards this goal and becoming a better programmer.