Over the weekend, I attended the Nodevember developer conference in Nashville, TN. I was fortunate enough to speak and showed a demo of how we can break the shackles of our big, bloated IDEs in software development. Now, that’s not to say there’s no value in IDEs… but I don’t need to explain my complete position, here. You can watch the video of the talk, if you want to know more. One of the things I say in that video, though, has stuck with me for the last few days:
“You Are Not Your IDE!”
I said this with purpose, as a continuation of the conference’s opening keynote speaker saying, “You are not your code,” and as a play on the “Tyler Durden” character and his “you are not …” lines from the movie, Fight Club. The more I think about this line and the rant that I wanted to go in to, the more important I think this idea is. But I keep coming back to it, not because I think your favorite IDE is worthless… but because “you are not …” is a two-way street.
The Way It’s Always Been
We often get stuck in a rut as human beings – not just as developers, but as humans in general. We fall in to comfortable habits, and we do them without thinking.
I moved in to my current house almost 10 years ago. While settling in, my dad bought me a large set of drill bits and other attachments knowing I would need them. A few hours after getting the new bits, I needed to put a hole in something. YOU WON’T BELIEVE WHAT HAPPENED NEXT! (LOL – sorry. couldn’t resist a bit of link bait. :D) After figuring out what size drill bit I needed, I went searching through the old tools in my garage, hoping to find a small pack of drill bits that I knew I had … completely forgetting that I had this brand new, well organized, right-in-front-of-my-face case with 90+ bits and other attachments in it!
We All Have Habits
It wasn’t that I liked my old drill bits better. In fact, I didn’t like them much at all. I remember thinking that I hoped they would survive the job and be the right size. I had new drill bits, but I had already forgotten about them because in the short time that I went from getting them to needing them, I fell in to old habits and comfort – even if that comfort was more painful than what the new thing would have been.
It’s easy for us to forget that humans have ingrained habits – whether it’s ourselves or others around us. It’s easy to fall back in to our comfort zones. Things that are familiar are more comfortable than things that are not, even if they are not better.
It’s no wonder, then, that people still use older tools from bygone times. We get comfortable with them and we have a hard time putting them down (I use Vim, after all… one ancient editor!)
I like new tools and new things in software development. It doesn’t mean I don’t get stuck or that I always have time to try new things, but I do make an effort. And let’s face it – half the time that I want to try a new tool is just because it’s new. It may or may not solve any problems or do something better, but it’s a new toy! And I want to play with it!
There’s not necessarily anything wrong with this. Allowing myself to play with the new, shiny development tool toys gives me an advantage at times. It helps me to find tools that really do help me improve in some way. This talk that I gave at the conference? It was full of the new toys that I have been playing with and using for the last year, or in some cases many years.
But new toys aren’t always what we need. Sometimes, the old toys that we keep going back to out of habit, or the toys collecting dust in the bin, are the ones that we really need.
The Old Toys Are Nice, Too
One of the problems with new toy syndrome, is that we forget about other people that just need to get things done. We forget about comfort zones and familiarity. We forget that not everyone can be as productive as we are, with something new. Not everyone has time to play with new toys and learn new things, either. I don’t event have that much time, in spite of what it may look like to some people.
When we forget about the nice old toys, or even the toys that are kind of broken but still help someone get the job done, we sometimes get a little mean. We point and laugh at the kid with last year’s toy, while we run off with our new friends playing with this year’s toy. But, that’s not ok.
You Are Not …
My Fight Club ranting moment had a point – being overly attached to our tools, our language, our development environments, our whatever… that can do damage in a lot of ways. But the “You are not …” meme is a two way street. It’s true that you are not your IDE of choice. But, what is your IDE of choice? Is it an IDE of old? Is it a vendor-specific IDE? Or is it a conglomoration of command line tools that you’ve strung together, as I’ve shown in the above video?
You are not your code.
You are not your programming language.
You are not your IDE, or command line tools!
You are not the contents of your GitHub repository!
You are not … !!!
It’s easy to think we’re doing better than others because we’re playing with the “cool kids”. It’s easy to laugh at others and think less of them, too. But it’s far more valuable for everyone – ourselves included – if we remember that level of comfort and familiarity in the old tools and techniques. It’s also equally as important to remember that we are not the new tools that we are using. We are not here to hang with the cool kids, either. We’re here to do our jobs; to solve problems and hopefully make the world and the lives of other people better. If we can remember that, we can empathize and we can relate. We can show people the new things and share our new toys.
And maybe… just maybe we can even help someone else become productive with the new tools that we’ve found.
But not always. And that is ok.