Comments

What is ReSharper and is it worth the money?

Some of my students at my Udemy courses, especially those taken my Art of Writing Clean C# Code 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 spend only 5 minutes reading this short post and another 1 minute thinking about it.

What is ReSharper?

resharper_logo

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.

 

 

 

Tags:

25 responses to “What is ReSharper and is it worth the money?”

  1. Jason Scott says:

    Why wouldn’t you use all the tools at your disposal. It’s not far from saying “use a plain text editor – visual studio makes it too easy”. Or never Google anything.

  2. I’m use ReSharper more than 2 year and I’m first person who use this extension in my company. In first days my friend say why you use that, you need to do that thing yourself and now almost all of them use ReSharper :)

    I wan to add one more thing, ReSharper also show your code other alternatives, more short more good(depend on your use) more productive and you learn new code write types and that is excellent. Because it show that on your own production code :)

    • admin says:

      Glad to hear you got the whole company onboard! Good on you!! You’re absolutely right about the fact it shows other alternatives. Often, when it’s used consistently by various team members, the code base looks consistent. If you go to a different company with a different team who follow ReSharper suggestions, the code base looks familiar. You’re not surprised by random weird naming conventions, unused parameters or variables, etc.

  3. Nick says:

    Hi mosh

    I think you are completely right to be telling people to use reshaper. It is a very widely used tool and knowing how to use it is part of being an up to date c# developer.

    There’s always pressure to turn around a project quickly so this definitely helps. It is an expensive initial cost but if you’ve had to buy a commercial VS licence it’s not much more.

    Nick

  4. Abdisamad says:

    Thank you Mosh. This is really a clear message for those who understand it!

  5. sinip says:

    Since VS 2015 is officially available, I wonder how does ReSharper fits into latest version?

  6. Everyone uses a mouse too much today. When I had my first computer I didn’t have a mouse, (Commodore 64), my second computer, (HP 486), did have a mouse, but I had to spend so much time in DOS that it was almost useless. I got a Dell laptop next and one day my trackpad went out. Guess what, I knew how to navigate in windows XP without it. Today I rely heavily on the keyboard. It frustrates me when I see new developers scroll to the bottom of a page with the mouse, click and drag to highlight a word, change it, go up and click the SAVE button, then click the green arrow(run).

    To continue this discussion, Resharper is a tool, it costs about $100. A mouse is a tool, and if you get a good one it is anywhere from $20-$100. People use a mouse because it helps speed up their productivity for certain tasks. Resharper is like a laser guided rip saw. It does the same job as a hand saw. You get the same results, just faster.

    If you can’t afford Resharper, sell your mouse on Craigslist or just throw it away. In about 3 months you will see the benefits of using a TOOL. And instead of buying a new mouse just buy Resharper because you won’t need a mouse after that.

  7. John Sudds says:

    I always ask: Are you a professional software engineer or not? If you are a professional, then why not spend some money on professional tools? I recommend ReSharper to anyone who will listen, and there are a lot of resources for anyone who cares to learn about it.

    I have only one gripe: that online courses that deign to teach a certain technology do it in the purest form, with the most basic tools. But, if you want to teach a course on “.NET development with ReSharper” more power to you!

  8. Namgeun Jeong says:

    If you want to enforce a coding standard of your company, you can use StyleCop (by Microsoft) and build your own library to check your code for free. (yet you need to learn how to build StyleCop library.)

    Resharper is much more than coding standard enforcer. It does a lot of static code analysis, which will save developers a lot of time early on.

    But using Resharper requires a lot more memory/CPU resources than already heavy Visual Studio alone does.
    You definitely need better hardware at hand if you really want to take advantage of ReSharper.

  9. Seyyed says:

    You should use ReSharper before you judge. It makes coding unbelievably easy. I started C# from scratch but I had ReSharper on my system and you cannot believe how much I learned based on ReSharper recommendations.

  10. Mike says:

    I was actually HAPPY to see you use resharper in your videos. I’ve always wanted to use it, but it seemed a little daunting to learn. So it’s great when you show us how to get off the ground with it for common scenarios. I look at it like unexpected “bonus” material! Thanks!
    p.s. I bought all your courses because I think you’re a great instructor …now just need to find more time to watch them all!

  11. kamil says:

    Hai Mosh, I’m a student and I’ve got free license from ReSharper. Thank you for telling me about ReSharper. It helping me a lot to coding as a beginner.
    The choice is mine, and yes, I choose to use it. Thanks again.

  12. Arno says:

    That is a great explanation, Mosh. We use Resharper at work, and I balked for a long time about buying a personal license. I finally broke down and paid the price. Once you have it and use it, and understand all of the little time-savers it offers, you’ll never go without it again.

  13. Andrew says:

    I when purchased Resharper I went through an exercise of consternation even knowing that the cost of Resharper is equivalent to half a man-day for my company. Even when Resharper essentially just sits there and nudges you into a cleaner coding style it is doing something invaluable.

  14. Ty Yanushka says:

    Mosh, I’m currently unemployed and just learned about resharper. Though at the moment I wouldn’t purchase it while I’m just doing some “for me” projects and don’t have income, I think it looks like a great tool. Once back in the working world, if my next employer isn’t using it, I might suggest it. I also believe in using tools that make your life easier and more productive…I thought I would beat my clothes on a rock at the river but then decided a couple hundred dollars for a washer/dryer saved me lots of wear and tear. Keep rockin’ it, Mosh.
    -Ty

  15. subc0der says:

    Hey Mosh! :)

    Here’s the viewpoint from me, being a beginner. There’s two major points I’d like to point out to you.
    The first thing is that I really want to learn everything about code, including compilers and how they work in their natural state. I don’t know if this would ever happen, but what if one day we’re working in an environment where can’t use something like ReSharper? This might not be a wall we run into, but it would likely create a few unnecessary speed bumps – I would imagine. For example, a person who never learned how to read a map would have a difficult time navigating a road trip without the GPS/smartphone that they’ve been depending on their whole lives. Again, I’m just a beginner, maybe this wouldn’t be the case. However, I think it’s important to learn how everything works at it’s core, but I’m a stickler for detail.
    The second point, also coming from a beginner is simply the value. Resharpher costs 7x as much as your C# beginner course, and is something that a beginner would ONLY be using for your course. I’m not a programmer (yet) so I have no practical use for Resharper outside of the course. Combine that with the first point I made, and a beginner would likely question the validity of paying (a lot of money) for a plug-in that would conceivably prevent them from fully learning how VS works.
    Although I personally do NOT feel this way, I could easily understand why someone would harbor resentment for having to pay 7x as much for a tool as they would for the course where said tool is used. Especially after that have already paid for the course. I’m sure this has already been thought about or discussed on your end, but just in case it hasn’t – there it is. I don’t feel strongly about the Resharper lessons running parallel with the course, but it definitely creates a little confusion and interrupts the rhythm & flow of the course for a beginner who doesn’t use it.

    All that aside, your course is great! I really appreciate what you do and I thank you, just thought this might help you out. I look forward to continuing with your course(s) and I think it’s awesome that you took the time to do this and are willing to listen.

    Thanks!

    subc0der

  16. Andrew says:

    Well, Reshaper is a great tool (but it isn’t the only tool). But being to reliant on a tool can also have it’s problems, what if the tool becomes too expensive in the future (like jetbrains wanted to do with a monthly subscription) or the creators just ditch it or change it completely with a new release..

    But if I pay for a course in advanced c# (or whatever developmentcourse) I don’t expect to have to rely on an external tool which is not part of the original Visual Studio. I do actually know developers who aren’t even capable of developing without such tools, and that’s a sad state of development if you ask me..

  17. El Mas Chingon says:

    Microsoft benefits from 3rd party add-ons like ReSharper (more exposure) they easily could duplicate ReSharper, but why? Just because you can, does not mean you should; the more people in your pool the bigger the party.

  18. Vaibhav Salwe says:

    Hi Mosh,

    Before taken your course I am not heard about Resharper but once I go through your Double your coding speed course then I realize it is useful tools to every software developer have that to consistent programming within team.

    Like wise other said in comment I also started using resharper by me and after I get woderfull result I suggested to use this tools to my colleague in my team.

    Thanks Mosh

  19. Ross says:

    I have ReSharper and I love it. It can save a lot of time. But there are times you can get yourself into a ‘recommendation loop’ where ReSharper suggests a code change and you apply it, then it continues to recommend changes until you have code that is even more unreadable. If you use the tool, don’t take it as gospel that it’s right. You need to balance refactoring with readability. You can sometimes get lost by over doing it.

  20. Jerry T. says:

    Resharper is an excellent tool and well worth the cost if you’re buying one license for yourself. However it should never be part of a course unless the course is focusing on teaching Resharper.

    1. Some companies prohibit installing your own software and are TOO CHEAP to make a purchase like this for every employee! Its unfortunate but its reality, they don’t understand the benefit and they won’t buy a license for just one or two people because they don’t want one or two to have an advantage others don’t.

    2. Sometimes you want to work through a course from a different workstation than your “ideal” one which has all the software you want on it. You have to get by with what you have.

    3. When learning basics, using a tool which allows shortcuts is a liability and not an asset. It is better to learn the manual way that Visual Studio provides out of box, then maybe a mention to the shortcut way of doing it.

  21. gaurav says:

    Hi Mosh,

    I am the only one in my project, who is using resharper, and by analyzing the performance, and now my manager wants to convince his board member to use resharper in whole company.
    So please can you provide any ppt regarding this apart from resharper’s website.

    Thanks

  22. Suraj says:

    Hi Mosh,

    I read this and purchased a Resharper license. :)

    Thanks,
    Suraj

  23. Raul says:

    No doubt, I see the value of this tool for experienced coders. But as someone who just purchased and learning .NET MVC at Udemy, I’m thinking if this will be helpful for me or not. I know it will prevent me from making simple mistakes, but I wonder if that would be an impediment to me learning well MVC .NET? i.e. knowing all the details myself, if mistakes that I should have been aware, would be “fixed automatically” for me by Resharper.

    Interested in your take on this. Thanks!

    • admin says:

      Quite the opposite! ReSharper is a great learning tool for novice programmers. All the little refactoring tips it suggests you help you learn better ways to write code. This is especially important with naming conventions.

Leave a Reply