[HN Gopher] "Vibe code hell" has replaced "tutorial hell" in cod...
       ___________________________________________________________________
        
       "Vibe code hell" has replaced "tutorial hell" in coding education
        
       Author : wagslane
       Score  : 242 points
       Date   : 2025-10-10 15:48 UTC (7 hours ago)
        
 (HTM) web link (blog.boot.dev)
 (TXT) w3m dump (blog.boot.dev)
        
       | om22shree wrote:
       | read through the article, pretty much agree with everything you
       | have said ... there are certain skills that AI can't even hope to
       | teach or solve especially in the field of DevOps/Cloud ... too
       | often it recommends the more expensive answer out of the box
       | simply because its the most popular.
       | 
       | Its trained on masses ... well, unfortunately, masses are wasting
       | a lot of dough
        
       | scott_w wrote:
       | I'm biased as I've not been a beginner dev for nearly 20 years,
       | however I have found Copilot is pretty helpful for is learning
       | Rust. In combination with Intellisense, it helps ease some of the
       | mental overhead of the syntax, letting me focus on learning the
       | important bits of the language. It helped me go from opening up a
       | book on Rust to having a working tool in about a week.
       | 
       | I won't pretend that it's turned me into a senior engineer, of
       | course, but it's definitely gotten me over the 0 to 1 problem
       | much quicker than I think I could have without it nudging my code
       | in the right direction.
       | 
       | For what it's worth, I don't ask Copilot to write the code, I
       | just use it as an advanced auto-complete, reading the suggestion
       | to see if I agree with it before hitting tab.
        
         | adlpz wrote:
         | I think it's become a running theme: senior devs who have been
         | coding for a while now are able to extract value from these
         | tools because, even if you don't know Rust, _you know how to
         | code_.
         | 
         | BS code smells the same in any language.
         | 
         | Beginner devs don't even know what _smelling_ means.
        
           | adamddev1 wrote:
           | Maybe this is the answer to the ageism problem people have
           | complained about in tech.
           | 
           | In the land of vibe-coders, the old man is king.
        
           | alganet wrote:
           | Seniors being able to extract more from any new tool is a
           | time proven constant. That hasn't changed.
           | 
           | What happened is that companies tried to push an idea that
           | this new AI thing would be inhospitable to whoever is already
           | an experienced programmer. The idea of "new land", fair and
           | equal to all. Smelling woudn't matter, because all smells
           | would be new and unfamiliar.
           | 
           | After insisting on this silly mistake for a while, they
           | realized that experienced programmers were actually their
           | only viable target audience, and attempted to change their
           | approach accordingly. It's embarassing.
        
       | adlpz wrote:
       | I thought this was going to be yet another post about how AI is
       | ruining Junior devs so we'll have a Senior replacement crysis in
       | a few years.
       | 
       | It sort of is, indirectly, and I agree with pretty much
       | everything.
       | 
       | But the bit about sycophancy was particularly enlightening. I
       | actually thought "plain" ChatGPT-like interfaces could be good
       | for learning. But the Youtube ROAS example is really powerful. If
       | the student can skew the teacher's conclusions _so much_ just by
       | the way they phrase their questions /answers, we're going to
       | mislead new programmers en masse.
       | 
       | I'm not even sure that the extensive prompting they say they use
       | for their "Boots" is good enough.
       | 
       | I guess in the age of AI you still need _someone_ to repeatedly
       | reject your pull requests until you learn. And AI won 't be that
       | _someone_ , at least for now.
        
         | A4ET8a8uTh0_v2 wrote:
         | I think I agree. From personal experience, even when I ask for
         | scathing critique, the need to placate and make me feel better
         | seems to bleed through ( both on 4o and 5 as far as I could
         | tell ). I am not sure what to make of it.
         | 
         | We go back to this original prediction that the tool will help
         | those, who both want help and are painfully aware of LLMs
         | peculiar issues.
        
           | Eisenstein wrote:
           | The incentives align: when the success metric is engagement,
           | it will be optimized for engagement. It makes perfect sense
           | that it is going to agree with you.
        
         | 1718627440 wrote:
         | > But the bit about sycophancy was particularly enlightening.
         | 
         | I always try to stay above this by prompting the question
         | twice, with the opposite biases. But I of course don't know,
         | which hidden biases I have that the LLM still reinforces.
        
       | skovranek wrote:
       | "Learning must be uncomfortable."
       | 
       | Critical thinking is hard.
        
         | dude250711 wrote:
         | Also, not aligned with modern society, since you kind of need
         | free speech for that.
        
         | password54321 wrote:
         | People just don't want to face the uncomfortable truth that
         | they are probably not as smart as they want to believe they
         | are.
        
           | mattgreenrocks wrote:
           | It's not about being smart as much as staying engaged with
           | the problem even when it mentally defeats you several times.
        
       | lordleft wrote:
       | I completely agree with this article. AI (in a pedagogic context)
       | is best when treated like a super-powered man page.
        
         | collingreen wrote:
         | A super powered man page that has wrong info often enough you
         | need to have ways to verify either through simple experiments
         | or alternate sources
        
       | jasonthorsness wrote:
       | > Don't use: > AI auto-complete in your editor > Agent mode or
       | agentic tools for your educational projects
       | 
       | While I am not learning "coding" as a beginner anymore, I am
       | constantly learning new frameworks, language features, algorithms
       | etc. as is the norm in the industry, and I disagree it's bad to
       | use AI auto-complete. Pre-AI IntelliSense-style autocomplete from
       | Visual Studio or ReSharper makes learning new libraries and
       | language features much easier. ReSharper for example will suggest
       | taking advantage of new language features when you write
       | something an older way, and many times this was my introduction
       | to that new feature.
       | 
       | The new AI-based autocomplete can be even better; it demonstrates
       | one way to do something and regardless of whether you use it or
       | not, you can learn from it. You have to be curious enough to
       | actually read what it is doing, but if you lack that curiosity it
       | isn't AI's fault (before AI this was just "copy-pasting from
       | Stack Overflow").
        
         | wagslane wrote:
         | Yeah I think there's some nuance. As a relatively experienced
         | dev I still use autocomplete when using a new language, but I
         | think it's different when you already have a strong grasp of
         | coding fundamentals. Learning your 3rd or fourth language when
         | you already understand the constructs is much different than
         | baby's first for loop
        
         | vpShane wrote:
         | 100%. I enjoy AI Agentic programming because I make new things
         | to tinker with and/or try out ideas. I'm not trying to code to
         | push to some production, and I'm not worried about what others
         | think of my code.
         | 
         | I want to be able to say I've tried and done things when
         | speaking with highly technical people. I've been a 'programmer'
         | since I was 10, I'm 35 now but never joined the work force as a
         | programmer; I don't know why, but now that AI is here, the love
         | for coding, tinkering, making system level things, trying
         | things like WASM which may be the future of our www; these all
         | give me that joy. I found my limitations as a programmer and
         | excelled because I have different skillsets.
         | 
         | I love learning that doing something MY way is a good idea, but
         | has been thought of and some amazing programmer already built
         | the ground-work for it.
         | 
         | My Cursor AI agent even setup git for me for my projects so I
         | can easily push with my SSH keys: do I know I can do that
         | myself? Yes. Do I want to? no.
         | 
         | > ReSharper for example will suggest taking advantage of new
         | language features when you write something an older way, and
         | many times this was my introduction to that new feature.
         | 
         | That's actually news to me and sounds amazing. I started coding
         | with C syntax when I was young. You learn habits then, it
         | sticks with you.
         | 
         | I'm since enjoying python for backend things, flask for little
         | webserver stuff and javascript for front-end things.
         | 
         | WASM Python ain't there yet, but I _love_ tinkering. I _love_
         | finding bugs. I _love_ poking and prodding at how things work.
         | I'm almost always re-inventing the wheel with concepts but you
         | know what? At least it's mine and I can tinker and learn.
         | 
         | Some of us enjoy the craft as a hobby and learning. Even within
         | my teams some are more sophisticated tech wise than I am; to
         | get on their level remotely requires me to tinker.
         | 
         | Often times, I find a solution for my problems that were the
         | most simple; engineering minds like to overcomplicate things.
        
         | stavros wrote:
         | Very much agree. AI autocomplete is the best thing ever,
         | because it spares you from having to read the docs but it's few
         | enough lines that you can review and make sure it does what you
         | intended.
         | 
         | It won't write big chunks, so it won't hinder your learning.
        
           | amlib wrote:
           | So you are telling me you can always properly infer what the
           | "black boxes" the AI auto-completed for you does without
           | reading the documentation?
           | 
           | I bet you are most likely just blindly trusting the AI
           | response and moving on. Sure, the code structure might
           | checkout and the calls it completed are sometimes fairly
           | generic/predictable, but there will be plenty of situations
           | where the behavior is just different enough or the black
           | boxes are something you have no idea about what it even does
           | and you are too lazy to check the docs and commit the code
           | anyway.
        
         | GuB-42 wrote:
         | The advantage of traditional auto-complete over AI is that it
         | will typically list everything that fits: all methods, all
         | variables and constants in scope, etc... It can even fetch the
         | documentation if available. It is great for learning because it
         | tells you all your options without deciding for you.
         | 
         | AI autocomplete essentially searches stackoverflow for you and
         | pastes the first answer without context, adjusting it to match
         | your code. If you are learning, just do the stackoverflow
         | search yourself, or prompt you favorite chatbot if you insist
         | on using AI, so you can have at least some explanation about
         | why it is done like this.
        
           | zahlman wrote:
           | What if you had an AI system that could _order_ the
           | exhaustive list according to its likelihood estimate?
        
             | GuB-42 wrote:
             | I think it is a good idea, and that's actually how Japanese
             | word processors have been working since the late 70s!
             | 
             | The way to input Japanese is to type the word phonetically
             | using a regular qwerty keyboard. The computer then finds
             | all writings that match and order them by likelihood.
             | 
             | Calling that "AI" may be a little much for 70s tech, but it
             | is definitely machine learning, as the machine is able to
             | match patterns and take previous choices into account.
        
       | dehrmann wrote:
       | > "I don't understand the docs, anyone have a video?"
       | 
       | As an experienced dev, I hate this trend. I don't need my hand
       | held for 10 minutes; I need to see three specific lines of config
       | that may or may not be somewhere in the video.
        
         | havefunbesafe wrote:
         | I think this is similar for anyone who reads a lot of
         | documentation: A 90 minute video explaining documentation and
         | quickstarts can usually be read in 30 minutes and you don't
         | have to constantly pause/restart/rewind.
        
         | SoftTalker wrote:
         | A video can be helpful to me in some cases. Demonstrating how
         | to set up a project or run a utility that scaffolds something.
         | Or even some basic coding idioms. But these should be focused
         | and short, i.e. 5-10 minutes. Show one thing, maybe a couple of
         | examples of common scenarios, and that's it.
        
       | 0xbadcafebee wrote:
       | I commend all the ideas the author has here about better
       | education. I agree it's a big problem. But perhaps the biggest
       | problem is the idea of one curriculum.
       | 
       | I grew up with a learning disability. I was extremely curious and
       | able to hyper-focus on learning, but only when I found it
       | interesting or easy to pick up and run with ideas. Other kids
       | didn't have the same problem as me, so they excelled while I
       | dragged behind. What I learned (after attending 5 schools in 2
       | years) is that I have to find my own path to learning that works
       | for me.
       | 
       | It's impossible for me to focus on dense text. You could point a
       | gun at my head and I still couldn't absorb the information. I
       | need spatial learning. Moving pictures, flow charts, multi-level
       | cutaways. Lists and sections broken up into hierarchies with
       | clear simple headings and compartmentalized concepts. This way my
       | brain can organize a literal map of the information for me to
       | traverse later. But some other people might find that a
       | nightmare.
       | 
       | At the same time, I learned programming extremely slowly, because
       | I _only_ used the methods that were easy to me. I just gave
       | myself projects to accomplish and used trial and error to slowly
       | learn how the language worked, along with a book for reference.
       | It took me years to finally understand the academic underpinnings
       | of how languages (and software) worked. I wish I could 've seen a
       | map of the different concepts, to reinforce what I needed to know
       | to learn the next thing.
       | 
       | But there's also different kinds of information which need
       | different learning methods. What's a sine, cosine, and tangent? I
       | honestly still don't know, because the words themselves are
       | foreign to me. For that I would need some kind of Duolingo-style
       | repetitious-card-memory-trick-thing to even remember what word is
       | what concept.
       | 
       | I don't know any framework to break up any subject into multiple
       | course methods. And AI can't do it either. AI sucks at
       | visualizations, and it doesn't have a deep understanding of how
       | to teach things in multiple ways. EdTech needs to be extremely
       | careful not to put all its cards into one "thing" if that thing
       | can't do what people need. (That said: AI is great at quickly
       | explaining things you don't know, and providing you an insanely
       | fast path to the information you need)
       | 
       | In terms of CS itself, I feel like what we're lacking is a big-
       | ass wikipedia or knowledge base. A lot of it is in Wikipedia, but
       | not nearly detailed or interlinked enough. Once you have _all the
       | content_ , then you can reorganize them into different
       | curriculums for different learning styles. But these are two
       | separate problems. The tutorials are way too shallow, and the
       | dense academic verbiage is far too detailed. You need a way to
       | intermix them that's tailored to the user.
        
         | peterfirefly wrote:
         | > What's a sine, cosine, and tangent? I honestly still don't
         | know, because the words themselves are foreign to me.
         | 
         | They are conversion functions between different fraction-based
         | ways of measuring angles.
         | 
         | You can draw a right triangle for the angle you want to build
         | and you can measure it based on the ratio of any two sides of
         | the triangle.
         | 
         | You can also view the angle as a fraction of a circle. It's up
         | to you decide whether a full circle counts as 360 or 2pi (or
         | 400 or 1 or whatever).
         | 
         | sin/cos/tan and their inverses let you convert between the two.
         | Both are useful, neither is always better. The conversions let
         | you use whichever is easier.
         | 
         | The sine/cosine names don't really make sense in Indo-European
         | languages because they are based on terribly mangled old
         | Arabic. No, they do not come from the Latin word "sinus" = bay
         | or bend. Yes, they probably did affect the direction of the
         | mangling because there was this nice Latin word that looked
         | like it _ought_ to have something to do with it... but they
         | started out as Arabic.
         | 
         | The name of the tangent function comes from the geometric
         | tangent as a line that touches a curve. Tangent comes from a
         | Latin word that means to touch -- hence why they keys on a
         | keyboard are called that in some languages. If you do some
         | fancy geometric drawing involving a unit circle, a radius, and
         | an angle, then the tangent function naturally appears as the
         | length of a line segment that 1) just touches the perimeter of
         | the circle and 2) is at a right angle to the radius.
        
           | peterfirefly wrote:
           | How do you remember sin and cos in practice? Draw a unit
           | circle, draw a radius at whatever angle with the x axis that
           | you want. The point where the radius touches the perimeter
           | has the coordinates cos(angle), sin(angle). How do you
           | remember the order? Alphabetically, just like the Baltic
           | states.
           | 
           | Tan is the slope of the radius line: sin(angle)/cos(angle).
           | 
           | How do you remember the fraction for the slope of a line? I
           | use a mnemonic: dydx ("dydex").
        
             | SoftTalker wrote:
             | > How do you remember sin and cos in practice?
             | 
             | I draw on the ratios I memorized in high school, e.g.
             | sin=opposite/hypotenuse, but 40+ years later sometimes I'm
             | not sure so I look it up online.
             | 
             | My needs for trigonometry are separated on a scale of
             | years, and at some point knowledge unused is knowledge
             | forgotten.
        
       | viccis wrote:
       | This is true of lots of educational shortcuts. I've noticed
       | students misusing college tutors. They have the tutors do their
       | homework and explain it, then they think they're good to go and
       | ready for the exam. Problem is that any solution seems obvious
       | after it's explained, but to have to come up with it yourself is
       | a separate skill than simply understanding it.
        
       | whatever1 wrote:
       | Organizations now generate 10x the amount of code, because
       | everyone can do it.
       | 
       | But we have exactly the same number of reviewers. How the heck
       | are we gonna deal with it when we cannot use LLMs for sanity
       | checking LLM code?
       | 
       | Like literally yesterday I had a not-technical person who used
       | codex to build an optimization algorithm, and due to the momentum
       | it gained I was asked to "fix the rough edges and help with
       | scaling".
       | 
       | The entire thing was trash (was trying to do naive search in a
       | combinatorial problem with 1000s of integers, and was violating
       | constraints with high probability, including the integrality). I
       | had to spend all my day reviewing it and make a technical
       | presentation to their leadership that it is just a polished turd.
        
         | lezojeda wrote:
         | It's basically a scheme letting less scrupulous people offload
         | work on others while at the same time making good impressions
         | to manager, PMs and CEOs who want to automate our job and fire
         | us.
        
         | A4ET8a8uTh0_v2 wrote:
         | << and make a technical presentation to their leadership
         | 
         | Honestly, this may be the only way to go about it.
        
         | LPisGood wrote:
         | The problem can probably almost certainly be solved to provable
         | optimality using HiGHS or even CBC - the open source Python
         | package PuLP comes with CBC.
         | 
         | If you want to be seen as the hero who solves things instead of
         | the realist who says why other solutions won't work, this could
         | be worth exploring.
        
           | whatever1 wrote:
           | Of course it can be solved using the proper tools by a domain
           | expert/practitioner (even with chatGPT since the expert will
           | know what to ask).
           | 
           | But why didn't the AI expert solve it using chatGPT? If it
           | has to land to an expert for reimplementation from scratch
           | after wasting a day on reviewing slop, did we gain
           | productivity?
        
             | LPisGood wrote:
             | Gain on productivity, maybe nothing. I didn't mean to
             | comment on the broader scope, just an actionable suggestion
             | for GP.
        
         | Jianghong94 wrote:
         | OR problems are hard because whoever try to vibe coding it
         | probably don't realize they fall into a specific algorithm and
         | can prompt llm to do thatl; what's worse is that even if you
         | tell them so they won't be able to understand the math behind
         | it and would much prefer their vide coding solution.
        
         | crazygringo wrote:
         | > _How the heck are we gonna deal with it when we cannot use
         | LLMs for sanity checking LLM code?_
         | 
         | Unit testing. LLM's are very good at writing tests and writing
         | code that is testable (as long as you ask it), and if you just
         | check that the tests are actually calling the code and doing so
         | with all the obvious edge cases and that the results are
         | correct, that's actually quite fast to review -- faster than
         | reviewing the code.
         | 
         | And you can include things like performance testing in tests as
         | well.
         | 
         | We're moving to a world where we work with definitions and
         | tests and are less concerned with the precise details of how
         | code is written within functions. Which is a big shift in
         | mindset.
        
           | verelo wrote:
           | I've been criticized for this by my coworkers in the past,
           | but I strongly believe that this is generally true and has
           | been for quite a while. Developers, myself included, like to
           | think their code is special, set in stone and going to last
           | forever. Most the code we write struggles to live a few years
           | yet we treat all of it like it's going to last forever. I've
           | been an advocate for flipping that and treating it like our
           | code will not last long, and when we identify the components
           | that will, going back and optimizing them.
           | 
           | I'm pretty confident that most developers, again including
           | myself, just really enjoy knowing something is done well.
           | Being able to separate yourself from the code and fixate
           | solely on the outcomes can sometimes get me past this.
        
             | lemagedurage wrote:
             | I think this is true for the edges, but if you build on top
             | of software that's not done well, it's a bad time.
        
           | ori_b wrote:
           | > Unit testing. LLM's are very good at writing tests and
           | writing code that is testable (as long as you ask it)
           | 
           | The unit tests LLMs generate are also often crap, testing
           | tautologies, making sure that your dependencies act as
           | specified without testing the actual code, etc.
        
           | rmonvfer wrote:
           | The only way this might work (IMO) is writing the tests
           | yourself (but of course, this requires you to plan and design
           | very meticulously in advance) and doing some kind of "blind
           | TDD" where the LLM is not able to see the tests, only run
           | them and act on the results. Even then, I've had Claude (Opus
           | 4.1) bypass tests by hardcoding conditions as it found them
           | so I'd say reliability for this method is not 100%.
           | 
           | Having the LLM write the tests is... well, a recipe for
           | destruction unless you babysit it and give it extremely
           | specific restrictions (again, I've done this in mid to large
           | sized projects with fairly comprehensive documentation on
           | testing conventions and results have been mixed: sometimes
           | the LLM does an okay job but tests obvious things, sometimes
           | it ignores the instructions, sometimes it hardcodes or
           | disables conditions...)
        
             | didericis wrote:
             | I've been saying this for years now: you can't avoid
             | communicating what you want a computer to do. The specific
             | requirements _have_ to be made somewhere.
             | 
             | Inferring intent from plain english prompts and context is
             | a powerful way for computers to _guess_ what you want from
             | underspecified requirements, but the problem of defining
             | what you want _specifically_ always requires you to convey
             | some irreducible amount of information. Whether it's code,
             | highly specific plain english, or detailed tests, if you
             | care about correctness they all basically converge to the
             | same thing and the same amount of work.
        
               | crazygringo wrote:
               | > _if you care about correctness they all basically
               | converge to the same thing and the same amount of work._
               | 
               | That's the part I'd push back on. They're _not_ the same
               | amount of work.
               | 
               | When I'm writing the code myself, it's basically a ton of
               | "plumbing" of loops and ifs and keeping track of counters
               | and making sure I'm not making off-by-one errors and not
               | making punctuation mistakes and all the rest. It actually
               | takes quite a lot of brain energy and time to get that
               | all perfect.
               | 
               | It saves a _lot_ of time to write the function definition
               | in plain English, have the LLM generate a bunch of tests
               | that you verify are the correct definition... and then
               | let the LLM take care of all the loops and indexing and
               | punctuation and plumbing.
               | 
               | I regularly cut what used to be an entire afternoon or
               | day's worth of work down into 30 minutes. I spend 10
               | minutes writing the design for what will be 500-1,000
               | lines of code, 5 minutes answering the LLM's questions
               | about it, 5 minutes skimming the code to make sure it all
               | looks vaguely plausible (no obvious red flags), 5 minutes
               | ensuring the unit tests cover everything I can think of
               | (almost always, the LLM has thought of a bunch of edge
               | cases I never would have bothered to test), and another 5
               | minutes telling it to fix things, like its unit tests
               | make me suddenly realize there's an edge case that should
               | be defined differently.
               | 
               | The idea that it's the "same amount of work" is crazy to
               | me. It's _so much more_ efficient. And in all honesty,
               | the code is more reliable too because it tests things
               | that I usually wouldn 't bother with, because writing
               | _all_ the tests is so boring.
        
           | smrtinsert wrote:
           | Doesn't work if black box. You still have to inspect code
           | performing the operation
        
           | majormajor wrote:
           | They're OK at it. I usually get more thoroughness of
           | scenarios than a mediocre human engineer (which is great!)
           | but less thoroughness of validation and output checking than
           | a good human engineer (which is less so).
           | 
           | But if you have a lot of unit tests and need to make a cross-
           | cutting refactor you run into the same problem that you
           | always have if all your coverage is at the unit level. Now
           | your unit boundary is fundamentally different and you need to
           | know how to lift and shift all the relevant tests to the
           | relevant new places.
           | 
           | And so far I've been less impressed by the "agents"' attempts
           | at cross-cutting integration testing since this usually
           | requires selective and clever interface setup and
           | refactoring.
           | 
           | LLMs have a habit of creating one-off things for particular
           | unit test scenarios that doesn't scale well to that problem.
        
           | simultsop wrote:
           | Your first response sounded like:
           | 
           | You got more diabetes? Use more insulin :x (insulins are very
           | good handling diabetes) (analogy).
           | 
           | Seniors would tell: the more you get in seniority the more
           | you delete code. So I don't think, more cushion for higher
           | jumping is the solution, sometimes you don't need to jump
           | from that high.
           | 
           | We're moving to Junior Generative Juniors, recursively.
        
         | jasonthorsness wrote:
         | "But we have exactly the same number of reviewers."
         | 
         | LLMs can help with reviews as well. LLMs are not too bad at
         | reviewing code; GPT 5 for example can find off-by-one, missed
         | returns, all sorts of problems that are localized. I think they
         | have a harder time with issues requiring a higher-level global
         | understanding. I wonder if in the future you could fine-tune an
         | LLM on a big codebase (maybe nightly or something) and it could
         | be the first-level reviewer for all changes to that codebase.
        
         | noosphr wrote:
         | The same way that we dealt with Excel programming. Ignore it
         | until it blows up, then spend hundreds of thousands trying to
         | fix it before the company goes bankrupt.
        
       | alexchantavy wrote:
       | > They're doing sweet battle with bots that are more interested
       | in getting their newly-generated test suite to pass than solving
       | the user's problem in the simplest way possible.
       | 
       | Makes having good tests even more important. One technique I've
       | found super helpful for coding with agents is to make the agent
       | do TDD.
       | 
       | Basically ask the agent to come up with the test cases first,
       | manually review those to make sure they make sense, then have the
       | agent game itself to write code to pass the tests. I feel like
       | doing TDD on my own manually is very tedious but having it be AI-
       | assisted helps me move a lot faster.
        
       | theobeers wrote:
       | "If AI doesn't literally take all the white-collar jobs over the
       | next few years, we won't just have a stock market bubble to deal
       | with. We'll have a drought of educated workers."
       | 
       | Indeed. For me this feels like an "I saw the best minds of my
       | generation" moment.
        
       | s_ting765 wrote:
       | Vibe code hell is the wrong term to be used here. Vibe coding is
       | used in reference to people now rediscovering low code and who
       | have no interest at all in learning about nor owning the code the
       | LLM generated.
        
       | Waterluvian wrote:
       | > feel like they got it, and then freeze up the moment they had
       | to write anything from scratch.
       | 
       | I had a deep rooted emotional response to this. One of the most
       | gruelling and somewhat distressing experiences of learning to
       | program was going through a tutorial, kind of getting it, then
       | trying to make my own spin of the same idea and getting
       | completely stuck.
       | 
       | But I'm also convinced that this gruelling process was the
       | highest density learning I've ever done. I've learned much more
       | since then, and a lot of considerably more complex things. But
       | I've never matched the same _density_ of learning.
       | 
       | The closest was probably high school math. That deeply
       | uncomfortable "this hurts my brain and is stressing me out"
       | feeling that I suspect isn't normal for everyone.
        
       | multiplesof4 wrote:
       | So the core idea is that "vibe code hell" is when learners lean
       | on AI to churn out passing code without building real
       | understanding, so the fix is to turn off autocomplete/agents
       | while learning and use chatbots only for Socratic guidance,
       | citations, and concept checks--embracing discomfort to grow
       | fundamentals. Interesting that long-form tutorials are fading
       | even as "learn to code" interest stays high, this illustrates how
       | LLM "sycophancy" can talk you into opposite conclusions on the
       | same facts--hence their push for opinionated aides like "Boots"
       | that won't give answers but nudge you to think.
        
       | travisgriggs wrote:
       | Disclaimer: I use Zed Pro and GPT daily to code. I have been
       | coding for money since 1989.
       | 
       | I view the rise of these tools and particularly efficacy in
       | programming as an indictment against modern programming. The
       | modern web is both amazing and horrific. If bureaucratic is
       | "using or connected with many complicated rules and ways of doing
       | things" (Britannica), then modern programming may be the ultimate
       | poster child. Sure, we love to slap this on "civil institutions",
       | but the fact that I need an automaton, answers based on
       | probability, to guide me in how to navigate doing some of the
       | simplest things, is pretty sad (IMO).
       | 
       | I used to counsel aspiring new programmers, "It's not about
       | knowing a certain language or framework. Your single most
       | important asset will be an aptitude to constantly keep
       | relearning. Some trends will stand out along the way, but you'll
       | never quit learning new tools and languages".
       | 
       | Maybe it's just my age, but it feels like we've overflowed at
       | some point.
       | 
       | Early programming was too electrical, too mathematical, so
       | pioneers sought to close the gap between coding and human think.
       | And yet, after years of speculative funding, what we're left
       | with, is a whole different set of problems.
        
         | simultsop wrote:
         | A few more speculative years, there will be no programming
         | left.
        
         | jmhmd wrote:
         | I agree with this sentiment. I have always wished, maybe
         | naively, for the type of computing environment that makes
         | possible things you see in sci-fi movies and shows, where
         | someone can simple "route all power to the forward lazers!" or
         | "use the power cells from your rifle to keep life support
         | systems online!" This imaginary world where technological
         | components are trivially interchangeable, compatible, reusable.
         | My impression is that if you even asked a smartphone hardware
         | engineer to replace a broken iPhone camera with a leftover
         | working camera from an Android phone that, at best it would be
         | an extraordinarily difficult task, and at worst, just may not
         | be possible.
        
         | heisenbit wrote:
         | A lot what has been heaped upon us is accidental complexity in
         | Brook's silber bullet sense. LLM's cut straight through it,
         | collapsing the silos of knowledge (and eco systems) build
         | around languages and frameworks.
        
           | travisgriggs wrote:
           | I view them as lossy compressors. Kind of like a JPEG for
           | algorithms. And while our optical nerve stack tends to be
           | pretty good at glossing over and correcting for erroneous
           | pixels, it has been my experience that computers do not
           | possess that kind of discernment. Thy do exactly as they're
           | told. And a "pixel off" here and there in the execution of
           | boolean logic can quietly not matter, or it can unravel
           | pretty epically.
        
         | jncfhnb wrote:
         | A non trivial problem is that documentation is difficult to
         | write, search, and read. And that makes learning hard. Whereas
         | AI makes learning easy. I'm fairly frequently impressed at how
         | well it understands unreal engine.
        
         | jrowen wrote:
         | I'm not entirely sure what you're saying. That usage of
         | bureaucratic seems strange. I think your counsel is more true
         | than ever. Moving forward, search is the meta-skill. The
         | information is readily available, you can do anything if you
         | know how to find it.
         | 
         | The automaton is not categorically different from the book or
         | the teacher.
         | 
         | The fact that some number of people aren't adept at these
         | things is an invariant of human nature, don't blame the tools
         | getting better.
        
       | solomonb wrote:
       | > After all, it might just allow me to be more lazy, not more
       | productive.
       | 
       | Is this not the true promise of technology?
        
       | gota wrote:
       | Minor part of the article, but the thing about "tutorial Hell" is
       | very true:
       | 
       | > Students would watch (or fall asleep to) 6-hour videos, code
       | along in their own editors, feel like they got it, and then
       | freeze up the moment they had to write anything from scratch.
       | Classic tutorial hell.
       | 
       | This is why, across history, the tried and true method of
       | learning a craft is an _apprenticeship_. You, the junior, tag
       | along a senior. You work under a shop that is led by a senior-
       | senior that is called a master. Apprentices become craftsmen,
       | craftsmen become masters. AFAIK, the master does not  'offload'
       | project guidance into non-craftsmen, it is an expected part of
       | the craftsmen role to be project/product managers/owners.
       | 
       | I've said this a million times to close friends and at this point
       | I'm only half joking. We, and I'm including myself in the
       | 'developer' crowd although I may not deserve it, have really
       | dropped the ball in not being a 'guild' since way back when. At
       | least since the late 1980's; and certainly since before the
       | Original Boom of software dev as a profession (I'm assuming it
       | was late 90's? I know not)
       | 
       | (Although I suspect that if that were the case we'd have fewer
       | developers throughout the 00s and 10s, which may have impacted
       | the development of the field itself in unexpected, but likely
       | negative, ways)
        
         | rhetocj23 wrote:
         | You learn by doing and thinking.
         | 
         | Not reading and watching.
         | 
         | Pure and simple.
        
           | gota wrote:
           | Yes, but even if we all agree the problem with education at
           | scale remains - there is a very finite and limited amount of
           | 'attention' from craftsmen/masters to distribute, which
           | limits the amount of apprentices.
           | 
           | The alternative has been to massify education for 'students'
           | (not apprentices) in passive lectures with
           | 'exercises/homework', which does not work as well for most
           | things and particularly for crafts.
           | 
           | BTW for a very minor portion of the population the 'student'
           | route is just as effective as the 'apprentice' route, but
           | these are in my experience the exception
        
           | scottyah wrote:
           | If you train at the gym with bad form, you will hurt yourself
           | in the long run. A person with a personal trainer giving
           | feedback at the right time, decreasing the feedback loop from
           | years to seconds will always outperform someone trying to
           | figure it out on their own(assuming the trainer is
           | competent).
        
             | leptons wrote:
             | If you are trying to teach yourself programming and never
             | read any documentation, you're going to make a mess of it.
             | 
             | If you're trying to work out at the gym on your without
             | reading anythi g about it first, you'll probably make a
             | mess of it.
             | 
             | There's a lot of info out there about how to train at the
             | gym, as well as how to write code. People who know how to
             | read can certainly get a long way by reading a few simple
             | tutorials.
        
           | 65 wrote:
           | I disagree with the reading part, as that's a major component
           | of learning.
           | 
           | Programming only clicked for me when I had a goal in mind and
           | started reading documentation: change the color of the button
           | when I click it. How to do something on click? How to change
           | the color of an element? Etc. From there my goals became
           | bigger and reading documentation and examples along the way
           | got me to where I am today.
           | 
           | Video is the true deception. I was trying to design patterns
           | for sewing recently, and as a novice I watched a few videos.
           | And none of them ever stuck with me on how to design
           | something myself. It was only when I read a book about
           | pattern design that the concepts stuck. I think the friction
           | of reading, parsing the info, and then acting on it is what
           | allows learning to happen.
        
             | rhetocj23 wrote:
             | My point is reading does not provide substantial value, it
             | provides barely any because you have to net out the
             | opportunity cost of time spent reading. The gains are
             | realised when you think and do something with the
             | information consumed.
             | 
             | Therefore reading and watching are not the key to success.
        
           | AstroBen wrote:
           | Reading and watching fills your brain with whats possible
           | 
           | Doing and thinking solidifies it, teaches you to use the
           | things you've read about
           | 
           | You need both
           | 
           | When I'm learning something new I like to skim a bunch of
           | content upfront to get an idea of what's there
        
             | marcosdumay wrote:
             | > fills your brain with whats possible
             | 
             | It doesn't. That's the problem.
             | 
             | It fills your brain with procedure. For a short time.
             | 
             | If you solidify the procedure, you will be able to perform
             | that one task. What on software development is still
             | useless.
             | 
             | Only at the next step, where you know so much that you can
             | think of your own new procedures that you have basic
             | competence at software development. There are other
             | professions like this, but for most, basic competence
             | happens before you even solidify the procedures.
        
               | yunwal wrote:
               | If you understand the difference between greedy
               | algorithms and non-greedy, you also understand the
               | difference between learning by doing and building a solid
               | foundation before tackling a problem.
               | 
               | For most simple problems, it's true that the taking the
               | seemingly shortest path to solving the problem is good
               | enough. There are other problems where you simply have to
               | understand the abstractions at a deeper level than you
               | can visualize in code. It's there that things like
               | reading a textbook or taking a course can help.
        
               | AstroBen wrote:
               | Can you give an example?
               | 
               | I mean: if you're learning a new
               | language/library/framework it's really useful to have a
               | broad idea of what the tooling for it looks like.. what
               | features does it offer? You can look up the details when
               | you need to
               | 
               | It's really useful to have a broad knowledge of
               | algorithms and what problems they're applicable to. Look
               | up the details later
               | 
               | If you're going into a new domain.. know the broad, high
               | level pieces of it. You don't need to pre-learn the
               | specifics of websockets but if you don't even know they
               | exist or what they're useful for in web development..
               | that's kind of a problem
               | 
               | Even more abstract concepts like how to design code
               | there's a lot of good info out there
               | 
               | If every generation had to re-invent the wheel from
               | scratch we'd never get anywhere. The problem people have
               | is they think ONLY reading is enough
        
           | palata wrote:
           | Read/watch, do, fail, think, read/watch, do, fail, think, ...
           | 
           | Learning requires _effort_ and _access to knowledge_. And of
           | course, learning requires that you know how to learn. This is
           | what school tries to teach.
        
             | anthk wrote:
             | Read, eval, print, loop.
             | 
             | Learn, apply, review, repeat.
        
         | majormajor wrote:
         | Creating new projects from scratch can trip up even experienced
         | professional developers because in most jobs you come in, work
         | an existing codebase, and iterate. Even if you need a new
         | service or app, you often start with a copy-paste or a common
         | template. When the team needs something more new, usually
         | there's just one person who sets that up. Setting up the whole
         | project from scratch and making all the 0-to-1 choices is much
         | less common.
         | 
         | An apprentice model doesn't really change that. Your average
         | electrician gets called to many more "here's new construction
         | that we're wiring from scratch" jobs than your average
         | corporate engineer gets "we need to set up a new project from
         | scratch without copying any of our existing files or folders."
        
         | abnercoimbre wrote:
         | A bit of a shameless plug: join a coding community [0] putting
         | in-person meetups above online interactions [1]. It doesn't
         | have to be ours, just any group of developers invested in the
         | idea of craftsmanship. This may not solve your concerns
         | directly but it's a step in the right direction.
         | 
         | From where I stand, we're never going to find what you want in
         | the workplace for reasons which predate LLMs: job hopping,
         | remote/hybrid work, incurious managers etc.
         | 
         | [0] https://handmadecities.com/meetups
         | 
         | [1] https://abner.page/post/exit-the-feed/
        
         | deadbabe wrote:
         | My problem with apprenticeship is that my workflow simply isn't
         | optimized for performative demonstration. It's messy,
         | haphazard, and a junior would have to sit around watching me do
         | a whole lot of nothing at times. I don't want to teach, I want
         | to get work done.
         | 
         | Juniors need to just accept they will have to learn the hard
         | way, on their own, asking occasional questions and looking at
         | tutorials until stuff sticks.
        
           | Anonbrit wrote:
           | Any dev who consists themselves senior and hasn't developed
           | some mentorship skills doesn't deserve the title. Even if
           | it's just freeing up half an hour a week to pair program with
           | a junior on something or talk through their current
           | assignment.
        
           | fragmede wrote:
           | performance aversiveness is a personal problem and should be
           | worked through
        
         | pfortuny wrote:
         | Actually, even before apprenticeship comes drilling. Repeat,
         | repeat, repeat.
        
         | Scotrix wrote:
         | +1 I dropped school relatively early (I was extremely bored and
         | the way of education was certainly somewhere close from the
         | Stone Age times). I did an apprenticeship as software engineer
         | with some (extremely useless) school component. Most of the
         | time in the late 90ties was trial and error, for me, the master
         | and the master of masters. Playing around with Linux and make
         | it ISDN routers with servers for websites built in HTML, Perl,
         | PHP. This was devops (before it got hyped) and real engineering
         | by figuring stuff out with almost no documentation, a lot of
         | crazy creativity and push the boundaries of what's possible.
         | And it reminds me just a little like today's world with AI and
         | vibe coding just on a complete different level and with
         | significant more pressure...fun times :-).
        
         | nvarsj wrote:
         | Uncle Bob has been saying this for decades.
         | 
         | But - I'm not really sure it's necessary in software. The
         | skillset can be entirely self taught if you're intelligent
         | enough. There are an abundance of resources and all it requires
         | is a terminal. Good software engineering principles can be
         | covered in a 200 page book.
         | 
         | You can't say the same for trades like plumber, electrician,
         | etc. which still use apprenticeships.
        
           | xboxnolifes wrote:
           | > The skillset can be entirely self taught if you're
           | intelligent enough.
           | 
           | > You can't say the same for trades like plumber,
           | electrician, etc. which still use apprenticeships.
           | 
           | Yes you can, and yet they still have apprenticeships.
        
             | nvarsj wrote:
             | Sorry, but in no way can you equate an electrical
             | apprenticeship with being self taught. The variety and
             | complete insanity of wiring in different installations
             | requires wide exposure (under an experienced mentor) to be
             | a competent electrician.
        
           | tokai wrote:
           | Sure you can be self taught in plumbing. Overall we are just
           | much less accepting of big screw ups with plumbing and
           | electricity than we are with most software.
        
             | somenameforme wrote:
             | I'm skeptical of this. There is an extremely large barrier
             | to entry in terms of the cost of the supplies and hardware.
             | And how would you even begin to realistically get
             | practice/experience working on and solving the countless
             | issues plumbers are responsible for, all in different
             | contexts with different setups? And then there's also a
             | safety issue - plenty of environments and tasks plumbers
             | are responsible for can be quite dangerous. Danger and
             | self-learning isn't entirely a non-starter, but it's
             | certainly an part of the 'balance' here.
             | 
             | By contrast software just isn't comparable at all. You can
             | sit at your desk, pay $0, and the only limitations to your
             | experience is the amount of time you're willing to
             | dedicate.
        
         | littlecranky67 wrote:
         | > This is why, across history, the tried and true method of
         | learning a craft is an apprenticeship.
         | 
         | Citation needed - at least for anything software development.
         | Every single respectable software dev I met around my age
         | bracket or older (40+), was self-taught. Mostly because in the
         | 80s or 90s there wasn't much opportunity. But computers shipped
         | with handbooks how to program them, at that time.
        
         | hintymad wrote:
         | > This is why, across history, the tried and true method of
         | learning a craft is an apprenticeship.
         | 
         | And in our modern world, universities are still the best place
         | for such apprenticeship. Not the ones per Mark Trevor's words
         | (https://marktarver.com/professor.html), of course, but a self-
         | respecting university will train their students with
         | progressively challenging and practical assignments. We started
         | with implementing simple data structures and algorithms and
         | solving simple puzzles all the way to implementing toy OSes,
         | databases, persistent data structures, compilers, CPUs,
         | discrete simulations, machine learning models. We started with
         | implementing functions and individual components and quicly to
         | building things from scratch. I'm forever grateful to the
         | training I received in my univerity.
        
           | leptons wrote:
           | I'm self-taught and did pretty much all of those things. All
           | it took was reading the docs.
        
             | guhidalg wrote:
             | I downvoted you because you are exceptional but the rest of
             | the world is not. Most people benefit from traditional
             | education, software engineering is not different.
        
               | Muvasa wrote:
               | BS. Everything I learned from college was me anki and
               | youtube. Lectures were wasting me time from actually
               | studying. Most people I talked to they said. They didn't
               | follow the lecturer at all just sat there like me for the
               | attendence. There is no reason why we should continue to
               | have mandatory lectures when you can just record them
               | like Gilbert Strang did.
        
               | cultofmetatron wrote:
               | its not THAT exceptional. I myself know several people
               | who bootstrapped themselves into being descent software
               | engineers. Traditional education is certainly fine for
               | some people but its not the only way for the masses to
               | learn. whats missing is the discipline of pushing
               | yourself when you have no immediate extrinsic motivation.
               | 
               | You might have had a point a few decades ago when the
               | information itself was difficult to fine but with the
               | internet and online courses, its easier than ever to
               | teach yourself in a "nontraditional" setting.
        
               | jjcob wrote:
               | I was a self-taught software developer who already made
               | money with programming for ~10 years before I took my
               | first computer science classes.
               | 
               | Those classes unlocked a whole new level of programming
               | for me. I just didn't know what I didn't know before.
               | 
               | People keep reinventing the same shit if they haven't
               | learned about it before.
               | 
               | Sure, you can learn many things online. But for most
               | things you just don't even know that they exist, you
               | wouldn't know to search for them.
        
               | palata wrote:
               | I downvoted you because I kindly disagree. Seems like
               | that's how you do it.
        
           | timr wrote:
           | > And in our modern world, universities are still the best
           | place for such apprenticeship.
           | 
           | I spent a good portion of my life in Universities -- and went
           | as far as one can go in terms of educational credentials and
           | taught at the university level -- and I cannot disagree more.
           | 
           | Universities produce job skills _incidentally_ , if at all.
           | It's simply not their goal [1]. Even today, at the best CS
           | programs in the country, it's possible to get a degree and
           | still not be better than a very junior engineer at a software
           | company (and quite a few graduates are worse).
           | 
           | > We started with implementing simple data structures and
           | algorithms and solving simple puzzles all the way to
           | implementing toy OSes, databases, persistent data structures,
           | compilers, CPUs, discrete simulations, machine learning
           | models.
           | 
           | This was not my experience, nor is it what I have seen in
           | _most_ university graduates. It 's still quite possible for a
           | CS grad to get a degree having only theoretical knowledge in
           | these topics, and no actual ability to write code.
           | 
           | This leaves open the question of where "the best place" is to
           | learn as-practiced programming [2], but I tend to agree with
           | the root commenter that the best programmers come up through
           | a _de facto_ apprenticeship system, even if most of them
           | spend time in universities along the way.
           | 
           | [1] Their goal is to produce professors. You may not realize
           | this if you only went as far as the undergraduate diploma,
           | but that is mostly what academics know, and so it is what
           | they teach. The difference between the "best" CS programs and
           | the others is that they have _some_ professors with actual
           | industry experience, but even then, most of them are
           | academics through and through.
           | 
           | [2] Code academies suck in their own ways.
        
             | throwup238 wrote:
             | _> Universities produce job skills incidentally, if at all.
             | It 's simply not their goal [1]. Even today, at the best CS
             | programs in the country, it's possible to get a degree and
             | still not be better than a very junior engineer at a
             | software company (and quite a few graduates are worse)._
             | 
             | Having been self taught in both software and electrical
             | engineering, I've experienced a lot of this.
             | 
             | In EE, it's amazing how many graduates come into the job
             | without ever having used Altium/KiCAD/Cadence for a
             | nontrivial project or who can give you a very precise
             | definition of impedance but don't know how to break out an
             | engineering calculator to set design rules for impedance
             | controlled differential pairs. Or worse yet, people who can
             | give you all the theory of switching model power supply but
             | can't read datasheets and select parts in practice.
        
               | fragmede wrote:
               | Yeah the practical part is what does it. Students need
               | time on their particular niche's software programs.
               | Outside of Altium/KiCAD/Cadence there's also Mastercam,
               | ANSYS HFSS, LTspice /
               | SIMetrix/Keysight/CATIA/Synopsys/Dymola, among others.
        
             | ryandrake wrote:
             | Yea, I started to learn how to program in my early teens
             | and made a lot of progress just messing around on my own.
             | Then I went to University for a CSE degree and spent 4
             | years basically doing applied math. Yuck. Finally once I
             | got out of University and into industry, I started learning
             | again practical things like debugging, build systems, unit
             | testing, application development, and so on. My programming
             | skill growth quickly restarted.
             | 
             | Looking back, I'd consider my University degree to be
             | essentially a 4 year pause on growing my programming
             | skills.
        
             | dr_dshiv wrote:
             | Thank you for saying this clearly. I love universities.
             | They are so far from supporting apprenticeships. Even phds
             | -- they don't do enough work for the senior professors to
             | count as apprenticeships. Maybe postdocs. But the system is
             | not great--we need guilds.
        
             | palata wrote:
             | I studied computer science in a university, not because I
             | wanted to learn programming, but because I wanted to study
             | computer science.
             | 
             | I admit that most development tasks don't need the
             | knowledge you get from a CS degree, but some do.
             | 
             | But in computer science, it's also totally possible to be
             | self-taught. I've learnt _a lot_ on my own, especially
             | after university. Computer science is good for that because
             | it 's generally accessible: you don't need an expensive lab
             | or equipments, you can just practice at home on your
             | laptop.
        
             | hn_acc1 wrote:
             | I'll disagree with your "disagreement" - of course, I went
             | to a relatively unique school: Waterloo computer
             | engineering with co-op in the 90s. 8 study semesters, 6
             | work semesters. Clearly lets you see what "work" is like,
             | and which parts of your studies seem relevant. Obviously,
             | no one will use 100% of their engineering courses - they're
             | designed to cover a lot of material but not specialize in
             | anything.
             | 
             | True, grad school was focused on making professors - I did
             | a master's, ended up being a lecturer for a while. Now a
             | 20+ year software developer in the valley. But undergrad
             | was focused on blending theoretical and practical skills.
             | If they didn't, employers would have stopped coming back to
             | hire co-op students, and would stop hiring the students at
             | a high rate when they graduate.
             | 
             | I COULD have learned a lot of software myself - I was
             | already coding in multiple languages before attending and
             | had a side-software-contract before ever going in - and
             | that was before the "web", so I had to buy and study books
             | and magazines and I was able to do that reasonably well
             | (IMHO).
             | 
             | Yet I never regretted my time in school. In fact, I had a
             | job offer with my last employer before going back to grad
             | school, and they hired me as a summer contractor at a very
             | nice hourly rate back then.
        
             | hintymad wrote:
             | > Even today, at the best CS programs in the country, it's
             | possible to get a degree and still not be better than a
             | very junior engineer at a software company (and quite a few
             | graduates are worse).
             | 
             | I think it's important to differentiate the personal
             | achievement of students and the training offered by their
             | universities. For instance, the courses offered by CMU and
             | MIT are super useful - insightful, practical, intense, and
             | sufficiently deep. That said, it does not mean that every
             | MIT/CMU graduate will reap the benefit of the courses, even
             | though many will.
             | 
             | It goes without saying that it does NOT mean people can't
             | teach themselves. I'm just saying universities offer a
             | compelling alternative to training next gen of engineers.
        
           | usefulcat wrote:
           | I went to a good university with a decent CS program, and I'd
           | definitely say I learned a lot more on the job than I did in
           | school. I didn't always have any mentors to speak of but I
           | did have at least a couple who were good.
        
             | g9yuayon wrote:
             | I think both can true. I learned a lot in my university,
             | and my learning has been carrying me ever since. Case in
             | point, it was never a problem for me to pick up functional
             | programming or programming-language concepts in general
             | because the courses on programming languages were so
             | wonderful. I had no problem tap into formal verifications
             | or data science or distributed systems because my
             | universities gave me solid fundamentals. Heck, I was not
             | even a good student back then. It was Sam Toueg of the
             | failure detector fame who taught us distributed systems,
             | yet I was lost most of the time and I thought he was
             | talking some abstract nonsense. Only after I graduated
             | could I appreciate the framework of analyzing distributed
             | systems that he taught us.
             | 
             | On the other hand, we certainly learned more after
             | graduation (or something is wrong, right?). When I was in
             | the AI course, the CS department was all about symbolic
             | reasoning I didn't even know that Hinton was in the same
             | department. I think what matters is the core training
             | stayed with me and helped me learn new stuff year after
             | year.
        
           | g9yuayon wrote:
           | My own experience: https://www.quora.com/Could-online-coding-
           | programs-and-codin...
           | 
           | And my wife's experience: https://www.quora.com/What-is-it-
           | like-to-learn-computer-scie...
           | 
           | In short, the training that we got from our universities was
           | invaluable, and I always feel fortunate and grateful to my CS
           | department.
        
         | vulk wrote:
         | I use LLMs for teaching me how code exactly like that, I am the
         | apprentice and the LLM move forward only If I say so, it does
         | only explaining and teaching I do the writing. I much prefer it
         | than looking for the next course or tutorial. The tutorial hell
         | is mainly a problem of the people who decided that they can be
         | teachers. From the countless books and courses I have purchased
         | nothing actually teaches you anything, the whole model of
         | teaching someone how to code is completely wrong in my opinion.
         | At this point it is just plain frustration I rather prefer to
         | tell the LLM to look for the latest documentation of a language
         | or just go and look the documentation myself, a library, or
         | whatever, and come up with a plan from it. My only gripe is
         | that I am not sure if the LLM hallucinates and it is actually
         | looking at the thing I pointed to or just spits the things that
         | It was pre-trained on.
        
         | lispisok wrote:
         | Tech has the issue where any sort of gatekeeping is seen as bad
         | because people in the field have so much hubris they think they
         | can never be replaced and there has been a coordinated effort
         | by capital to flood the field with labor to drive salaries
         | down. You could go further and say the complete lack of
         | professional standards is why we have this leetcode humiliation
         | ritual interview process which has nothing to do with the
         | actual job has become the gatekeeper.
        
         | palata wrote:
         | > This is why, across history, the tried and true method of
         | learning a craft is an apprenticeship.
         | 
         | I would argue that, across history, the tried and true method
         | of learning a craft is _access to knowledge_.
         | 
         | It used to be that you had to sit next to a master to access
         | the knowledge of the master. Now in many fields, you can just
         | find it on the internet and learn at home, at your pace.
         | 
         | Everyone is different, what's best for you may not be what's
         | best for me. But what is _absolutely necessary_ is _access to
         | knowledge_.
        
         | watwut wrote:
         | I am honestly very glad there was nothing like that when I was
         | young. I could learn by doing things, reading things and maybe
         | messing up and fixing after myself.
         | 
         | I also do not think history shows that was the most effective.
         | That is how it was done when it was the only option.
        
       | groos wrote:
       | 'Learning must be uncomfortable' - this is the key reason there
       | are some professions which pay more than others. Some people are
       | willing to bear the mental discomfort while others aren't. A lot
       | of people are far more willing to bear physical discomfort but
       | that's almost never monetarily rewarded.
        
       | dang wrote:
       | I tried to find a representative phrase in the article that would
       | make a good replacement for the baity title*, but I didn't find
       | one, so I did a best guess. If anyone can suggest a better (i.e.
       | accurate and neutral) title, we can change it again.
       | 
       | * in keeping with
       | https://news.ycombinator.com/newsguidelines.html: " _Please use
       | the original title, unless it is misleading or linkbait._ "
        
       | SoftTalker wrote:
       | When I was a beginner in school we got "hello world" as an
       | example, and were on our own from there.
       | 
       | Of course things were much simpler. You had an editor, and a
       | compiler that you ran from the command line. At some point you
       | would learn about Makefiles, but not before you would appreciate
       | their value.
       | 
       | And there was no CI, no source control, no IDEs, no TDD
       | frameworks.
       | 
       | I can see that throwing a brand new developer into something like
       | Visual Studio would be overwhelming. Even I find it overwhelming
       | after three decades. I still use emacs and a shell.
        
       | sfarshid wrote:
       | tried reproducing the "Sycophant Problem" example in ChatGPT but
       | couldn't.
       | 
       | A:
       | https://chatgpt.com/share/68e940a1-953c-8011-a8f2-3a1a0c51be...
       | B:
       | https://chatgpt.com/share/68e94067-ec74-8011-88e5-9d27670f31...
        
       | paxys wrote:
       | Agree with everything in the article, but this isn't a new
       | phenomenon. As long as I can remember (20 years, probably
       | longer), for every student or professional who is seriously and
       | diligently learning to code there are many orders of magnitude
       | more who are simply there to take shortcuts and pad their resume.
       | Vibe coding is just the latest iteration of this. This is why CS
       | programs have such low graduation rates. This is why coding
       | bootcamps don't produce many industry-ready engineers. Coding is
       | _hard_ , and the salaries of software engineers, even in the AI
       | age, reflects this.
        
       | kazinator wrote:
       | > _We'll have a drought of educated workers._
       | 
       | That's scary, because you cannot escape from the repercussions
       | just by not being one of the dummies who relinquished all
       | learning to AI.
       | 
       | You depend on being surrounded by other people who know what they
       | are doing. And not just immediately surrounded, but in a broader
       | scope.
        
       | JohnMakin wrote:
       | If you are writing a tutorial, _please_ for the love of all that
       | is holy do not just make it a bunch of copy /paste steps without
       | much or any explanation. Make me work through it, debug it, take
       | me down the wrong path on purpose for the "aha!" moments. Leave
       | copious amounts of explanation and documentation. Tell me what
       | can go wrong and how I can fix it. I do _not_ want a video. I
       | hate videos. I know not everyone does and people learn
       | differently but videos suffer even worse from the copy /paste
       | problem, I'm essentially just parroting what I'm watching usually
       | without much explanation either. And also, going back and
       | referencing is difficult without taking copious notes.
       | 
       | "Now we do x,y, z, and voila! here you have it, a fully fledged
       | (whatever)." Ok, but what did you just do? Why doesn't it work on
       | my machine? etc. I've seen tutorials that do this stuff right and
       | it's a very obvious night and day difference.
        
         | SoftTalker wrote:
         | With any tutorial, don't just passively read it or copy/paste
         | the code.
         | 
         | Take notes as you go. Type the code manually. Experiment with
         | variations of the code. It does help your brain encode the
         | information.
        
         | zahlman wrote:
         | Applying the diataxis (https://diataxis.fr) wisdom here: what
         | you describe is really a _how-to guide_ rather than a tutorial.
         | These are also important, and you should seek them out (and ask
         | for them) when they 're what you want.
         | 
         | Tutorials fundamentally exist to serve a different purpose: to
         | orient people within the subject matter, when they don't even
         | know what question to ask. Going through steps in order is
         | important so that the student can focus. Intentionally going
         | down wrong paths can be counterproductive for the neophyte,
         | because it means having about as much _experience_ doing the
         | wrong thing as the right thing. Debugging is a general skill,
         | but technology-specific debugging can and probably should be
         | taught separately from the  "happy path".
         | 
         | A properly done tutorial will properly show the steps, and will
         | have been tested to ensure that it can in fact be expected to
         | work on everyone's machine. The parameters for success will be
         | controlled as tightly as possible.
        
       | 0x457 wrote:
       | Tutorial hell...if I had a dollar for every "Anyone has a
       | tutorial on how to build X" where X is some very specific
       | business idea.
       | 
       | I feel the same about "what books do you recommend reading to
       | learn Y" Have you tried looking at the online documentation?
       | 
       | Usually see it from people that have formal CS education. They
       | learned one way to learn things and refuse to adapt to real life.
        
         | Muvasa wrote:
         | Documentation is not meant for learning. It's to be used as a
         | reference. It's like learning medicine by reading a medical
         | dictionary.
        
       | j45 wrote:
       | Vibe code is one way to learn code review and debugging
        
       | jrowen wrote:
       | Socrates expressed strong reservations about books and writing,
       | primarily because he believed they weaken memory and true
       | understanding, leading to a false sense of knowledge and a
       | reliance on external "marks" rather than internal wisdom. [Pasted
       | from Gemini]
        
       | black3r wrote:
       | While I agree with the premise that "vibe code hell" has replaced
       | "tutorial hell", they are very much not the same. To expand on
       | that, let's start with the fact, that a good coder needs both
       | "skill" and "knowledge".
       | 
       | Tutorials (at least the good ones) give you some knowledge - the
       | tutorial often explains why they do what they do and how they do
       | it, but don't give you any skill, you just follow what other
       | people do, you don't learn how to build stuff on your own.
       | 
       | Vibe coding on the other hand gives you some skill - how to build
       | stuff with AI, but don't give you necessary coding knowledge -
       | the AI does all the decisions for you and doesn't explain why it
       | did what it did, or how it did it, it just does it for you.
       | 
       | "I can't do anything without Cursor's help" is not really the
       | problem. The problem is that vibe coders create some stuff and
       | they don't understand how that stuff works. And I believe this is
       | much bigger problem than knowing how stuff works but not knowing
       | how to use it.
       | 
       | Learning doesn't need to be "uncomfortable". Learning needs to be
       | "challenging". There is a difference. The suggested approach here
       | vaguely reminds me of the "you must first learn how to code in a
       | notepad before using an IDE" approach.
       | 
       | While the real takeaway should be "you must first learn how to
       | learn, before properly learning something". To learn something
       | properly, you need 2 things: To know what to learn, and to know
       | when you've learned it. To know what to learn you need a
       | curriculum - this obviously depends on your specialization for
       | coders, and can be more crude or more detailed, but you still
       | need something to follow so that you can track your progress.
       | "When you've learned it" for coders is when you can explain what
       | some code does to a colleague and answer questions about said
       | code. It doesn't matter if you wrote it, or someone else wrote
       | it, or an AI wrote it. Understanding code you didn't write is
       | even more important than understanding your own code.
        
       ___________________________________________________________________
       (page generated 2025-10-10 23:01 UTC)