메뉴
HN
Hacker News • 32일 전

AI 의존이 코딩 전문성을 붕괴시킨다

IMP
8/10
핵심 요약

AI 코딩 에이전트를 효과적으로 다루려면 전문성이 필요한데, 정작 그 도구들이 전문성을 길러주는 '마찰(friction)'을 제거해버려 역설이 발생한다는 분석입니다. JetBrains 연구에 따르면 주니어 개발자들이 AI를 '개인 과외'처럼 쓴다고 생각하지만 실제로는 계획 단계를 건너뛰고 '유능감의 착각'만 남는 경우가 많았습니다.

번역된 본문

AI 코딩은 전문성을 가로막을 것이다 — 장기적 기술 형성에 지속적인 마찰이 필요하다는 이야기.

"우리는 지능이 전기나 물처럼 공공재가 되어, 사람들이 미터기를 통해 우리에게서 구매해 원하는 곳에 사용하는 미래를 본다" — OpenAI 샘 올트먼

이전 글 '에이전틱 코딩은 함정이다'에서 나는 '숙련된 오케스트레이터의 역설'을 다룬 바 있다. AI 에이전트를 관리하는 데 필요한 기술이 바로 그 AI 에이전트를 계속 사용함으로써 약화될 수 있는 기술과 같다는 것이다. 전문성이 큰 차별점이었다. 경험이 많은 개발자일수록 기술 위축을 겪을 가능성이 낮은데, 지식이 수년의 경험 끝에 굳어졌기 때문이다. 지금 주변을 둘러보면 이러한 모델에서 가장 큰 이득을 보는 사람의 대다수는 해당 분야에서 수년, 심지어 수십 년의 경력(당연히 AI 도구 이전의)을 가진 사람들임을 알 수 있다. 업계 베테랑이라면 누구나 같은 말을 할 것이다. 이 지식의 기반은 직접 일해본 데서 나온다고.

LLM이 등장한 시기 즈음에 이 업계에 진입한 개발자들은 그런 세월의 혜택이 없는 상황에 놓였으면서도, 효과적이고 책임 있게 다루려면 전문성의 역사를 필요로 하는 코딩 어시스턴트를 사용해 업무를 가속하도록 안내받고(때로는 의무화)있다. 이는 초보자가 전문가 수준의 기술이 있어야 이 도구를 활용하고 업계에 보조를 맞출 수 있는 상황을 만들기에, 이 세대에게는 어색한 처지다.

'전문가 같은 초보자'

우리는 현재 업계 전체에 매우 혼란된 신호를 보내고 있다. AI 도구를 쓰지 않으면 쓰는 동료들에게 '도태'될 것이라고 못 박는다. "AI가 당신을 대체하는 게 아니라, AI를 쓰는 사람이 대체할 것"이라는 말은 2023년부터 반복되어 왔다. 그리고 같은 호흡으로, 이 모델에서 최고의 결과를 얻으려면 고차원적 사고를 적용해야 한다고도 한다. '바이브 코딩(vibe coding)'은 막다른 길이며, '스택 위로 올라가서' 견고한 명세를 만들고, 좋은 디자인 패턴으로 아키텍처를 설계하며, 이해하지 못한 것을 출시하는 일이 없도록 결과물을 항상 부지런히 검토해야 한다는 것이다. 그러나 그런 기술은 시간에 걸쳐 마찰과 어려움을 겪은 결과 '좋은 안목(good taste)'으로 결실 맺는 것이다. 이는 또 하나의 상황적 역설로 이어진다. 이 도구들이 전문성을 요구하는데, 정작 그 도구들이 전문성을 길러주는 마찰을 능동적으로 우회한다면, 이 도구를 효과적으로 쓰기 위해 전문가가 되는 길은 무엇인가?

'이해 없는 자신감'

한 가지 희망은 이 모델들이 코드 생성에 사용되면서 학습을 가속하게 되리라는 것이다. 주니어 개발자들이 '개인 AI 튜터'와 함께 업계 베테랑과 같은 위엄과 자신감으로 일할 수 있다는 것. 문법을 아는 것은 점점 덜 중요해지고, 지식이나 모호성의 공백은 AI 도구가 채워준다. 개발자가 스택의 더 높은 곳에 앉아 있기에 코드의 깊은 메커니즘은 추상화된 채 남는다.

JetBrains는 개발자 도구 분야의 주요 기업으로, 최근 주니어 및 초보 개발자들을 대상으로 라이브 코딩 세션에서 개별 행동을 꼼꼼히 분석하고, 다양한 수준의 AI 도구 보조를 받으며 코딩을 배우는 능력을 테스트하는 연구를 완료했다. 주요 결론은 냉혹하고 직관에 반했다. "참가자들은 개인 과외를 받는 것 같다고 생각했다. 하지만 우리 연구 데이터에서... 그들은 실제로 GenAI 도구를 개인 튜터처럼 사용하지 않았다. 오히려 정반대였다."

AI 보조를 많이 받은 참가자들은: "스스로 그 입장에 도달하도록 reasoning하지 않았기 때문에, 중요한 계획 단계를 자주 건너뛰었다", "진정한 이해가 아닌 '유능감의 착각'으로 마무리했다."

반면 AI 사용을 절제한 참가자들은: "'부정적 전문성(negative expertise)', 즉 나쁜 것을 무시하는 능력을 개발했기에 성공했다."

원문 보기
원문 보기 (영어)
AI Coding will Prevent Expertise The need for ongoing friction in long-term skill formation. "We see a future where intelligence is a utility like electricity or water and people buy it from us on a meter and use it for whatever they want to use it for" - Sam Altman of OpenAI In my previous article, Agentic Coding is a Trap , I discussed the "skilled orchestrator paradox", where the skills required to manage AI agents for coding are the same ones that can be diminished through the continued use of said AI agents. Expertise was largely the differentiator; the more experienced a developer is, the less likely it is that they might experience skill atrophy, as the knowledge has had a chance to ossify after years of experience. If you look around right now, you'll find the vast majority of those that are seeing the most benefits from these models are those that have had years, if not decades, of experience in the field (which predates AI tooling, of course). And any industry veteran will tell you the same: the bedrock of this knowledge comes from doing the work. Developers who've entered the field around the time of LLMs are placed in a position where they don't have the benefit of longevity, but they are being guided (and sometimes mandated) to accelerate their efforts using coding assistants that require a history of expertise to wield effectively and responsibly . It's an awkward place to be for that demographic, as it creates a scenario where a novice needs expert-level skills to leverage the tools and keep pace in the industry. The "Expert Novice" We're currently sending very mixed signals to people across the industry. We're hammering in that if you're not using AI tools, you will be "left behind" by your peers who are using them. "AI won't replace you, someone using AI will" has been on repeat since 2023. And in the same breath, it's also said that the way to get the best results from these models is to apply higher-order thinking ; "vibe coding" is a dead end; you need to "move up the stack" and create robust specs, architect with good design patterns, and always review the outputs diligently so you never ship something you don't understand. The skills to do so, however, are a function of someone who has experienced the friction and challenges over time that culminate in "good taste" . This leads to another situational paradox: If these tools demand expertise , yet the tools can actively circumvent the friction that cultivates expertise , then what is the path for one to become an expert so they can effectively use these tools? Confidence without Comprehension One hope is that these models will end up accelerating learning as they are used for code generation. Junior developers can work with the same gravitas and confidence as industry veterans with their "personal AI tutor". Knowing syntax is increasingly less important, and any knowledge or ambiguity gaps are filled by the AI tool. The deeper mechanics of the code stay abstracted away, since the developer sits higher in the stack. JetBrains , a major player in developer tools, recently completed a study of junior and novice developers by painstakingly analyzing their individual behavior in live coding sessions, and testing their ability to learn coding with AI tooling in varying degrees of assistance. Their main takeaway was stark and counterintuitive: "Participants thought it was like having a personal tutor. From the data in our study ... we observed that they did not , in fact, use GenAI tools like a personal tutor. In fact, it was quite the opposite ." The participants that leaned into heavier AI assistance: " Often skipped crucial planning stages , finding that because they hadn’t reasoned themselves into this position, Copilot had." "Finished with an 'illusion of competence' rather than true understanding. " Counter to that, the participants that mitigated their usage of AI: "Succeeded because they had developed 'negative expertise'—which is 'the ability to ignore incorrect or unhelpful GenAI suggestions '—allowing them to focus on writing their own solutions rather than being led astray." "Were able to use GenAI to accelerate, creating code they already intended to make. " The novice developers who were the most unrestricted and confident in their AI usage "had skipped crucial steps in the programming problem-solving process, and were now lost." Perhaps unsurprisingly, the novice developers who performed the best were the ones that greatly mitigated or outright ignored the AI coding assistance. Inverted Learning Due to the self-directed nature of LLMs, the more experience you have, the more benefit they provide since you can accurately steer, audit, and verify the outputs. The less knowledge you have, the more they can mislead you . Interacting with LLMs for learning new skills takes the shape of an "inverted learning" model, a role reversal where the student is initially guiding the mentor , the mentor responds, and then the student, again, steers the mentor. The process is precarious; LLMs are incredibly sensitive to the shape of the prompt. When you're exploring new domains, you don't know what you don't know , and the malleable and accommodating design of an LLM can lead you to believe you know more than you actually do . If you're exploring territory that is even somewhat unfamiliar, you often don't even know the questions that you need to ask that could properly guide the model to providing the best answers. It begins to feel like a compass that always points north, wherever you suggest north might be. From the same JetBrains study , even the most prepared students were derailed by the AI assistance due to this type of learning model: One participant demonstrated good fundamental planning and habits, but suddenly "skipped crucial problem-solving planning stages, jumping directly to coding and was enticed by Copilot into quickly producing code" and had to rely on the LLM to fix the error that the LLM introduced in the first place . AI models lack judgment, empathy, and pedagogical intent, and the solutions provided are not rooted in experience but rather in patterns in the training data (LLMs are, at their core, incredibly complex pattern interpolators) . The infinite answer machine is tempting, and known to be addictive . It can unwind rather quickly, especially for inexperienced developers. Once you get deep enough into a generated solution, you are often beholden to the AI tool to also finish the job, circumventing the problem-solving friction that is required for the formation of a mental model (and to be fair, senior developers are prone to this phenomenon, as well). The Friction is a Feature Expertise and mastery don't happen purely through observation and dialogue, but through experience, repetition, and trial and error; you have to fail to succeed. If I wanted to learn how to cook, I could watch a Master Chef work and make endless inquiries. After a month, I would be able to describe the perfectly medium-rare ribeye but never know what it's like to cook one, and I'd almost certainly overcook it on my first attempt. Coding has endless moments of tracing obscure errors with no log file to help, experiencing the subtle performance differences of certain methods, or having to rewrite an approach when it's clear it won't going to scale. This applied friction is directly what builds "developer intuition" (or "taste"). The Germans have a great word for this: Fingerspitzengefühl (fingertip feeling). It’s the muscle memory that triggers when a developer looks at something and thinks, “yeah...this is probably going to cause problems.” By avoiding the mechanics of the struggle, this intuition is never built. In UPenn's large-scale 2025 study Generative AI without guardrails can harm learning , they followed 1,000 students using an LLM to learn mathematics and found students used AI as a crutch and ended up performing 17% worse than students with just a textbook (and just as with the J