DEV Community

loading...
Cover image for Are Code Editor Extensions Hurting Young Devs?

Are Code Editor Extensions Hurting Young Devs?

fikradev profile image Fikra_Dev ・1 min read

There is no doubt that the shortcut/extensions contained within your favorite code editor allows for faster code production. Recently I installed a particular AI based extension inside of VSCODE and after a few days I uninstalled it. I found that it was not making me think. It was as it typed generating suggestions that I could just tab and accept

This got me thinking, is this the best thing for a young developer like myself? What if there was an apocalypse and we needed to build a site to inform the rest of the world but only had notepad, would a young dev know what to do without, VSCODE, Visual Studio, ATOM etc?

Learning code is technical and you will not be able to remember it all, however, I am of the belief that just like learning the fundamentals of a language, young devs should learn the fundamentals without the help of all these fancy tools.

What are your thoughts? Comment below and lets talk.

Thanks for the taking the time out to read my post. It is truly appreciated. If you want to know more about my journey follow me at:

Twitter: @fikra_dev

Github: https://github.com/FikraDev

Discussion (25)

pic
Editor guide
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 Author

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
zakiazfar profile image
zakiAzfar

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 Author

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 Author

Ok. To each his own

Collapse
fikradev profile image
Fikra_Dev Author

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 Author

totally agree with this. Cement the fundamentals

Collapse
loskilo profile image
Loskilo

Wagwarn mi brogad

Collapse
fikradev profile image
Fikra_Dev Author

Who's this?

Collapse
loskilo profile image
Loskilo

just noticed ur from Jamaica

Thread Thread
fikradev profile image
Fikra_Dev Author

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 Author

that is the exact extension I am talking about

Collapse
buffdaddy570 profile image
buffdaddy570 • Edited

Very clickbaity title, it worked! Anything that reduces "cognitive workload" is a good thing. Syntax is just a mechanism for telling the computer what you want it to do, so knowledge of syntax shouldn't be a measure, or a goal. Productivity is the goal. If knowledge of syntax, or IDE increases your productivity then so be it, familiarise yourself with the language/IDE. If extensions increase your productivity then by all means use them. For reference, this is an old debate: you can google for "Visual Studio rots the mind".

Collapse
fikradev profile image
Fikra_Dev Author

Maybe it is, but its a genuine question that i have

Collapse
buffdaddy570 profile image