DEV Community

Cover image for Are IDE Extensions Hurting Young Devs?

Are IDE Extensions Hurting Young Devs?

Fikra_Dev on April 13, 2021

There is no doubt that the shortcut/extensions contained within your favorite code editor allows for faster code production. Recently I installed ...
Collapse
 
ianwijma profile image
Ian Wijma

I have been programming for 7 years now. Started off in notepad++. Where after I loved to phpstorm and now VScode. And I think extentions are something vital to our work flow really.

Not just because they are fun. But most of them are actually useful.

Collapse
 
metalmikester profile image
Michel Renaud

Thirty-five years ago you could pretty much hold the language and most of its standard library's names and usage in your head and what you forgot could be contained in a book which hopefully had a good index (no Google back then). It's not the case today with large libraries having thousands of classes, tens of thousands of methods and properties. It doesn't make sense to search for everything day in day out. Even the base languages themselves have grown in complexity quite a bit.

Don't pretend that the "young developer" would know what to do without them just because they don't use an extension in an IDE. They'd just Google all day long and waste time they don't need to waste instead of focusing on resolving the problems they are paid to solve.

Collapse
 
rubyrubenstahl profile image
Ruby Rubenstahl

I think your premise is a bit too broad to form an opinion one way or another.

Extensions cover a lot of ground: syntax highlighting, formatting, code completion, code generation, linting, bracket hilghting, indentation visualization, etc. Saying that extensions are problematic for new developers just covers too much territory.

Is it a good idea for a brand new coder to be using a code generator? Probably not, because it puts a layer of abstraction between your brain and the code, which may slow down the ability to internalize what everything means.

Should a brand new coder be using emmet, syntax highlighting, bracket highlighting, and linting extensions? Absolutely, because all of those directly lead to writing code more quickly and revealing the structure of the code rather than abstracting it.

I'd argue that you need to be thoughtful about which extensions you use regardless of what level you are at, but that there are some that are more suitable for advanced developers that understand the things that are being abstracted away and are using it as a tool to increase efficiency rather than a crutch to bypass the need to fully understand your code base.

Collapse
 
fikradev profile image
Fikra_Dev

I accept your position

Collapse
 
vonheikemen profile image
Heiker

Well, they still need to check that the tool is doing the right thing. This fancy tools wont get it right 100% of the time. The code will still have bugs and in the process of debugging they will learn. As long as they know the tool can only give them suggestions, and that the posibilities go beyond those suggestions, I think is all good.

Collapse
 
moopet profile image
Ben Sinclair

I would say it's something that affects developers early in their career rather than early in terms of their age.

I am also in the camp that thinks generally having the fundamentals down is good. That's why they teach things like arrays and classes and so on at university before they teach higher-level things, and that's why knowing Javascript will set you up for knowing React and not so much the other way around.

But on the other hand, I also recognise that there are going to be more and more people who rely on high-level tools to get the job done. It's not my thing, sure, but isn't that the ideal way for humanity to progress? At some point, being able to say something like, "Alexa, make me a game where princesses have to defend their tower against invading heroes" will actually work, and that's practically our Glorious Star Trek Future.

Collapse
 
mohdahmad1 profile image
Mohd Ahmad

I think IDE extensions are not for beginners. Beginners rely on extensions and autocomplete, and do not learn programming terms.

Collapse
 
aarone4 profile image
Aaron Reese

Taking the argument to its (il)logical conclusion, everything above machine code is just a tool so I would generalise and say no they are not hurting general developers. Anything that lets you solve the business problem faster and with less cognitive load be it autocomplete or a build chain and CI/CD pipeline has to be an overall net benefit. For those developers who are building low-level systems on a chip or C# vNext, they are the brain surgeons of the coding world and need the knowledge of how it works under the hood. That said. When I "git push master" to my GitHub repo and the new code magically appears in my Azure hosted app, I do wonder what I would do if one day it didn't work 🤔

Collapse
 
fikradev profile image
Fikra_Dev

I understand your point of view, and I understand that getting code out in today's world is vitally important. But this output speed is giving way to "robot" coders.

Thread Thread
 
aarone4 profile image
Aaron Reese

And that is bad? Globally we are about 30% short of people able to code so anything that lowers the barrier to entry is a positive. I would prefer new Devs to focus on principles such as algorithms or 3rd Normal Form for databases that on remembering whether this particular element of the stack uses require/import/using or whether the class/object has DateCreated or CreatedDate attribute.

Thread Thread
 
fikradev profile image
Fikra_Dev

Ok. To each his own

Collapse
 
fikradev profile image
Fikra_Dev

I totally agree with you.

Collapse
 
njromano profile image
Nick Romano

I think a dev should make at least one project through the command line / text editors alone with only a couple external packages. Bonus points for using your own machine and network. You learn a lot about systems and will be able to debug your dev environments so much more easily.

Collapse
 
fikradev profile image
Fikra_Dev

totally agree with this. Cement the fundamentals

Collapse
 
loskilo profile image
Loskilo

Wagwarn mi brogad

Collapse
 
fikradev profile image
Fikra_Dev

Who's this?

Collapse
 
loskilo profile image
Loskilo

just noticed ur from Jamaica

Thread Thread
 
fikradev profile image
Fikra_Dev

Oh yeah man....Yard Man thing

Thread Thread
 
loskilo profile image
Loskilo

yhhh wagwan

Collapse
 
sayael profile image
Michael Sayers

I feel like the most valuable skill for a developer is problem solving. The hard work is around figuring out how to go about implementing that new feature, fixing that bug etc.

If you get caught up memorizing every library method or piece of syntax for every language you are working on you miss out on the broader strokes, higher-level thinking that will allow you to solve the problem more effectively.

You can always google the gritty details of something, not so much when it comes to how to do whole projects. Having tools that do that lower-level detail will leave you with more time to think about the overall problem more effectively.

Collapse
 
faisalahammad profile image
Faisal Ahammad

I'm agree with you. I also left TabNine. It's not gonna useful for newbie like me.

Collapse
 
fikradev profile image
Fikra_Dev

that is the exact extension I am talking about