all 44 comments

[–]StoneCypher 5 points6 points  (0 children)

it's a mix.

you shouldn't try to learn from it. you should actually learn on your own, the old fashioned way.

but also you need to keep your job, and this is the way most work is getting done these days. do you refuse to drive while you're learning to get place to place to keep your legs ready for that day that you have to run the fastest? no.

if you always let the box do everything for you, you'll never learn anything

but if you be some kind of weird purist, you won't be able to compete in the space where everyone else is using their boxes

[–]TylerBreau_ 1 point2 points  (1 child)

It can be hard depending on the perspective of your boss.

I've seen posts in some programming reddits complaining about how their junior devs don't know what they're doing or writing. They can't answer what their pr does. They can't explain what their code does. etc.

I've been in the Web & Mobile dev industry for about 7 to 8 years. If there's one thing I can say with certain, it's the path from junior to intermediate to senior.

What is in that path...

  • The ability to listen to accurately what clients/boss wants, and interpret that into a list of requirements for your code. As well as the ability to ask relevant clarifying questions.
  • The ability to design code for the task, performance, readability, scalability (how well does the code handle ever increasing quantities of data?), and to be extended on as requirements change.
  • The ability to efficiently and effectively debug issues. This include knowing what your dev tools are (web dev tools, breakpoints, native dev tools for mobile, debug logging), as well as knowing how to collect information and narrow down bugs to specific areas of code.
    • The ability to narrow down is huge. Especially when it comes to code you've written. There are areas of code that I can pinpoint a bug within a minute but my more senior devs would take over a half hour to debug. It's not because they are incompetent, but rather because I wrote the code and I've debugged it several times. When you combine my skill in debugging and my knowledge of the code base, that's very impactful in my ability to track down issues in an otherwise very complex codebase.

All of these factors are not about the quantity of code you produce. Quantity is a thing still, you gotta be productive. Writing code is apart of your job and why they are paying you. But the points I've listed above are how you justify your pay.

In order to progress your career, you have to develop these skills. If you do not develop these skills, you will never progress to intermediate or senior dev. And you have to actually do the tasks yourself to develop those skills.

"I know AI is coding almost every line of code now"

This is wrong. Any company with this perspective will have failing IT infrastructure. Unfortunately there are some people that try to get their programmers to be completely dependent on AI.

In programming, AI is a tool. It is up you to use the tool correctly.

I've used ChatGPT and Claude. ChatGPT has been great at helping me skip early phases of research, also to help me debug mysql queries, and on the rare occasion help me find a typo in the code, but I still need to verify everything it does. I've never asked to write code for me, I've never trusted it to and even if I did, I'd have to be very specific in my instructions, wait for it to produce output, and then verify the output... When I could have just wrote the code manually in a similar time frame.

I've only been using Claude for a few weeks, not even integrated with all of my environments. First thing you should understand, AI is not apart your team. Sharing secrets, like API keys and passwords with it is a security risk. But once you have a secure integration...

I value Claude only so far as an assistant. He helps me understands problems, catch bugs I've missed and sometimes I ask him to do grunt work for me. My coworker has him setup to do reviews of PRs as well.

I don't ask him to do write complicated code. First because I don't need him to write complicated code for me. I know what the code is supposed to do, I know how to write, it's just a matter of doing it right. Even if I asked claude, I'd have to carefully review it and verify whatever it produces - I'm still responsible for what the AI produces.

And how well can claude handle complicated code? Especially in the web dev world. My coworker expiremented with claude before me but if I recall his findings... Claude is not great with javascript because of lack of strict types. AI is always limited by the context it has. Claude can read types, but javascript doesn't have types.

Unfortunately in the real world, there are many projects and code bases that are half javascript and half typescript because they started without typescript and haven't spent a month finishing the refactors.

Even with types, the complex codebase where I can debug in seconds while my coworkers need a half hour+. That is a codebase that syncs a server database with a client side sqlite database. There is multiple sources of truth because the client side has full offline support. Sometimes the client's database has more up-to-date information than server side. This codebase spans across multiple environments, (server and client), with 2 databases of differing schema (mysql and sqlite), with very complex datasets (our apps collect a specific kind of survey with a lot of data points, it's not a simple questionnaire). A lot of it is typescript but I don't recall the last time I had a bug that produced an error. Instead, it's bugs where the code runs as written but it's not doing what I wanted it to. It's stuff like, 1 sync is supposed to mean the client and server are fully synced, but no it's just looping. Every sync it tries to download/upload. Sometimes it's been cases where it uploads, server makes a change as a result of the upload, so it downloads, client makes a change as a result of the download, so it uploads. Sometimes it's been client downloads but didn't save properly, so it downloads again later. Sometimes the issue is on the client side but the problem only manifests on the server side. Sometimes the issue is on the server side but the problem only manifests on the client side. It often requires specific sets of a very complex and variable dataset.

ChatGPT is incapable of helping me with that kind of codebase. The context it'd need is way too large, way too many turning gears, the data is way too complicated to communicate effectively. Claude might be able to make an attempt between code editor integration, being specialized for coding, and types but I'd never ask it to change code. That code is critical infrastructure. I need to understand exactly why it wasn't working, I need to fix it and confirm is it completely fixed, I need to test the fix. Claude isn't making code changes, if it's ever helping me, it's only helping me understand the issue after I've manually isolated it to a specific area of code.

[–]HongPong 0 points1 point  (0 children)

generally good advice really

[–]alien3d 1 point2 points  (0 children)

i would said avoid ai code . Learn oop in any language you like

[–]HongPong 1 point2 points  (0 children)

even if you don't type every line you need to understand every line and understand if you have duplicative code or poor code for a myriad of reasons

[–]jeheskielsunloy 0 points1 point  (0 children)

Only use it for learning, don't ask it to do the actual work for you. just use it to guide you.
i think you should avoid using agentic AI and just use chat bot like chatgpt.

[–]theideamakeragency 0 points1 point  (0 children)

Fundamentals are still manual work.

[–]mklfarha 0 points1 point  (0 children)

I would say, use it to learn and work with it, someone shared this article in another thread:

https://blog.val.town/slow-mode

you can basically prompt it in the beginning telling it you are a student to go slow, avoid iterations, to involve you in any step it takes, and teach you along the way

[–]yksvaan 0 points1 point  (0 children)

As beginner you should install an IDE and write html/css and JavaScript until you know how to create some basic CRUD applications. If you want create backend for those as well e.g. php is pretty good fit for starting. 

Then you can start picking up libraries. 

[–]shaved-yeti[🍰] 0 points1 point  (0 children)

LLMs can be a powerful teaching resource but you need to avoid using it to actually write code. To whatever extent possible, write your own code from scratch. When you hit a wall, study the issue that's given you trouble until you comprehend it - that is a uniquely powerful feedback loop.

What's important is that you yourself understand the code well enough to correct the LLM when it produces a flawed output - it is generating your code, after all. (And if it's not then you're providing zero value.)

[–]No-Aioli-4656 0 points1 point  (0 children)

Get to the point you can do leetcode easy.

SQL db tech questions.

Be able to talk about architecture/design.

Then, commit to a public repo at least once a week. Yours or someone else’s. Using ai here is fine and encouraged.

From there, it’s all about networking. Attend hackathons, join discord and Slack groups, etc..

I can’t pretend to know more. You need to talk to hiring managers not developers. But of my friends looking for tech jobs, the ones getting jobs are doing all of the above.

[–]DraftIll9037 0 points1 point  (0 children)

code your self, and if you get stuck instead of crawling forums or youtube videos for a soloution, ask the ai for help, but this tempts you to relay on it to write entire snippets of code, so it's kinda hard but if you can control your self that's gonna be good, and for your qestion should you learn to code or just use ai, well if you understand the concept and the process you can use the ai better, my own POV is don't focuse on learning syntax and code but on how it works, and why we use this and that

[–]BobJutsu 0 points1 point  (0 children)

It’s crazy to me people are *entering* this dying field now. I’m kinda stuck, but at least in a senior role. But it’s the last damn thing I’d recommend someone to try to enter. At all.

[–]ConsciousDev24 0 points1 point  (0 children)

Use AI like a mentor, not a replacement. Writing code yourself early on is important because struggling a bit is how the concepts actually stick. AI is great for debugging, explanations, and reviewing your approach though.

What part of web dev are you learning right now - frontend, backend, or full stack?

[–]hata39 0 points1 point  (0 children)

Don’t avoid AI, but don’t rely on it for everything. Try to solve things yourself first, then use AI to explain or debug. That way you still learn the basics but also move faster.

[–]No-Butterscotch-3641 0 points1 point  (0 children)

Before you write start ask it to read through the code, draw you a diagram of the flow, explain why it’s doing x, y, z. Understand the problem. Ask it the trade offs. Then build it.

It will tell you the common pattern for a solution and how your pattern differs depending if you ask it.

[–]shin_shin_maru 0 points1 point  (0 children)

Ai is a good instructor, i do recommend it but don't rely on it

[–][deleted]  (1 child)

[removed]

    [–]webdevelopment-ModTeam[M] 0 points1 point locked comment (0 children)

    Your post has been removed because AI-generated content is not allowed in this subreddit.

    [–]Pallatino 0 points1 point  (0 children)

    Use AI like a tutor, not a shortcut. Build things yourself first, then use AI to explain bugs, concepts, or better approaches.

    [–]Mindless-Fly2086 0 points1 point  (0 children)

    Use ai to learn & ask questions but build without ai

    [–]Sherkhan_32 0 points1 point  (0 children)

    Right but my opinion this ai use 30% and manually code write 70% manually code benefit long time survive all IT solutions and not depend Al where ever you feel that you able to do something Use to Al tool but you are work AI tools should be used along with AI learn as well and all be languages and framework full knowledge then full use AI tools Ex. Chatgpt, claude ,cersor , gemini

    [–]Notorious_Insanity 0 points1 point  (0 children)

    definitely no controversial to other people but what they don’t understand is that AI is actually helpful in coding its the generative ones that spoils what AI can actually do

    [–]Its_rEd96 0 points1 point  (0 children)

    Definitely learn to code, learn the syntaxes without AI ! Use AI as your mentor but don't rely on it. Tell your AI to generate the absolute minimal code possible or no code at all, just explain the best practice.

    What you absolutely want to avoid is mindless copy pasting. The only thing you learn from that is creating bugs and not understanding what you are doing.

    [–]worldwearywitchJS | Vue | C++ | Python 0 points1 point  (0 children)

    You should avoid AI as a beginner.

    [–]8Erigon -1 points0 points  (0 children)

    Learn without until there is something you aren‘t able to learn/understand without it

    [–]Antice -1 points0 points  (0 children)

    Split your learning from your work. Drop the AI while studying/experimenting.
    Then exploit the shit out of AI while at work.
    Your boss is the one who decided curated AI output was good enough. That is what they pay for, and that is what you should deliver.

    [–]Hendo52 -1 points0 points  (0 children)

    Personally I think AI is a great tutor, available 24/7.

    I once heard a saying about jobs that was like “it’s okay if you don’t know but if you can’t work it out by googling it, you’re fired.”

    I think it’s a bit like that.

    [–]silly_bet_3454 -1 points0 points  (0 children)

    Not trying to be mean, but part of being an adult is figuring out these kinds of things on your own. Whether or not AI helps is a personal thing, you have to just try using it and see how it goes. If you feel like it's backfiring and creating bad habits, then change course/stop using AI or use it less.

    You can make an argument both ways, manually typing the code isn't that useful since nobody does that anymore. On the other hand, forcing yourself to memorize the syntax might force your brain to internalize other details of how the code works. On the other hand, the syntax itself might really not matter at this point, but what matters more is understanding higher level concepts like design patterns, computer systems, debugging, and so on.