I believe that every developer should have this essential set of tools for day to day use. You might not realize you actually using it, most of the times it’s just habit, or as you like “only reasonable way to do stuff”. Someone might argue that tools you’re using are closely related to language you’re using. That is right, at least in most of cases. However there are tools that are used by everyone/vast majority (some might not apply to front-enders)
- shell - literally any shell of choice (possibly excluding Windows command line). Even if you’re not spending a lot of time in shell, it’s knowledge is a key. Every now end then you need to move some files across servers, unpack archive, find a piece of text in file or file it self. More you know how to use it the easier your live is :) GUI is not always the answer, it’s silently steeling the knowledge.
- command line text editor - and again I don’t care about preferences. I’m not saying you should switch to it (however I’m not saying you should not). What I’m saying is that everybody needs a way to edit file without the favourite fancy-text-editor or IDE.
- regular expressions - Swiss knife in the tool set. Wisely used can replace whole sections of logic (both in code and shell). Overusing can potentially make that logic unreadable. Always comment your regex in code it will just save tons of time both to you and to future your. Warning: it’s easy to cut your self with this knife.
- debugger - That one will depend on language you’re using. Taking this aside, debugger is one of those tools that you don’t know how good are they until you try. Reason for that is very simple. There are the times when you think that code will behave in particular way and you’re puzzled when that is not happening. Then debugger in correct spot will help reviling the problem.
- SQL - even in days then NoSQL is trendy knowledge about SQL is very helpful. I’m not a fan of ORM, while it’s providing nice level of abstraction and it has own place it’s not releasing you from knowing that is happening underneath. Raw SQL gives great power over the data, use it wisely. It’s the least front-end tools from those I’ve mentioned, still it might be useful to know them too.
- Google - no explanation needed, I hope. It will give you documentation you need, snippet you crave or answer why code is doing unexpected (by you) stuff. Leverage it!
I think that this list represents bare essentials. Things like fancy-text-editor or IDE are just add ons that make your live a bit easier.