Blake Smith

create. code. learn.


throwing away the ide

I like simplicity. When I’m working with a programming language, I want my thoughts to translate as directly from my brain to the machine as I can get them. I want no thought blockers to stand in my way.

IDEs are a crutch that hinder understanding. You can develop in one for years and never really understand the entirety of the software stack you’re using. Having the computer do everything for you is easier in the short term, but in the long term leads to a gap in your knowledge. You’re choosing to use the training wheels forever rather than shed them once you’ve learned how to pedal.

I’m much less joyous when I’m working in an IDE. I weep a little inside when I see that half of my system resources are being devoted to a big bloated application that hinders my ability to think about the problem at hand. Trying to throw more machinery at this problem feels like trying to build a large house on marshland. You can do it, but it’s going to take a lot more engineering to accomplish anything that will stand up and resemble a house.

When you’re working with a language that requires you to use an IDE, run the other direction as fast as you can. The necessity of an IDE often means there’s a deficiency in the language that must be made up for with layers of more bloated tools. What power is missing in language expression requires more junk to allow anyone to be productive.

When I open up my editor first thing in the morning, I get excited to see the black screen in front of me. It represents an empty simplicity that I’m soon going to fill with today’s work. I love tools that are about getting out of my way. I love tools that put me in the driver’s seat, put my thoughts before the action of the machinery. I want more tools that are small and frugal. I want tools that do one thing and do that one thing well. I want tools that promote me learning more, not me having to lean on the machine more to accomplish important work.

Choose simplicity, choose to add to your skill and knowledge as a developer by taking away the bloat and cruft. Replace it with tools that keep your mind agile and push your understanding deeper into the realms of the computer. You’re the programmer. You’re the master and the computer is your slave.

about the author

Blake Smith is a Principal Software Engineer at Sprout Social.