솔직히 질문자님 마음 너무 잘 알아요.
저도 처음 코딩 배울 때 그랬어요.
와, ChatGPT 돌리면 막히던 게 짠!
하고 풀리는 거 보면서 '이게 정말 나를 대체하는 건가?' 싶은 생각이 들더라고요.
그래서 너무 걱정하시는 부분 자체가 이미 '성장하고 있다'는 증거이기도 해요.
막연하게 '몇 퍼센트'라고 숫자로 정하기는 거의 불가능해요.
왜냐면 AI의 도움을 받는 목적이 '결과물'을 만드는 데만 맞춰져 있으면 안 되거든요.
AI는 도구지, 지능 자체가 아니라는 관점으로 접근하시는 게 제일 중요해요.
일단 제가 경험상 정리해 본 것들을 몇 단계로 나눠서 설명드릴게요.
이게 일종의 '사용 가이드라인'이라 생각하시면 좋겠습니다.
---
1.
'암기'의 단계가 아니라 '개념 이해'가 목표일 때 (초보 단계) 이 단계에서는 AI에게 '코드를 짜달라'고 요청하는 비율을 최소화해야 해요.
지금 질문자님처럼 막 시작한 초보 단계라면, AI를 '답안지'가 아니라 '개념 설명하는 개인 과외 선생님'이라고 생각하셔야 해요.
만약 특정 기능(예: 자바스크립트에서 비동기 처리가 뭔가요?)에 대해 질문했을 때, AI가 바로 예제 코드를 쫙 보여주는 것에 만족하지 마세요.
"이 코드가 왜 이렇게 작동하는지, 이 줄이 어떤 역할을 하는지, 만약 A라는 조건이 추가되면 이 부분은 어떻게 바뀌어야 하는지" 같은 원리 설명을 추가로 요구하셔야 합니다.
실전 팁: AI에게 코드를 보여달라고 하기 전에, "이 기능을 구현하기 위해 내가 어떤 로직을 짜야 할지 순서도(Flowchart)를 짜는 걸 도와줘" 라고 먼저 요청해보세요.
이렇게 하면 AI가 로직 설계 단계에서 도움을 주면서도, 실제 구문 작성은 질문자님 스스로가 해보려고 노력하게 돼요.
이게 근본적인 실력 향상에 가장 도움 되는 과정이거든요.
---
2.
'막힘'을 뚫는 단계일 때 (구체적인 문제 해결 단계) 이게 아마 질문자님이 가장 많이 쓰게 될 단계일 거예요.
예를 들어, '데이터를 불러와서 필터링하고, 그 결과로 그래프를 그려야 하는데, 어느 부분에서 막혔다' 같은 상황이요.
여기서 AI의 도움은 굉장히 유용합니다.
하지만 주의할 점이 있어요.
'답변 받기'의 비율을 30~50% 정도로 제한하는 게 좋습니다. 즉, 전체 코드를 통째로 받지 마시고, '이 부분의 구조가 이상한 것 같다'는 힌트만 받으세요.
예를 들어, "내가 지금 이 코드를 짰는데, 자꾸 메모리 초과 오류가 나.
어디가 비효율적인지 힌트만 줄 수 있어?" 라고 질문하는 거죠.
AI가 "아마도 반복문 안에서 불필요하게 객체를 생성하고 있을 수 있어요." 같은 방향성만 제시해주면, 나머지 '어떻게 고칠지'에 대한 고민은 질문자님 몫으로 남겨야 합니다.
이 과정이 바로 '디버깅 근육'을 키우는 과정이거든요.
---
3.
'확장' 및 '리팩토링' 단계일 때 (프로젝트 진행 단계) 어느 정도 기본적인 기능 구현에 익숙해지고, 작은 프로젝트를 완성해 나갈 때가 오면 AI의 역할이 완전히 바뀝니다.
이때는 AI를 **'페어 프로그래머(Pair Programmer)'**나 **'코드 리뷰어'**로 활용하는 게 가장 좋습니다.
A.
코드 리뷰 요청 (가장 추천): 완성한 코드 덩어리를 통째로 넣고, "이 코드를 더 효율적으로 만들 수 있는 방법이 있을까?
시간 복잡도 관점에서 봐줘." 라고 요청해보세요.
AI는 보통 우리가 놓치기 쉬운 최적화 포인트를 짚어줍니다.
이때 중요한 건, AI가 제시한 코드를 '무조건 복붙'하지 않는 것이에요.
"왜 이 방식이 더 빠르지?
시간 복잡도가 O(n)에서 O(log n)으로 줄어드는 원리가 뭐야?" 라고 역질문하면서 그 원리를 파악하는 데 집중해야 합니다.
B.
문서화 및 테스트 케이스 생성: 코딩 자체보다 더 중요한 게 '문서화'와 '테스트'예요.
AI에게 "이 클래스에 대한 사용법을 README 형식으로 작성해줘" 또는 "이 함수에 대해 취약할 수 있는 엣지 케이스(Edge Case) 5가지를 테스트 케이스로 만들어줘" 라고 시키는 것이 엄청난 학습 효과를 줍니다.
이런 작업들은 실제 개발 환경에서도 80%의 시간을 차지하거든요.
---
️
절대로 빠지면 안 되는 '함정'과 '주의사항' (가장 중요) 제가 가장 많이 본 초보자들이 빠지는 함정들이 있어요.
1.
환각(Hallucination)에 대한 믿음: AI는 때때로 그럴듯하지만 완전히 틀린 코드를 생성해요.
특히 라이브러리 이름이나 API 사용법 같은 구체적인 사실 관계에서는 절대 맹신하면 안 됩니다. 항상 공식 문서(Official Documentation)를 펴서 AI가 제시한 코드가 맞는지 '검증'하는 습관을 들이셔야 해요.
2.
'왜?'라는 질문을 생략하는 경우: "이거 어떻게 짜?" 만으로는 절대 실력이 늘지 않아요.
반드시 "이 코드가 왜 이렇게 작동하는지, 이 부분의 전제 조건은 뭐야?" 라는 질문을 반드시 붙여야 해요.
이 '왜?'라는 질문이 질문자님의 뇌를 강제로 작동하게 만드는 스위치 역할을 합니다.
3.
전체 구조를 맡기는 경우: '전체 프로젝트 구조를 짜줘' 같은 요청은 너무 위험해요.
뼈대(Architecture)는 스스로 생각하고, AI는 그 뼈대에 붙는 '장식(구현 코드)'을 받는 식으로 분리해야 합니다.
---
요약 정리하자면 이렇습니다. | 학습 목표 단계 | AI 활용 비율 (가이드라인) | 주된 사용 방식 | 가장 중요한 습관 | | :--- | :--- | :--- | :--- | | 개념 학습 (Why?) | 코드 생성 요청 20% 미만 | 원리 설명 요청, 로직 설계 도움 요청 | '왜?' 를 끊임없이 질문하기 | | 문제 해결 (How?) | 코드 생성 요청 30~50% | 힌트 요청, 특정 부분 디버깅 질문 | 부분만 받아 적고, 나머지는 직접 타이핑하기 | | 최적화/완성 (Better?) | 코드 검토/개선 요청 50% 이상 | 리팩토링, 테스트 케이스 생성 요청 | AI의 결과를 '읽고 이해'한 후, 내 언어로 설명하기 | 결론적으로, AI는 '지름길'이 아니라, '필요한 자원을 빠르게 찾아주는 최고의 도서관 사서'라고 생각해주세요.
사서가 책을 찾아주면, 우리는 그 책의 내용을 이해하기 위해 스스로 책을 읽고, 필기하고, 정리하는 노력을 해야 하는 거죠.
그러니 너무 불안해하지 마시고, 'AI 덕분에 코딩을 포기할 뻔했지만, 이 기회에 이 개념을 확실히 이해했다'라는 긍정적인 경험으로 전환시켜나가시면 됩니다.
꾸준함이 가장 중요하니, 오늘은 AI 도움을 받더라도, 내일은 그 도움 없이 스스로 해보려고 노력하는 날을 하루에 한 번이라도 만들어보시는 거 추천드립니다!
화이팅하세요!