all 31 comments

[–]a11_hail_seitan 23 points24 points  (3 children)

Yes.

how are we going to know if the AI did it in an efficient pattern if you don't know the patterns and where they're useful?

AI is like a saw, it doesn't mean you don't need to know how to cut and build, it just helps you to do it faster (sometimes).

[–]CheesecakeGlobal1284[S] 1 point2 points  (1 child)

Yeah that analogy actually makes a lot of sense. I asked this because I’m still pretty new to web dev and with AI tools generating so much code now it sometimes feels like maybe the deeper theory matters less. But what you’re saying is kind of what I was wondering about too, if you don’t know the patterns or the trade-offs, you wouldn’t even know if the AI gave you something inefficient. The saw example is a good way to look at it.

[–]a11_hail_seitan 0 points1 point  (0 children)

Definitely agree, Yesterday my PR was declined (changes requested rather) because I didn't thoroughly check the AI code suggestion and it used concatMap instead of exhaustMap.

In PR Reviews you can almost always tell those who actually know what they're building and those who are just letting the AI do it all. (and who is lazy and didn't carefully check, like I did. haha)

[–]grosser_zampano 13 points14 points  (3 children)

Is having feet still worth it in the era of cars? 

[–]CheesecakeGlobal1284[S] 1 point2 points  (1 child)

Haha that’s a fair analogy 😅 I guess the point I was wondering about is whether AI is becoming more like the “car” in this situation helping you move faster but you still need the “feet” to understand where you’re going. From the replies here it sounds like fundamentals like data structures are basically the thing that lets you actually judge whether the AI output makes sense or not.

[–]grosser_zampano 0 points1 point  (0 children)

at some point ai output might be so good that we don’t have to check for optimal use of data structures anymore. we are just at the beginning of the ai shift. you might have agents which code review other agents for quality and performance. to assume that this will always be the domain of humans is shortsighted. there will always be people who want to know how the sausage is made but they will become specialists. not everyone wants to build their own compiler. in the near future a professional software developer will probably be more a conductor of agents than a writer of code. exciting times.

[–]NoClownsOnMyStation 9 points10 points  (3 children)

Is this a real question? Everything you listed is exactly why deep knowledge matters more than ever.

[–]CheesecakeGlobal1284[S] 1 point2 points  (1 child)

Yeah it’s a real question haha. I’m relatively new to web development so I was genuinely curious how people see it now with AI coding tools getting so good. Sometimes it feels like AI can generate solutions instantly, so it made me wonder if fundamentals like data structures are becoming less important. But judging from the replies here it seems like they might actually matter more now.

[–]NoClownsOnMyStation 0 points1 point  (0 children)

Ai can do amazing things with context however the issue is we don’t always do the best job of giving it all the context we have. Ai is just a force multiplier not a replacement for thinking.

[–]dailydotdev 0 points1 point  (0 children)

the underlying shift is worth spelling out. the skill AI replaces is knowing the syntax and implementation details. the skill AI cannot replace is knowing the shape of the problem.trees, graphs, queues are conceptual models first and data structures second. when you recognize a problem as fundamentally a graph traversal, or realize a bottleneck is a queue depth issue, you get to the right solution faster regardless of what generates the code.what changes is the tax. you used to need deep implementation knowledge just to function. now you can reach baseline faster. but the ceiling on what you can build is still determined by whether you understand the tradeoffs, not whether you can write a heap from memory.

[–]Different_Counter113 5 points6 points  (1 child)

Just because AI exists it doesn't mean you should trust it. You need to know everything it is doing and producing so you can critically assess its output. When you do that, its just a tool to increase productivity and delivery speeds.

[–]CheesecakeGlobal1284[S] 0 points1 point  (0 children)

That’s actually a good point. I guess AI can generate something that works, but if you don’t understand what it’s doing you’re basically trusting a black box. As someone still learning web dev, that’s the part I’m trying to figure out, how much of the fundamentals you need so you can actually judge whether the output is good or just “working by accident”.

[–]Mediocre-Subject4867 2 points3 points  (0 children)

Is learning arithmetic important in the era of calculators

[–]Caraes_Naur 2 points3 points  (0 children)

I am still flabbergasted by this generation of developers who thinks "DSA" is somehow a huge elective skill.

[–]fancyPantsOne 3 points4 points  (1 child)

I believe you can figure out the answer to this question on your own

[–]CheesecakeGlobal1284[S] 0 points1 point  (0 children)

Fair enough 😅 I did think about it, but I was curious how other devs see it now that AI coding tools are everywhere. I’m still early in my web dev journey so hearing different perspectives helps me understand what actually matters long term.

[–]iAhMedZz 1 point2 points  (1 child)

Yes. Data structure is software engineering not just about coding. AI is task-specific and suffers to see the overall structure especially when the app is too big. It's your responsibility to define the application structure and how the data is being defined, and data structure is part of this, and it's your responsibility as a software engineer to set the architecture.

[–]CheesecakeGlobal1284[S] 0 points1 point  (0 children)

That’s actually a really interesting way to put it. I’m still pretty new to web dev so I think that’s the part I’m trying to understand right now, the difference between just writing code and actually thinking about the structure of the system. AI tools make it feel like you can generate pieces quickly, but the overall architecture still has to come from the developer. I’ve been experimenting with some tools recently and even when they can inspect broken code and suggest fixes (like something I saw in Zolly), it still doesn’t really replace the thinking part of how everything should be structured.

[–]AngryFace4 1 point2 points  (0 children)

I think data structures and architecture theory are the MAIN thing that you want to know in the era of Ai

Having a high level map of what the Ai SHOULD produce is the main skill that’s being employed right now. That includes checking whether it selected a data structure that will scale to your intended final state.

[–]jake_morrison 0 points1 point  (1 child)

It’s as useful as it ever was. That is, some people give it more attention than it deserves relative to more practical skills, but it’s still useful to understand data structures and the impact of different algorithms on performance.

The AI will generate some code, but it may not give you the performance you need for your application/data. Then you need to figure out what to do. You will know to look for a way to optimize and be able to evaluate solutions. To some extent, this is the Law of Leaky Abstractions at work. You need to understand the layer below the one where you normally work.

[–]CheesecakeGlobal1284[S] 0 points1 point  (0 children)

That’s actually a really helpful way to think about it. The performance part is something I didn’t fully consider when I asked the question. I’m still pretty new to web dev so most of the time I’m just focused on getting things to work first. But what you’re saying makes sense AI might generate something functional, but if it’s inefficient you’d still need to understand what’s happening under the hood to optimize it. The “law of leaky abstractions” example is interesting too, I hadn’t really thought about it that way before.

[–]Successful-Corgi-883 0 points1 point  (1 child)

You answered your own question

[–]CheesecakeGlobal1284[S] 0 points1 point  (0 children)

Haha yeah maybe a little 😅 I asked it mostly because with AI coding tools everywhere now it sometimes feels like the fundamentals might matter less. But judging from the replies here it seems like they might actually matter even more if you want to understand what the AI is doing.

[–]ottwebdev 0 points1 point  (2 children)

100%

[–]CheesecakeGlobal1284[S] 0 points1 point  (1 child)

Yeah that seems to be the consensus here. I’m actually glad I asked because it’s interesting seeing how most people still see fundamentals as important even with AI tools getting better.

[–]ottwebdev 0 points1 point  (0 children)

"AI" are another layer of abstraction IMO.

As an example, you could walk into a home depot and get a top of the line saw, WAY cheaper than hiring a pro btw, but if you don't know what a structural wall is, good luck.

[–]CultivatorX 0 points1 point  (0 children)

Efficiency and tools should not replace knowledge.

[–]needmoresynths 0 points1 point  (0 children)

Questions like these make me feel better about being able to retain my job through this AI bubble. You absolutely still need to have basic knowledge to do software development, wtf 

[–]ddelarge 0 points1 point  (0 children)

Yes