During the day, I use the following technologies: .Net framework, c#, asp.net, html, css, javascript, mysql, sql server, git, team foundation, visual studio. When I use these technologies, I’m in my comfort zone and there is no pain while using these tools or frameworks. It is like speaking in your native language.
Lately, I’ve been going outside my comfort zone. So what is outside my comfort zone? Outside my comfort zone are programming languages like Ruby and Python. Also Django and Rails are in this category.
Let me share a story about being outside your comfort zone. I was working with a front-end developer in a simple web site. I was in charge of the back-end code while my friend was in charge of the HTML and CSS. Using email to collaborate in this project was not working for me. I proposed to my friend to start using Git and Github. Since my friend was an expert in front-end technologies and had no prior experience with a source control tool, he was uncomfortable learning Git and Github. He was unwilling to move outside his comfort zone. At the end, he refused to use any source control.
In my opinion, software developers need to go outside their comfort zone to learn new languages, tools, frameworks. At the end of this process, we will be better developers. We will be better prepared for new challenges.