Some of the students in my Clean Coding course have criticised me for relying too much on ReSharper. I welcome this criticism and in my new recordings, I show the non-ReSharper way in parallel. But in this post, I’m going to express my point of view regarding ReSharper. You don’t have to agree with me, but I want you to spend only 5 minutes reading this short post and another 1 minute thinking about it.
What is ReSharper?
Just in case you don’t know what ReSharper is, it’s a plug-in for Visual Studio that adds many awesome code navigation and editing features that I wish we had in Visual Studio.
Visual Studio, despite being around for more than a decade and having support for building all kinds of applications, still misses on some basic code navigation and editing features. These are the features that IntelliJ IDEA (used by Java developers) have had for a long, long time.
Visual Studio is way behind what ReSharper provides and this distance gets more over time. A new version of ReSharper is released every few months, whilst Visual Studio gets updated once every 2 – 3 years. And even then, most of Microsoft’s focus is on adding more application templates (macro-level) rather than coding and refactoring features (micro-level).
How much does ReSharper cost?
First, I’m not a ReSharper affiliate, neither do I work for JetBrains, the company that develops ReSharper. I’m just one of their many happy customers. Since the day I started using this plug-in, I never looked back and the more I learned to use it, the more pleasing my coding experience became.
So, how much is ReSharper? A commercial license is $129 for the first year, $103 for the second year, and $77 for the third year onwards. But if you’re a student or work on open-source projects you can get a free license.
Many developers argue that this price is too much and that they can’t afford it. If you happen to be one of them, I have a question for you:
Do you value your own time?
What if I told you that ReSharper could save you 10 minutes a day? And that’s a minimum. 10 minutes a day of your time, is roughly 1 hour a week, and nearly 50 hours a year. Again, I’m talking about the absolute minimum.
Some of the refactoring features that ReSharper provides save you hours and hours of frustration. Want an example? In an ASP.NET MVC project, you rename an action but forget to rename the reference in the view. Your application is broken and you won’t know unless you run the application and specifically get to that page to find out. What if you didn’t test that part of your application and you don’t have any automated tests covering it? Do you know how much these simple things cost you?
ReSharper has been saving me from this particular issue for the past two to three years. If I rename an action, ReSharper will automatically update its references in views. Two years ago, Visual Studio didn’t do this, and I’m not sure if it can now!
Do you make more than $2 an hour?
I’m guessing developers, who argue that ReSharper is expensive, are freelancers, because often with employees, it’s up to their employer to pay for such tools. And in my opinion, even the smallest software development company should be able to afford $200 per developer per year. (That’s the average license fee per developer for “companies”, not individuals.)
Your employer should understand that by providing you with the right tools, they can save your time (which is what they’re paying for), and that you can deliver more and better work in less time. And this means more profit to them. If your employer doesn’t understand this, perhaps you’re working at the wrong company.
What if you’re a freelancer and you have to pay for a license yourself? Let’s do the math and see if it makes sense for you to buy a ReSharper license. So, I explained that as a minimum, ReSharper saves an average developer 50 hours a year. What is your hourly rate in USD? If you make $2 an hour, saving 50 hours of your time per year will be equal to $100. And that’s the price you pay for ReSharper. Again, I’m averaging the first three years. From year three onwards, you pay $77 a year.
So, at $2 an hour, you lose absolutely nothing. That’s breakeven. You just make your coding experience more pleasing. Less wrestling with the keyboard! Simple shortcuts to do powerful refactorings, and more importantly, cleaner and more consistent code base, which means simpler maintenance and less effort on your side. And don’t forget that you can claim that money as part of your tax return, because that’s the tooling you buy to do your job.
Is ReSharper worth the money?
A (good) handyman has a power screw driver in his toolbox. Power screw drivers are definitely more expensive than simple ones; plus, they’ll break at some point, and need to be replaced, whereas a simple screw driver may last a lifetime.
So, why would a handyman spend more money on a power screw driver when they could do the same job with a simple and cheaper screw driver? Because he values his own time. He visits your house, does the same job in less time and still charges you the same amount of money.
You, as a developer, need tools that help you do more in less time, so you can make more money for the same amount of work, or spend the additional free time doing the things you love. Wouldn’t that be great if you could spend less time coding and instead spend more time with your family, or take a class you’ve always wanted or exercise (which most software developers don’t do, sadly)?
Would you rather to spend all your day at your desk, coding, coding and coding, and when you hit your 30s or 40s end up with a back or neck pain or spend 20 minutes a day at gym?
The choice is yours
You can say: “Mosh, everything you said in this post is rubbish”, and that’s perfectly fine! But stop for a second and ask yourself if your time is worth $100 a year. Decide for yourself. I’m not writing this to convince you to buy ReSharper.
Again, I’m not an affiliate and there is no link to sell you ReSharper here. The reason I wrote this is to help you become a better and more productive developer and prevent you from developing repetitive strain injuries (RSI) due to long hours of coding. I suffered from RSI for two years and not only did it cost me a lot of money (e.g. physiotherapy, drugs, etc), it affected my mental health as well.
Just remember: at the same time you might be thinking that spending $100 a year on tooling is too much, there are other developers out there, who make the same amount of money as you do, but they value their time more. They’re happy to invest in the right tools that help them get things done faster, with less physical effort.
At the end of the day, choice is yours.