Staying Uncomfortable

One of the biggest struggles I have dealt with as a software developer is feeling like I need to know everything. That by not knowing, I have failed to fulfill my duty as a software developer. I know I’m not alone here. We have all felt this, whether it be in life or at work. Over the years this has tapered off, but it is still there. I hear the voice telling me that I need to learn this new language, framework or tool in order to keep up. The cost of change, in this case, is the pain of having to learn yet another thing.

The Pain of Change

Things move incredibly fast, especially in the Javascript world and keeping up with this rate of change is hard. I talk to my developer buddies about this and they all feel it too. I often hear, “Oh man, another thing to learn…” or “Wait, so what is this graphql thing? I know REST, why do I need this?” In a world where you just want to make cool things having to continue to go back and learn new things before you continue causes pain. Not physical pain, but psychological and emotional because you know it’s going to be awkward while you learn yet another thing and it is going to take time. What if the change will never end? 🤔

Embracing Your Pain

Moving from .NET to NodeJS was hard for me. I went from Visual Studio + TFS and C#.NET to using iTerm, Git and Node. This was one of the hardest transitions I made in my career. I didn’t live in the terminal prior to this and spent nearly 8 years doing everything in an IDE. I am not saying that there is anything wrong with an IDE, sometimes I prefer an IDE! But, what struck me was the liberation from the IDE, I fell in love with feeling uncoupled from my tools. It was so refreshing, but it took me a while, about a few years and there were some pretty painful parts. During that time I felt the pain of learning Git the hard way, losing a couple days of work 😭, having to rebuild it all. Looking back I realize my mistake and could have easily remedied it now. I’m sure many of you have had similar situations. By working through the pain and learning a whole new set of tools, I learned something far greater that has impacted me to this day. I learned how to embrace the pain of change by changing how I thought about the unknown.

Staying Uncomfortable

You cannot be comfortable when you do not know what is around the corner. Thus, I believe in staying uncomfortable. I know that sounds a little crazy, but it works for me. I will probably not be using React and GraphQL in the future and the tools I am comfortable with now will go away. I know this is true and that there will be more awkward learning phases. I will continue to hone the skills that I have today, but I feel uncomfortable when I get comfortable because I know change is around the corner. What I can do is prepare, I can prepare for this and transform it into something I look forward to. I look forward to changing because it is always for the better.

A Brighter Future

When we write code nowadays, we are building on the shoulders of giants. We have amazing tools, languages, a thriving open source community and nearly unlimited resources at our disposal to learn. We have never been more prepared for change. All we need to do is be open and willing to change with the times. Whether you are a seasoned developer or just starting off, don’t be afraid of not knowing, be excited to learn, embrace change and get used to being uncomfortable.