DEV Community

Cover image for Master your IDE
Dan Lebrero
Dan Lebrero

Posted on • Edited on • Originally published at danlebrero.com

Master your IDE

As a developer, you are going to spend thousands of hours working with your IDE or editor of choice. It is your main tool, you need to know how to get the most out of it.

Using your IDE 8 hours a day is not enough, you need to make a conscious and deliberate effort to master it. As a wise man once said:

Wax on, Wax off
Master Miyagi, The Karate Kid.

You must learn:

  1. The shortcuts for all the functionality that you regularly use. You should rarely need to use your mouse.
  2. Its features: read the release notes, watch online tutorials or follow some expert that blogs about it.

If you happen to use Intellij IDEA, the Key Promoter plugin will help to learn the shortcuts and JetBrains provides a ton of online material. Follow their blog and youtube channel.

But the most effective way of learning your IDE is to do pair programming. As part of your daily job, each of your partners will teach you different features, and you will have the chance to teach them to others, creating a nice cross-pollination effect.

And you can always ask your partner to slap you every time that you reach for the mouse. A win-win situation.

Top comments (7)

Collapse
 
martinhaeusler profile image
Martin Häusler

I am currently torn between Eclipse JDT and IntelliJ IDEA. As a long time eclipse user, I know this IDE inside out. It has hands-down the best window and view docking management, very good error reporting and a super neat icon set (or maybe I've just gotten used to it so much). However, it's super heavyweight and slow as f*ck on larger projects. Git and gradle integrations are also operating at snail-speed and are generally lackluster. Oh and don't even get me started on the nightmare that is OSGi/Equinox. The absence of a truly good and consistent (!) dark theme is also a disadvantage.

IntelliJ is kind of exactly the opposite. It's super fast and feels a lot more lightweight. The Darcula theme is (with some minor exceptions) pretty good, even though all icons look way too similar (monochrome...). Using Git in IntelliJ is really fast and a good experience, even though using colors instead of decorator icons for displaying the file states is a questionable choice at best. The code editor itself is a lot smarter, especially intentions, refactorings and auto-variable-naming are spot-on. However, global error reporting cannot measure up to Eclipse standards and the window management is very basic. The gradle integration is miles ahead of eclipse. And I love the fullscreen mode - it's such a simple touch but it allows me to focus only on the IDE. Oh and it's so easy to carry over the Eclipse hotkeys too! However, save actions are not nearly as powerful as in Eclipse, even when considering the IntelliJ plugins.

So, yeah, my ideal IDE would be something like the union of both. As the younger product, IntelliJ avoided many mistakes made by Eclipse, but introduced some of its own in the process.

Collapse
 
danlebrero profile image
Dan Lebrero

It is very good that you took the time and energy to learn both IDEs. That shows a very professional attitude!

Personally, I don’t know anybody that has move from Intellij back to Eclipse, but I just know one Eclipse poweruser, so for the average developer, the Intellij first time experience is just smoother.

But that doesn’t mean that is the best tool.

I would give Intellij a little bit more time and then you can assess which tool is best for you.

Thanks!

Dan

Collapse
 
martinhaeusler profile image
Martin Häusler

I just want to use the best tool for the job, that's all. And sometimes, the Eclipse editor can't even keep up with my typing speed, which is a total no-go for me, so I was looking for alternatives and found IntelliJ IDEA.

Somebody once told me: "If you tell me to chop down a tree in 3 hours, you can safely bet that I will spend two and a half hours sharpening my axe". That about sums it up. Currently I'm on IntelliJ, but for certain features I keep looking back at Eclipse.

Collapse
 
bgadrian profile image
Adrian B.G.

Exactly, this advice is on my productivity tips list too

I saw devs that after years of intellij wouldn't use basic features like expand selection, move code or multi cursor.

We shouldn't be afraid of switching the IDE and loosing the knowledge and relearn, visual studio code for example has key mapping for devs that are used to other ide like intellij or atom,so transition is smooth.

Collapse
 
danlebrero profile image
Dan Lebrero

That list is very good. Thanks a lot for sharing.

I agree with everything but the last point regarding Postman :). We rely too much on GUIs, GUIs do not compose

By the way, CTRL + R is probably the greatest shortcut in bash history. Pun intended :P.

Cheers,

Dan

Collapse
 
bgadrian profile image
Adrian B.G.

Postman has a benefit that non-coders can use what we have built, especially QA's, if we build something in bash they cannot understand or modify.

nevertheless Postman can be run in CLI, we hooked it up with Jenkins for periodic checkups.

Thread Thread
 
danlebrero profile image
Dan Lebrero

For any advanced use, Postman has branching, looping, variables and its own xUnit library. That pretty much looks like Turing complete programming language to me.

I wonder why we are so reluctant to use our "production programming language" for things like this. Are our languages and IDEs so bad? Are our design skills so poor?

Anyway, I do not disagree on giving easy tool to non-programmers, I just see too many programmers tied to GUIs.

Thanks a lot!

Dan