문서 읽는 데 43분 · A7

A-7: 개발자의 세계

목차 25
전체 7강 중 7강 · 개발 입문
난이도 · 입문

ℹ️코딩이 처음인 비전공자를 위한 첫 과목 — 컴퓨터의 원리와 “프로그래밍적 사고”를 먼저 잡아요. 선수 지식 없이 시작할 수 있어요.

안녕하세요, 홍순구 튜터입니다. 드디어 일곱 번째, 이 과목의 마지막 시간이에요. 지난 시간(A-6)에 우리는 다섯 시간 동안 머물던 종이를 떠나, 설치 하나 없이 브라우저에서 진짜 코드 한 줄을 직접 실행해 화면에 글자를 띄웠죠. 일부러 오타를 내 빨간 에러까지 만나, 그게 무섭지 않다는 것도 배웠고요. 코드 한 줄이 살아 움직이는 걸 처음 본, 특별한 날이었어요.

그날 끝에 제가 약속했어요. "다음 시간엔 개발자의 세계 지도를 펼친다"고요. 화면을 만드는 프론트엔드, 보이지 않는 곳을 떠받치는 백엔드, 손안의 앱을 만드는 모바일, 데이터와 AI를 다루는 분야, 그 모두가 돌아가게 하는 인프라 — 각자 무엇을 만드는지 한눈에 보기로 했죠. 그리고 첫 언어를 무엇부터 시작할지 고르는 가이드와, 2026년 지금 꼭 짚어야 할 AI 시대 이야기도요.

오늘은 새 개념을 외우는 시간이 아니에요. 지금까지 쌓은 것 위에서, "그래서 나는 어디로 갈까"를 정하는 시간이에요. 개발자들이 무엇을 만드는지 둘러보고, 이 백과사전에서 다음 길을 그리고, 첫 언어를 고르고, 막혔을 때 빠져나오는 개발자의 학습법을 익히고, AI 시대에 코딩을 어떻게 배워야 하는지 균형을 잡아요. 그리고 마지막엔 지난 일곱 시간을 함께 돌아보며 다음 문 앞까지 배웅할게요.

텍스트
   오늘의 여정 — 개발자의 세계

   ① 개발자들은 뭘 만들까 — 직군 지도
   ② 그래서 나는 어디로 — 학습 로드맵
   ③ 첫 언어를 고르자 — Java vs Python
   ④ 개발자처럼 배우는 법 — 막힘에서 빠져나오기
   ⑤ AI 시대에 코딩을 배운다는 것
   ⑥ 일곱 개의 문을 지나온 당신에게

①에서 개발자의 세계가 어떻게 나뉘는지 지도를 펼치고, ②에서 그 안에서 내가 갈 길을 그려요. ③에서 첫 언어를 고르고, ④에서 막혔을 때 스스로 빠져나오는 법을 배웁니다. ⑤에서 AI 시대의 학습을 정직하게 짚고, ⑥에서 지난 일곱 시간을 돌아보며 다음 과목으로 떠나요.

💡 오늘 수업의 핵심 — "코드를 새로 배우는 게 아니라, 지금까지 쌓은 것 위에서 다음 길을 정한다. 개발자의 세계가 직군(프론트·백·모바일·데이터/AI·인프라)으로 어떻게 나뉘는지 지도를 펼치고, 이 백과사전에서 다음에 어디로 갈지 학습 로드맵을 그리고, 첫 언어를 Java와 Python 중에서 고르고, 막혔을 때 빠져나오는 개발자의 학습법과 AI 시대에 기초가 더 중요해진 이유를 균형 있게 배운다. 마지막으로 지난 일곱 시간을 돌아보며 java-basic 또는 python-basic으로 떠난다"

🎯 학습 목표

  • 개발 직군(프론트엔드·백엔드·모바일·데이터/AI·인프라)이 각각 무엇을 만드는지 설명하고, 이 백과사전에서 다음에 어디로 갈지 자기만의 학습 로드맵을 그립니다.
  • 첫 언어로 Java(단단·정적)Python(가볍·동적) 중 무엇을 고를지 판단 기준을 갖고, 어느 쪽으로 가든 지금까지 익힌 사고가 그대로 쓰임을 이해합니다.
  • 막혔을 때 빠져나오는 개발자의 학습법을 익히고, AI 시대에 왜 기초가 더 중요한지를 이해해 자기만의 균형을 잡습니다.

Step 1: "개발자들은 대체 뭘 만들까 — 직군 지도"

개발자라고 하면 다 똑같은 일을 할 것 같지만, 사실은 그렇지 않아요. 우리가 매일 쓰는 앱 하나를 떠올려 보세요. 음식 배달 앱이라고 해 볼게요. 그 앱 하나도 여러 직군의 개발자가 나눠서 만들어요. 마치 식당 하나를 차릴 때 주방장, 홀 직원, 인테리어 사장님, 배달 기사가 각자 다른 일을 하듯이요.

배달 앱 하나가 누구 손을 거쳐 만들어지는지 그려 볼게요.

텍스트
   음식 배달 앱 하나를 누가 만드나

   [ 당신이 보고 만지는 곳 ]
        프론트엔드 ─ 화면의 버튼·메뉴 목록·음식 사진
        모바일    ─ 손안의 앱(안드로이드·아이폰)
              │  "주문하기"를 누르면
              
   [ 보이지 않는 곳 ]
        백엔드    ─ 주문 저장·결제 처리·가게에 전달
        데이터/AI ─ "이 메뉴 어때요?" 취향 추천
              │  그 모두가 멈추지 않게
              
   [ 바닥에서 떠받치는 곳 ]
        인프라    ─ 서버·배포·24시간 가동

하나씩 짚어 볼게요. 프론트엔드(frontend) 는 당신 눈에 보이고 손가락으로 만지는 모든 것을 만들어요. 버튼, 메뉴 목록, 음식 사진, 색과 글씨 같은 화면이죠. 가게로 치면 인테리어와 진열대예요. 백엔드(backend) 는 보이지 않는 곳에서 일해요. 당신이 주문 버튼을 누르면, 그 주문을 저장하고 결제를 처리하고 가게에 전달하는 처리들이죠. 가게의 주방과 창고예요.

모바일(mobile) 은 손안의 앱 그 자체를 만들어요. 안드로이드폰과 아이폰에서 도는 앱이죠. 데이터·AI 분야는 쌓인 데이터로 "당신이 좋아할 메뉴"를 추천하거나 미래를 예측해요. 단골 취향을 기억하는 점원 같은 일이에요. 마지막으로 인프라(infrastructure) 는 이 모든 게 멈추지 않고 돌아가게 떠받쳐요. 서버를 관리하고, 새 기능을 안전하게 배포하죠. 건물의 전기·수도·엘리베이터처럼, 평소엔 안 보이지만 멈추면 전부 멈춰요.

직군 무엇을 만드나 한 줄 비유
프론트엔드 눈에 보이는 화면 — 버튼·목록·색 가게의 인테리어와 진열대
백엔드 보이지 않는 처리 — 저장·결제·전달 주방과 창고
모바일 손안의 앱 (안드로이드·아이폰) 들고 다니는 작은 가게
데이터·AI 쌓인 데이터로 추천·예측 단골 취향을 기억하는 점원
인프라 모든 게 멈추지 않게 — 서버·배포 건물의 전기·수도·엘리베이터

여기에 한 가지를 더 보태면, 프론트엔드와 백엔드를 둘 다 다루는 사람을 풀스택(full-stack) 이라고 불러요. 화면도 만들고 뒤도 떠받치는, 양손잡이 개발자죠. 처음부터 풀스택일 필요는 없어요. 보통은 한쪽을 먼저 깊이 익히고, 다른 쪽으로 넓혀 가요.

💡 한 줄 정리

개발자는 한 종류가 아니라 직군으로 나뉘며, 앱 하나도 프론트엔드(보이는 화면)·백엔드(보이지 않는 처리)·모바일(손안의 앱)·데이터/AI(추천·예측)·인프라(멈추지 않게 떠받침)가 나눠서 만든다 — 프론트와 백을 다 하면 풀스택이다.

🙋 학생 질문 — "튜터님, 직군이 이렇게 많은데 저는 이걸 다 잘해야 하나요? 벌써 막막해요."

전혀 그렇지 않아요. 오히려 반대예요. 직군이 나뉘어 있다는 건, 당신이 전부를 혼자 짊어지지 않아도 된다는 뜻이에요.

개발은 팀으로 하는 일이에요. 배달 앱 하나도 프론트엔드 개발자, 백엔드 개발자, 인프라 담당자가 각자 자기 부분을 맡아 함께 만들어요. 그러니 처음 배우는 사람이 모든 직군을 잘해야 한다는 부담은 내려놓으세요. 오늘 이 지도를 펼친 건 "다 정복하라"는 게 아니라, "어떤 일들이 있는지 풍경을 먼저 보라"는 거예요.

실제로 거의 모든 개발자가 하나의 직군에서 시작해요. 화면 만드는 게 재밌으면 프론트엔드로, 보이지 않는 처리를 짜는 게 끌리면 백엔드로요. 하나를 깊이 익히고 나면, 옆 직군이 무슨 일을 하는지 자연스럽게 보이고 그때 넓혀 가면 돼요. 지금은 "아, 이런 갈래가 있구나" 하고 가장 끌리는 한 곳만 마음에 담아 두면 충분해요.


Step 2: "그래서 나는 어디로 — 학습 로드맵"

직군 지도를 봤으니, 자연스럽게 다음 질문이 떠오르죠. "그래서 나는 어디서부터, 어떻게 거기까지 가지?" 이 과목은 끝이 아니라 시작점이에요. 프로그래밍의 가장 앞문을 막 지난 거죠. 이제 그 문 너머의 길을 그려 볼게요.

텍스트
   당신이 지금 선 곳에서 갈 길

   [ 지금 ] 프로그래밍 입문 — 사고를 깔았다
        │
        
   [ 1단계 ] 첫 언어 기초 — Java 또는 Python
        │      변수·조건·반복을 진짜 문법으로
        
   [ 2단계 ] 만들고 싶은 것으로 갈라진다
        ├─ 화면을 만들고 싶다      웹 프론트엔드
        ├─ 뒤를 떠받치고 싶다      백엔드(서버·데이터베이스)
        ├─ 앱을 만들고 싶다        모바일
        └─ 데이터·AI를 다루고 싶다  데이터/AI
        │
        
   [ 3단계 ] 직군을 깊이 + 인프라로 전체를 돌린다

길을 셋으로 나눠 볼게요. 1단계는 첫 언어 기초예요. 지금까지 의사코드로 잡은 변수·조건·반복을, 이제 진짜 언어 문법으로 옮겨 배워요. 그게 다음 과목인 java-basic 또는 python-basic이에요. 어느 쪽으로 갈지는 바로 다음 Step에서 함께 골라요.

2단계는 만들고 싶은 것으로 갈라져요. 화면 만드는 게 끌리면 웹 프론트엔드로, 보이지 않는 곳을 떠받치고 싶으면 백엔드와 데이터베이스로, 손안의 앱을 만들고 싶으면 모바일로요. 1단계에서 익힌 언어를 가지고, 그 언어로 진짜 무언가를 만드는 도구들을 배우는 단계예요. 3단계는 그 직군을 더 깊이 파고, 인프라로 전체가 돌아가게 하는 단계고요.

여기서 가장 중요한 건 한 계단씩이라는 거예요. 비전공자가 가장 많이 지치는 순간은, 첫날부터 3단계 꼭대기를 올려다볼 때예요. "저 많은 걸 언제 다 배우지?" 하고요. 그럴 필요 없어요. 지금 당신이 할 일은 딱 1단계, 첫 언어 하나를 고르는 것뿐이에요. 그 계단에 올라서면 다음 계단이 보이고, 거기서 또 다음이 보여요. 산 전체를 한눈에 정복하는 사람은 없어요. 다들 한 걸음씩 올라가요.

💡 한 줄 정리

이 과목은 끝이 아니라 시작점이며, 다음 길은 1단계 첫 언어 기초(java-basic·python-basic) → 2단계 만들고 싶은 것(웹·백엔드·모바일·데이터/AI)으로 갈라짐 → 3단계 직군 심화와 인프라로 이어진다 — 한꺼번에가 아니라 한 계단씩 오른다.

🙋 학생 질문 — "튜터님, 이 로드맵 순서를 꼭 그대로 지켜야 하나요? 저는 빨리 앱부터 만들고 싶은데요."

마음 급한 거 정말 이해해요. 빨리 결과물을 손에 쥐고 싶죠. 결론부터 말하면, 큰 흐름은 비슷하되 세부 순서는 당신의 흥미를 따라가도 돼요.

다만 한 가지는 건너뛰지 않는 게 좋아요. 바로 1단계 첫 언어 기초예요. 앱을 만들든 웹을 만들든, 결국 어떤 언어로 만들어요. 언어 기초 없이 바로 "앱 만들기"로 뛰어들면, 예전에 우리가 걱정했던 그 함정에 빠져요. 문법·도구·개념이 한꺼번에 닥쳐서 어디서 막혔는지도 모르게 되는 거죠. 언어 하나를 손에 익히고 나면, 앱 만들기는 훨씬 빠르고 즐거워져요.

그 1단계만 지나면, 그다음은 당신 마음이에요. 화면이 끌리면 프론트로, 데이터가 끌리면 데이터/AI로 먼저 가도 좋아요. 로드맵은 정해진 철길이 아니라 등산로 안내도예요. 정상으로 가는 길이 여럿이듯, 당신에게 맞는 길로 가면 돼요. 흥미를 따라가는 사람이 가장 오래, 가장 멀리 가거든요.


Step 3: "첫 언어를 고르자 — 단단한 Java vs 가벼운 Python"

자, 1단계 첫 언어를 고를 차례예요. 비전공자가 맨 처음 던지는 질문, "어떤 언어부터 배워요?"에 드디어 답할 때가 됐어요. 입문에서 가장 많이 만나는 두 언어, JavaPython을 견줘 볼게요.

먼저 안심하고 시작하고 싶은 게 하나 있어요. 우리는 여기서 실제 문법은 안 봐요. 이 과목은 처음부터 끝까지 언어 중립이었죠. 진짜 문법은 다음 과목의 몫이에요. 오늘은 두 언어의 성격만 견줘서, "나한테 어느 쪽이 잘 맞을까"를 가늠해 봐요.

두 언어의 가장 큰 차이는 값을 다루는 태도예요. A-2에서 컴파일러(번역서)와 인터프리터(통역사)를 배운 걸 기억하시죠? Java는 컴파일하는 쪽, Python은 통역하는 쪽에 가까워요. 여기서 성격이 갈려요.

Java는 단단하고 꼼꼼해요. 값을 담기 전에 "이 상자엔 숫자만 넣을 거야, 저 상자엔 글자만"이라고 종류(타입)를 미리 정해 둬요. 그래서 실행하기 전에 컴파일이 한 번 쭉 훑어서 "어, 숫자 상자에 글자를 넣으려 했네?" 같은 실수를 미리 걸러 줘요. 처음엔 깐깐하게 느껴지지만, 큰 프로그램에서 실수를 일찍 잡아 주는 든든함이 있어요.

Python은 가볍고 빠르게 시작해요. 종류를 미리 정하지 않고, 상자에 뭘 넣든 그때그때 알아서 받아 줘요. 문장도 짧아서, 같은 일을 더 적은 글자로 적어요. 그래서 첫 코드를 빨리 띄워 보기 좋고, 데이터를 다루거나 자동화하는 일에 특히 사랑받아요. 대신 실수를 실행 중에 만나는 편이라, 큰 프로그램에선 더 조심해서 다뤄야 해요.

견주는 점 Java (단단·정적) Python (가볍·동적)
값의 종류(타입) 미리 정해 둔다 그때그때 알아서
실행 전 검사 컴파일이 미리 걸러 줌 실행하며 만나는 대로
첫인상 꼼꼼해서 처음엔 깐깐 문장이 짧아 가볍게 시작
잘 쓰이는 곳 큰 서비스의 백엔드·안드로이드 앱 데이터·AI·자동화·웹
한 줄 느낌 튼튼한 정장 편한 운동복

그럼 무엇을 고를까요? 정답은 없어요. 큰 서비스의 백엔드나 안드로이드 앱이 끌리면 Java가 잘 맞고, 데이터·AI나 빠른 시작이 끌리면 Python이 잘 맞아요. 그런데 더 중요한 사실이 하나 있어요. 어느 쪽을 골라도, 당신이 지금까지 익힌 사고는 그대로 쓰여요.

A-4에서 그린 "만약 좋아요 수가 100 이상이면 인기글"이라는 의사코드를 떠올려 보세요. 그 생각은 Java로 가든 Python으로 가든, 각 언어의 조건문 문법으로 거의 그대로 옮겨져요. 문법의 생김새만 조금 다를 뿐, 생각의 모양은 똑같아요. 그러니 첫 언어는 "평생 언어"가 아니에요. 하나를 제대로 익히면, 둘째 언어는 문법만 새로 외우면 되니까 훨씬 쉬워요.

🌟 정말 고민된다면: 둘 다 훌륭한 첫 언어이니, "주변에 물어볼 사람이 쓰는 언어"로 시작하세요. 막혔을 때 옆에서 물어볼 수 있다는 게, 첫 언어에선 어떤 장점보다 큰 힘이 돼요.

💡 한 줄 정리

Java는 타입을 미리 정해 컴파일이 실수를 걸러 주는 단단한 언어, Python은 그때그때 유연하게 받아 가볍게 시작하는 언어이며 — 정답은 없고, 어느 쪽을 골라도 지금까지 익힌 사고는 그대로 옮겨가므로 첫 언어는 평생 언어가 아니다.

🙋 학생 질문 — "튜터님, 첫 언어를 잘못 고르면 처음부터 다시 배워야 하는 거 아니에요? 신중하게 골라야 할 것 같아 무서워요."

그 걱정, 정말 많은 분이 해요. 그런데 안심하세요. 첫 언어 선택에 '잘못'은 없어요.

이유는 방금 말한 것과 이어져요. 프로그래밍의 핵심은 문법이 아니라 사고예요. 변수에 값을 담고, 조건으로 갈라지고, 반복으로 되풀이하고, 큰 문제를 작게 쪼개는 그 사고 말이에요. 이건 모든 언어에 똑같이 들어 있어요. 첫 언어로 그 사고를 손에 익히고 나면, 둘째 언어는 "아, 이건 그때 그거랑 같은데 적는 법만 다르네" 하고 빠르게 넘어가요. 실제로 경력 개발자들은 보통 여러 언어를 다뤄요. 하나를 깊이 배운 사람에게 새 언어는 외국어 하나 더 배우는 정도지, 처음부터 다시가 아니에요.

그러니 "완벽한 첫 언어"를 찾느라 시작을 미루는 게 오히려 가장 아까운 일이에요. Java든 Python이든, 둘 다 수많은 사람이 첫 언어로 삼아 잘 자란 좋은 언어예요. 끌리는 쪽으로, 또는 옆에 물어볼 사람이 있는 쪽으로 가볍게 시작하세요. 고르는 데 쓰는 시간보다, 한 줄이라도 더 써 보는 시간이 당신을 더 멀리 데려가요.


Step 4: "개발자처럼 배우는 법 — 막힘에서 빠져나오기"

이제 조금 다른 이야기를 할게요. 기술이 아니라 태도에 관한 거예요. 어쩌면 오늘 가장 오래 써먹을 이야기일지도 몰라요.

개발을 시작하면 곧 알게 되는 사실이 하나 있어요. 막히는 게 일상이라는 거예요. 코드가 생각대로 안 돌아가고, 빨간 에러가 뜨고, 분명 맞게 짠 것 같은데 결과가 이상해요. 처음엔 이게 "내가 부족해서"라고 느껴지지만, 전혀 아니에요. 30년 경력 개발자도 매일 막혀요. 차이는 막히느냐 안 막히느냐가 아니라, 막혔을 때 어떻게 빠져나오느냐예요. 그 빠져나오는 법이야말로 진짜 실력이에요.

막혔을 때 개발자가 거치는 단계를 순서도로 그려 볼게요.

텍스트
   막혔다! 무엇부터 할까

   ◇ 빨간 에러가 떴는가?
   ├─ 예    ─ 메시지를 "어디서·무엇이·왜"로 차분히 읽는다
   └─ 아니오 ─ 결과가 왜 이상한지 한 줄씩 따라간다(trace)
        │
        
   아직 모르겠다   에러 메시지를 그대로 검색창에 넣는다
        │
        
   여전히 막힌다   공식 문서에서 그 기능을 찾아본다
        │
        
   그래도 안 되면  "뭘 하려 했고, 뭘 했고, 뭐가 났는지" 정리해 묻는다

첫걸음은 A-6에서 배운 거예요. 에러 메시지를 읽는 거죠. 빨간 줄은 "어디서·무엇이·왜" 틀렸는지 알려 주는 안내였어요. 에러가 없는데 결과만 이상하다면, A-5에서 배운 것처럼 한 줄씩 손으로 따라가(trace) 어디서 어긋났는지 찾아요.

그래도 모르겠으면 검색해요. 에러 메시지를 그대로 검색창에 넣어 보세요. 거의 항상, 같은 문제로 막혔던 누군가의 글이 나와요. 프로그래밍의 큰 비밀 하나는 "내가 처음 겪는 문제는 거의 없다"는 거예요. 그다음은 공식 문서예요. 그 언어나 도구를 만든 사람이 쓴 설명서죠. 처음엔 딱딱해 보여도, 가장 정확한 답이 거기 있어요. 그리고 마지막으로, 그래도 막히면 사람에게 물어요. 좋은 질문엔 세 가지가 들어가요. 뭘 하려 했는지, 뭘 했는지, 뭐가 났는지. 이 셋만 정리해도 답이 훨씬 빨리 와요.

한 가지 더 마음에 새길 게 있어요. 완벽주의를 내려놓는 것이에요. 처음부터 완벽하게 돌아가는 코드를 짜는 사람은 없어요. 일단 돌아가게 만들고, 그다음에 고쳐요. A-5에서 "틀리는 건 부끄러운 게 아니라 차분히 찾아 고치면 되는 일상"이라고 했죠. 그 마음이 진짜 코드 위에서도 똑같이 통해요. 막힘은 실패가 아니라, 배움이 일어나는 바로 그 순간이에요.

💡 한 줄 정리

개발은 막히는 게 일상이고 진짜 실력은 빠져나오는 법에 있다 — 에러 메시지 읽기 → 검색 → 공식 문서 → 좋은 질문(뭘 하려 했고·뭘 했고·뭐가 났는지)의 순서를 거치며, 완벽주의를 내려놓고 일단 돌아가게 만든 뒤 고친다.

🙋 학생 질문 — "튜터님, 검색하거나 남에게 물어보는 건 실력이 부족해서 그런 거 아니에요? 혼자 다 해결해야 진짜 같은데요."

이건 입문자가 가장 많이 오해하는 부분이라, 꼭 바로잡고 싶어요. 검색하고 묻는 건 부족함의 증거가 아니라, 개발의 정상적인 일하는 방식이에요.

생각해 보세요. 의사도 모르는 증상을 만나면 의학 자료를 찾고 동료와 상의해요. 변호사도 판례를 검색하고요. 전문가라는 건 "모든 걸 외우고 있는 사람"이 아니라, "필요한 걸 빠르고 정확하게 찾아내는 사람"이에요. 개발도 똑같아요. 세상의 모든 기능을 머릿속에 담은 개발자는 없어요. 다들 매일 검색하고, 매일 문서를 봐요. 오히려 검색을 잘하는 능력 자체가 중요한 실력으로 꼽혀요.

그러니 "혼자 끙끙대다 시간을 다 쓰는 것"이 멋진 게 아니에요. 15분쯤 스스로 부딪혀 봤는데도 안 풀리면, 그때는 검색하고 묻는 게 더 똑똑한 길이에요. 단, 그냥 답만 받아 베끼는 게 아니라 "왜 그런지"를 이해하면서요. 그게 다음 Step에서 이야기할 AI를 쓰는 방법과도 곧장 이어져요. 묻는 걸 부끄러워하지 마세요. 잘 묻는 사람이 가장 빨리 자라요.


Step 5: "AI 시대에 코딩을 배운다는 것"

2026년 지금, 이 이야기를 빼놓을 순 없어요. 바로 AI예요. 요즘은 AI에게 부탁하면 코드를 술술 써 줘요. 솔직하게 인정할게요. AI는 정말 강력한 도구예요. 개발자들도 널리 쓰고, 잘 쓰면 일이 훨씬 빨라져요. 그러니 "AI 때문에 이제 코딩 안 배워도 되는 거 아니냐"는 질문이 나오는 것도 당연해요.

그런데 오늘 제가 가장 진심으로 전하고 싶은 이야기가 이거예요. AI가 코드를 대신 써 주는 시대일수록, 기초는 오히려 더 중요해졌어요. 왜 그럴까요? 두 가지 이유가 있어요.

첫째, AI가 쓴 코드도 결국 누군가는 읽고, 고치고, 맞는지 판단해야 해요. AI는 그럴듯한 코드를 빠르게 내놓지만, 항상 맞는 건 아니에요. 때로 틀리고, 때로 엉뚱한 길로 가요. 그게 맞는지 틀린지 알아보는 사람은, 결국 기초를 아는 사람이에요. 기초가 없으면 AI가 준 코드가 좋은지 나쁜지조차 판단할 수 없어요.

둘째, 기초 없이 AI에 기대면 '의존'하게 돼요. 막힐 때마다 AI에게 정답을 받아 붙여넣으면, 그 순간은 넘어가요. 하지만 실력은 안 쌓여요. 다음에 비슷한 문제가 와도 또 AI 없이는 한 발짝도 못 가죠. 이걸 "학습된 무기력(learned helplessness)"이라고 불러요. 도구가 너무 친절해서, 정작 내가 생각하는 힘을 잃어버리는 거예요.

좋은 비유가 있어요. 계산기예요. 계산기가 나온 지 한참인데도, 우리는 여전히 학교에서 산수를 배워요. 왜일까요? 계산기는 빠르게 답을 내주지만, "이 답이 말이 되는지"를 판단하려면 산수를 알아야 하거든요. 계산기가 실수로 0을 하나 더 찍어 줘도, 산수를 아는 사람은 "어, 이건 너무 큰데?" 하고 알아채요. AI와 코딩도 똑같아요. AI는 빠른 계산기이고, 기초는 그 답을 판단하는 눈이에요.

그럼 입문자는 AI를 어떻게 써야 할까요? 핵심은 하나예요. 답을 베끼지 말고, 설명을 구하세요.

상황 ❌ 의존하는 법 ✅ 도구로 쓰는 법
막혔을 때 정답 코드를 받아 그대로 붙여넣기 "왜 이렇게 되는지" 설명을 구하기
에러가 났을 때 "고쳐 줘" 하고 결과만 받기 메시지를 같이 읽고 원인을 이해하기
개념이 헷갈릴 때 넘어가고 계속 AI에 기대기 AI를 선생 삼아 끝까지 이해하기

실제 현장에서도 비슷한 이야기가 들려요. AI 도구를 쓰는 개발자가 크게 늘고 생산성도 올랐지만, 그럴수록 AI가 만든 코드를 검토하고 고칠 줄 아는 기초가 더 귀해졌다고요. "왜 이 코드가 이렇게 동작하는가"를 아는 사람은 여전히, 어쩌면 더 필요해요.

그러니 AI 시대라고 겁먹지 마세요. AI는 당신을 대체하러 온 게 아니에요. 기초를 아는 당신을 훨씬 강하게 만들어 주는 도구예요. 지금 우리가 의사코드와 순서도로 천천히 쌓아 온 이 기초가, AI 시대에 당신의 가장 큰 무기가 돼요.

💡 한 줄 정리

AI가 코드를 대신 써 주는 시대일수록 기초가 더 중요해진다 — AI가 쓴 코드도 누군가는 읽고 고치고 판단해야 하고(계산기가 있어도 산수가 필요하듯), 답을 베끼면 '학습된 무기력'에 빠지므로 AI에게는 정답이 아니라 "왜 그런지" 설명을 구하며 선생으로 써야 한다.

🙋 학생 질문 — "튜터님, 그럼 입문자는 AI를 아예 쓰지 말아야 하나요? 다들 쓴다는데 저만 안 쓰면 뒤처질 것 같아요."

좋은 질문이에요. 답은 "쓰지 마라"가 아니라 "어떻게 쓰느냐가 전부다" 예요.

AI는 입문자에게 정말 좋은 선생이 될 수 있어요. "이 개념이 이해가 안 되는데 쉽게 설명해 줘", "이 에러 메시지가 무슨 뜻이야?"처럼 물으면, 지치지 않고 몇 번이고 친절하게 풀어 줘요. 옆에 24시간 대기하는 과외 선생이 있는 셈이죠. 이렇게 이해를 돕는 용도로 쓰면, AI는 당신의 배움을 크게 가속해요.

문제는 정반대로 쓸 때예요. 과제가 막혔다고 "이거 코드 짜 줘" 해서 받은 걸 그대로 제출하면, 그 순간은 넘어가도 머릿속엔 아무것도 안 남아요. 같은 문제가 다시 와도 또 AI를 찾게 되고요. 그래서 입문 초반엔 한 가지만 지키면 돼요. "답을 받는 도구"가 아니라 "설명을 듣는 선생"으로 쓰기. 막혔을 때 코드를 통째로 받기보다, "내가 어디서 잘못 생각한 거야?"라고 물어 스스로 고쳐 보세요. 그러면 AI도 쓰고, 실력도 쌓고, 둘 다 가져갈 수 있어요. 뒤처질까 봐 안 쓰는 것도, 의존해서 다 맡기는 것도 아닌 — 그 사이의 균형이 답이에요.


Step 6: "일곱 개의 문을 지나온 당신에게"

마지막 Step이에요. 새로 배울 건 없어요. 대신 잠깐 멈춰서, 우리가 함께 지나온 일곱 시간을 돌아볼게요. 시작할 때 당신은 코드를 한 줄도 써 본 적 없었어요. 지금은 어떤가요?

텍스트
   당신이 지나온 일곱 개의 문

   A-1  컴퓨터는 어떻게 일하나     0과 1, CPU·메모리·데이터 표현
   A-2  프로그램과 언어            명령의 순서, 컴파일 vs 인터프리터
   A-3  변수·자료·연산            입력처리출력, 의사코드 첫걸음
   A-4  흐름을 제어하는 사고       순차·조건·반복, 순서도
   A-5  문제를 푸는 방법           분해·추상화·알고리즘 사고
   A-6  개발 환경 첫걸음           진짜 코드 한 줄을 직접 실행
   A-7  개발자의 세계             직군·로드맵·AI 시대 (지금 여기)

이걸 한 번 소리 내어 말해 보세요. 당신은 이제, 사진 한 장과 좋아요 숫자가 컴퓨터 안에서 0과 1로 저장되는 원리를 설명할 수 있어요. 프로그램이 명령의 순서라는 것도, 컴파일과 인터프리터가 어떻게 다른지도 알아요. 값을 담는 변수와 입력→처리→출력의 흐름을 의사코드로 적을 수 있고, 조건과 반복을 순서도로 그릴 수 있어요. 막막한 문제를 작게 쪼개 절차로 푸는 법도, 손으로 한 줄씩 따라가 버그를 찾는 법도 배웠죠. 그리고 무엇보다, 진짜 코드 한 줄을 직접 실행해 화면에 글자를 띄워 봤어요.

코드 한 줄 못 쓰던 사람이, 일곱 시간 만에 여기까지 왔어요. 정말 대단한 일이에요.

그런데 이 모든 것 중에 가장 값진 걸 하나만 꼽으라면, 저는 이걸 들겠어요. 문법은 새로 외워도, 사고는 이미 안다는 것. 다음 과목에서 진짜 언어의 조건문이나 반복문을 만나도, 당신은 멈칫하지 않을 거예요. "아, 이거 A-4에서 순서도로 그렸던 그거잖아" 하고 알아볼 테니까요. 우리가 일부러 언어를 미루고 사고를 먼저 깐 이유가 바로 이거예요. 어느 언어로 가든, 당신은 이미 출발선보다 한참 앞에 서 있어요.

💡 한 줄 정리

코드 한 줄 못 쓰던 당신이 일곱 시간 만에 컴퓨터 원리·프로그램·의사코드·순서도·문제 해결·첫 실행을 모두 지나왔고 — 가장 값진 것은 "문법은 새로 외워도 사고는 이미 안다"는 점이라, 어느 언어로 가든 출발선보다 앞서 있다.

🙋 학생 질문 — "튜터님, 솔직히 여기까지 했는데도 제가 진짜 개발을 할 수 있을지 아직 자신이 없어요. 이게 정상인가요?"

네, 완전히 정상이에요. 오히려 그렇게 느끼는 게 자연스러워요. 이 자리에서 꼭 안심시켜 드리고 싶어요.

생각해 보세요. 운전 학원에서 이론을 다 배웠다고 해서, 바로 고속도로를 씽씽 달릴 자신이 생기진 않잖아요. 자신감은 책상 앞이 아니라 핸들을 잡고 실제로 달려 본 다음에 천천히 붙어요. 프로그래밍도 똑같아요. 지금 당신은 이론과 사고를 탄탄히 갖춘, 막 면허를 딴 상태예요. 자신감은 다음 과목에서 진짜 코드를 한 줄 한 줄 써 보면서 자연스럽게 따라와요.

그리고 이 불안은 당신만의 게 아니에요. 지금 잘나가는 모든 개발자가 입문 시절 똑같이 "내가 할 수 있을까" 하고 막막해했어요. 처음엔 다 그래요. 중요한 건 자신감이 다 찰 때까지 기다리는 게 아니라, 자신 없어도 일단 한 걸음 더 내딛는 거예요. 여기까지 일곱 시간을 끝까지 온 것만으로, 당신은 이미 그 한 걸음을 내딛을 수 있는 사람이라는 걸 증명했어요. 그러니 자신 없는 그 마음까지 안고, 다음 문으로 함께 가요.


마무리

일곱 번째 시간, 그리고 이 과목의 마지막 시간이 끝났어요. 오늘 우리는 새 개념을 외우는 대신, 지금까지 쌓은 것 위에서 다음 길을 함께 정했어요. 개발자의 세계가 직군으로 어떻게 나뉘는지 지도를 펼쳤고, 그 안에서 내가 갈 길을 그렸고, 첫 언어를 고르는 눈을 가졌고, 막혔을 때 빠져나오는 법과 AI 시대의 균형까지 배웠죠. 무엇보다 지난 일곱 시간을 돌아보며, 당신이 얼마나 멀리 왔는지 두 눈으로 확인했어요.

오늘 배운 핵심 세 가지

  1. 💡 개발자의 세계는 직군으로 나뉜다. 앱 하나도 프론트엔드·백엔드·모바일·데이터/AI·인프라가 나눠 만든다. 그 안에서 다음 길은 첫 언어 기초 → 만들고 싶은 것 → 직군 심화로 이어지며, 한꺼번에가 아니라 한 계단씩 오른다.
  2. 💡 첫 언어는 Java든 Python이든 좋다. Java는 단단하고 꼼꼼한 정장, Python은 가볍고 빠른 운동복이다. 정답은 없고, 어느 쪽을 골라도 지금까지 익힌 사고는 그대로 옮겨간다. 첫 언어는 평생 언어가 아니다.
  3. 💡 막힘에서 빠져나오는 법이 진짜 실력이고, AI 시대일수록 기초가 더 중요하다. 에러 읽기·검색·문서·질문으로 빠져나오고, AI는 답을 베끼는 도구가 아니라 "왜 그런지" 설명을 듣는 선생으로 쓴다.

다음 과목으로

이 과목은 여기서 끝이지만, 당신의 진짜 시작은 지금부터예요. 다음 문 너머엔 첫 언어가 기다리고 있어요. 단단한 Java가 끌리면 java-basic으로, 가벼운 Python이 끌리면 python-basic으로 가세요. 둘은 같은 개념을 두 언어의 결로 가르치는 자매 과목이라, 어느 쪽으로 가도 좋아요.

거기서 드디어 진짜 문법을 만나요. 우리가 의사코드로 적던 "만약 ~이면"이 그 언어의 조건문이 되고, "~하는 동안"이 반복문이 되죠. 그때 멈칫하지 마세요. 사고는 이미 당신 손안에 있으니까요. 문법이라는 새 옷만 갈아입으면 돼요.

일곱 시간 동안 한 번도 포기하지 않고 여기까지 와 줘서 고마워요. 코드 한 줄 못 쓰던 당신이, 이제 다음 언어로 자신 있게 떠날 준비가 됐어요. 진짜 코드의 세계에서, 멋진 첫 작품을 만들어 봐요. 다음 문 앞에서, 잘 해낼 거예요.


과제

오늘은 손으로 코드를 짜는 과제가 아니라, 나의 다음 길을 그려 보는 과제예요. 정답이 없으니 편하게, 내 마음을 들여다보며 적어 보세요. 이 과제들이 다음 과목으로 가는 당신의 첫 지도가 될 거예요.

[기초] 가장 끌리는 직군 고르기

Step 1의 직군 지도(프론트엔드·백엔드·모바일·데이터/AI·인프라)에서, 지금 가장 끌리는 직군 하나를 골라 보세요. 그리고 세 가지를 적어 보세요. 첫째, 왜 그 직군이 끌리는지(화면이 좋아서? 보이지 않는 처리가 신기해서? 데이터가 재밌어 보여서?). 둘째, 그 직군이 만드는 것의 예를 평소 쓰는 앱·서비스에서 2~3개. 셋째, 그게 눈에 보이는 화면(프론트)인지, 보이지 않는 곳(백)인지 표시해 보세요. 정답은 없어요. 지금 끌리는 마음이 다음 길의 첫 단서예요.

[응용] 나만의 학습 로드맵 그리기

Step 2의 로드맵 그림을 본보기로, 나만의 학습 로드맵을 그려 보세요. 종이에 [지금]에서 시작하는 화살표를 그리고, 이렇게 채워요. 1단계엔 내가 고른 첫 언어(Java인지 Python인지)와 고른 이유 한 줄. 2단계엔 그 언어로 만들고 싶은 것(화면·서버·앱·데이터 중에서). 그리고 맨 아래엔 "6개월 뒤 나는 ___를 만들어 보고 싶다"는 목표 한 줄. 다 그렸으면 잘 보이는 곳에 붙여 두세요. 막막할 때마다 "나는 지금 어느 계단에 있지?"를 확인하는 나침반이 돼요.

[심화] 나만의 'AI 사용 규칙'과 막힘 탈출 시나리오

두 가지를 써 보는 과제예요. 첫째, Step 5를 떠올리며 앞으로 배우는 동안 AI를 "선생으로만 쓰는" 나만의 규칙 3개를 적어 보세요(예: "막혀도 코드를 통째로 받지 않는다", "받은 설명은 내 말로 다시 정리한다"). 둘째, Step 4의 순서도를 따라, 앞으로 코드를 짜다 막혔을 때 내가 거칠 단계를 구체적인 상황 하나로 써 보세요(예: "빨간 에러가 떴다 → 메시지를 읽는다 → 검색한다 → ..."). 이 두 가지는 다음 과목에서 막히는 순간이 올 때, 당황하지 않고 꺼내 쓸 당신만의 응급 매뉴얼이 돼요.


생각해볼 주제

정답이 하나로 떨어지지 않는 질문들이에요. 이 과목을 마치는 지금, 한 번쯤 곰곰이 생각해 보면 좋은 것들로 골랐어요. 혼자 생각해도 좋고, 같이 공부하는 사람과 이야기 나눠도 좋습니다.

1. 주니어 채용이 줄었다는데, 지금 개발을 배워도 될까?

요즘 "AI 때문에 신입 개발자 자리가 줄었다"는 이야기를 들어 봤을지도 몰라요. 실제로 최근 조사를 보면 신입 채용이 예전만 못한 면이 있어요. 그런데 같은 조사가 또 다른 이야기도 해요. 시장이 둘로 갈려서, 한쪽에선 신입을 줄이지만 다른 쪽에선 오히려 더 뽑고 있다고요. 그리고 AI가 예전에 신입이 하던 단순한 일을 대신하면서, 시작하는 사람에게 요구하는 수준이 올라갔다고도 하죠. 이런 흐름 속에서, 지금 개발을 배우기 시작하는 건 어떤 의미일까요? 줄어든 자리를 걱정하기보다, 그 안에서 어떤 사람이 여전히 필요할지를 생각해 보세요.

2. AI가 코드를 다 써준다면, 나는 왜 굳이 기초를 배울까?

Step 5에서 계산기 비유를 들었어요. 계산기가 있어도 산수를 배우는 이유 말이에요. 그런데 솔직히, 막상 AI가 척척 코드를 짜 주는 걸 보면 "이걸 내가 왜 배우지?" 하는 마음이 들 수도 있어요. 정말로, AI가 코드를 다 써 주는 시대에 내가 기초를 아는 게 어떤 힘이 될까요? "AI가 준 답이 맞는지 틀린지 판단하는 것"과 "처음부터 끝까지 내가 짜는 것"은 어떻게 다를까요? 그리고 만약 기초 없이 AI에만 기댄다면, 어떤 순간에 그 한계가 드러날지 떠올려 보세요.

3. "첫 언어"가 정말 그렇게 중요할까?

많은 입문자가 "어떤 언어를 첫 번째로 배우느냐"를 두고 한참을 고민해요. 마치 그 선택이 앞으로의 모든 걸 결정할 것처럼요. 그런데 이 과목은 처음부터 "언어보다 사고가 먼저"라고 말해 왔죠. 그렇다면 첫 언어 선택은 우리가 걱정하는 만큼 중요한 걸까요, 아니면 생각보다 덜 중요한 걸까요? 언어가 바뀌어도 변하지 않는 것은 무엇이고, 언어마다 달라지는 것은 무엇인지 나눠서 생각해 보세요. 그리고 "완벽한 첫 언어를 고르는 것"과 "일단 하나로 시작하는 것" 중 무엇이 더 나은 전략일지도요.

✅ 예시 답안정답 보기

이 문서는 A-7 「개발자의 세계」의 과제와 생각해볼 주제에 대한 예시답안입니다. 정답을 외우는 용도가 아니라, 나의 다음 길을 어떻게 그리고·어떤 태도로 다음 과목을 맞이할지 그 흐름을 참고하는 용도로 보세요. 이번 과제들은 특히 정답이 없어요. 여기 적힌 건 하나의 예일 뿐, 당신이 자기 마음을 따라 그린 로드맵이 가장 좋은 답입니다.


과제 예시답안

🎯 [과제 1 예시답안] 가장 끌리는 직군 고르기

채점 포인트

항목 배점 기준
직군 선택과 이유 40% 직군 하나를 고르고, 왜 끌리는지 자기 말로 적었는가
만드는 것의 예 35% 그 직군이 만드는 것을 평소 앱·서비스에서 2~3개 들었는가
보이는 곳/보이지 않는 곳 구분 25% 화면(프론트)인지 보이지 않는 곳(백)인지 짚었는가

풀이 예시

저는 프론트엔드가 가장 끌립니다.

첫째, 왜 끌리는가. 제가 만든 게 화면에 바로 보인다는 점이 좋아요. Step 1에서 프론트엔드를 "가게의 인테리어와 진열대"에 비유했는데, 제가 디자인한 버튼이나 색이 눈에 바로 나타나는 게 보람 있을 것 같아요. A-6에서 코드 한 줄을 실행해 화면에 글자가 떴을 때의 그 느낌이 좋았거든요.

둘째, 그 직군이 만드는 것의 예.

평소 쓰는 서비스 프론트엔드가 만든 부분
인스타그램 사진이 뜨는 피드 화면, 좋아요 버튼, 댓글 입력창
유튜브 영상 목록, 재생 버튼, 구독 버튼
쇼핑 앱 상품 목록 화면, 장바구니 화면

셋째, 보이는 곳인가 보이지 않는 곳인가. 프론트엔드는 눈에 보이는 화면(프론트) 쪽입니다. 제가 손가락으로 만지는 버튼과 목록이 전부 여기에 속해요.

💡 튜터의 한마디 — 아주 잘 골랐어요. 이 과제에 정답은 없지만, 당신이 보여 준 흐름이 딱 좋아요. "내가 만든 게 바로 보이는 보람"이라는 이유는 실제로 많은 프론트엔드 개발자가 이 길을 고른 이유와 똑같아요. 평소 쓰는 서비스에서 구체적인 예를 든 것도 좋고요. 인스타그램의 좋아요 버튼, 유튜브의 재생 버튼처럼 "아, 이게 프론트구나" 하고 짚어 낸 게 정확해요. 무엇보다 A-6에서 화면에 글자가 떴을 때의 감각과 연결한 게 인상적이에요. 그 느낌을 기억하고 있다면, 다음 과목에서 진짜 화면을 만들 때 더 즐거울 거예요. 끌리는 마음을 따라가세요. 그게 가장 오래 가는 동력이에요.

🎯 [과제 2 예시답안] 나만의 학습 로드맵 그리기

채점 포인트

항목 배점 기준
첫 언어 선택과 이유 35% Java/Python 중 하나를 고르고 이유를 한 줄 적었는가
만들고 싶은 것 35% 2단계에서 만들고 싶은 방향(화면·서버·앱·데이터)을 정했는가
목표 한 줄 30% "6개월 뒤 ___를 만들고 싶다"는 목표를 구체적으로 적었는가

풀이 예시

Step 2의 로드맵을 본보기로, 제 로드맵을 그려 봤습니다.

텍스트
   나의 학습 로드맵

   [ 지금 ] 프로그래밍 입문 — 사고를 깔았다
        │
        
   [ 1단계 ] 첫 언어 = Python
        │      이유: 데이터·AI가 끌리고, 문장이 짧아 가볍게 시작하고 싶어서
        
   [ 2단계 ] 데이터·AI 방향으로
        │      쌓인 데이터로 무언가를 추천·예측하는 걸 만들어 보고 싶다
        
   [ 목표 ] 6개월 뒤 — 내가 좋아하는 가수의 노래 데이터를 모아
            "다음에 들으면 좋을 곡"을 추천하는 작은 프로그램을 만들고 싶다

저는 첫 언어로 Python을 골랐어요. Step 3 표에서 Python이 "데이터·AI·자동화"에 잘 쓰인다고 했는데, 제가 평소 데이터로 뭔가를 분석하는 데 관심이 있었거든요. 문장이 짧아 가볍게 시작할 수 있다는 점도 처음 배우는 저에게 부담이 적을 것 같았고요.

💡 튜터의 한마디 — 정말 멋진 로드맵이에요. 이 과제의 핵심은 "막연한 불안을 구체적인 계획으로 바꾸는 것"인데, 당신은 그걸 해냈어요. 특히 잘한 두 가지를 짚을게요. 첫째, 첫 언어를 고른 이유가 분명해요. "데이터가 끌려서 Python"이라는 연결은 Step 3의 비교표를 자기 흥미에 적용한 거라, 아주 좋은 판단이에요. 둘째, 목표가 구체적이에요. "프로그램을 잘 만들고 싶다" 같은 막연한 게 아니라 "좋아하는 가수의 추천 프로그램"처럼 손에 잡히는 목표를 세웠죠. 이렇게 구체적인 목표가 있으면, 막힐 때마다 "이걸 만들려면 뭘 배워야 하지?"로 길을 찾을 수 있어요. 이 로드맵을 잘 보이는 곳에 붙여 두세요. 6개월 뒤, 정말 그 추천 프로그램을 만들고 있는 당신을 보게 될 거예요.

🎯 [과제 3 예시답안] 나만의 'AI 사용 규칙'과 막힘 탈출 시나리오

채점 포인트

항목 배점 기준
AI 사용 규칙 3개 40% "선생으로 쓰는" 규칙을 3개 적고, 베끼지 않는 원칙이 담겼는가
막힘 탈출 시나리오 40% Step 4 순서도를 따라 구체적 상황 하나로 단계를 적었는가
자기 말로 쓰기 20% 교안을 베끼지 않고 자기 상황·표현으로 적었는가

풀이 예시

첫째, 나만의 AI 사용 규칙 3개입니다.

  1. 막혀도 코드를 통째로 받아 붙여넣지 않는다. 대신 "내가 어디서 잘못 생각한 거야?"라고 묻는다.
  2. AI가 준 설명은 그대로 외우지 말고, 내 말로 다시 정리해 본다. 정리가 안 되면 아직 이해 못 한 것이다.
  3. 에러가 나면 "고쳐 줘" 대신 "이 에러가 무슨 뜻인지 설명해 줘"라고 먼저 묻는다.

둘째, 막힘 탈출 시나리오입니다. (Step 4 순서도를 따라)

텍스트
   상황: 코드를 짰는데 빨간 에러가 떴다

   ① 빨간 에러가 떴다
         메시지를 "어디서·무엇이·왜"로 차분히 읽는다
   ② 읽어도 무슨 뜻인지 모르겠다
         에러 메시지를 그대로 검색창에 넣어 본다
   ③ 검색해도 잘 모르겠다
         AI에게 "이 에러가 왜 났는지 설명해 줘"라고 묻는다 (답 코드 말고 설명)
   ④ 그래도 막히면
         "뭘 하려 했고, 뭘 했고, 뭐가 났는지" 정리해 사람에게 묻는다

💡 튜터의 한마디 — 이 과제를 이렇게 진지하게 해냈다니 정말 든든해요. 이건 단순한 숙제가 아니라, 앞으로 막히는 순간마다 당신을 구해 줄 응급 매뉴얼이거든요. 규칙 세 개가 전부 Step 5의 핵심을 자기 것으로 소화했어요. 특히 "AI가 준 설명을 내 말로 정리해 보고, 안 되면 아직 이해 못 한 것"이라는 두 번째 규칙이 인상적이에요. 이건 교안에 없던, 당신이 스스로 만든 좋은 기준이에요. 막힘 시나리오도 Step 4의 순서를 따르면서 AI를 "설명 듣는 용도"로 끼워 넣은 게 정확해요. 답 코드를 받는 대신 "설명을 구한다"로 바꾼 거죠. 이 매뉴얼을 다음 과목 첫날 옆에 두세요. 막히는 순간이 올 때, 당황하는 대신 이 순서를 하나씩 밟으면 돼요. 막힘은 더 이상 무서운 게 아니라, 당신이 이미 길을 아는 곳이 됐어요.


생각해볼 주제 예시답안

🤔 [생각해볼 주제 1] 주니어 채용이 줄었다는데, 지금 개발을 배워도 될까

문제 상황 요약

요즘 "AI 때문에 신입 개발자 자리가 줄었다"는 이야기가 들린다. 최근 조사도 신입 채용이 예전만 못한 면을 보여 준다. 그런데 같은 조사가 "시장이 둘로 갈려 한쪽은 줄이고 한쪽은 더 뽑는다", "AI가 단순한 일을 대신해 시작 수준이 올라갔다"고도 말한다. 이런 흐름에서 지금 개발을 배우기 시작하는 게 어떤 의미인지 생각해 보는 주제다.

튜터의 가이드 및 해설

먼저 솔직해지자. 신입 채용이 예전보다 까다로워진 건 사실이다. 이걸 "괜찮아질 거야"라고 가볍게 덮는 건 정직하지 않다. 다만, 겁먹고 포기하기 전에 그 변화의 속을 들여다보면 이야기가 달라진다.

핵심은 "줄었다"는 한마디에 숨은 갈라짐이다. 최근 조사들은 시장이 하나로 무너진 게 아니라 둘로 나뉘었다고 말한다. 한쪽 기업은 신입을 줄이지만, 다른 쪽 기업은 오히려 신입 채용을 늘린다. 즉 "개발자 자리가 사라졌다"가 아니라 "어떤 자리는 줄고 어떤 자리는 는다"가 더 정확한 그림이다. 전체 개발자 수요 자체는 앞으로도 늘어날 거라는 전망이 많고.

더 중요한 변화는 "시작 수준이 올라갔다"는 점이다. 예전에 신입이 맡던 단순하고 반복적인 일을 이제 AI가 상당히 대신한다. 그래서 기업은 신입에게 "그 단순한 일"이 아니라 "AI가 한 일을 판단하고 다듬는 능력"을 기대한다. 언뜻 불리해 보이지만, 뒤집어 보면 분명한 길이 보인다. 기초가 탄탄해서 AI가 한 일을 읽고 고칠 줄 아는 사람, 그런 사람은 오히려 더 필요해졌다는 뜻이다.

그러니 질문을 바꿔 보자. "지금 배워도 될까?"가 아니라 "어떤 사람이 되면 될까?"로. 답은 이 과목이 처음부터 말해 온 그대로다. 기초를 제대로 쌓는 사람. AI를 베끼는 도구가 아니라 선생으로 쓰며, "왜 이렇게 동작하는지"를 아는 사람. 그런 사람의 자리는 줄지 않았다. 오히려 그런 사람이 부족하다. 채용 시장의 평균을 걱정하기보다, 그 평균을 넘는 사람이 되는 데 집중하는 게 훨씬 생산적이다.

💡 핵심을 한마디로

"신입 채용이 줄었다"는 시장이 둘로 갈렸다는 뜻이지 자리가 사라졌다는 뜻이 아니며, AI가 단순한 일을 대신하면서 "AI가 한 일을 판단하고 고칠 줄 아는 기초 탄탄한 사람"은 오히려 더 귀해졌다. 평균을 걱정하기보다 그 평균을 넘는 사람이 되는 데 집중하는 것이 답이다.

🤔 [생각해볼 주제 2] AI가 코드를 다 써준다면, 나는 왜 굳이 기초를 배울까

문제 상황 요약

Step 5에서 "계산기가 있어도 산수를 배운다"는 비유를 들었다. 그런데 막상 AI가 척척 코드를 짜 주는 걸 보면 "이걸 내가 왜 배우지?" 하는 마음이 든다. AI가 코드를 다 써 주는 시대에 기초를 아는 것이 어떤 힘이 되는지, "AI가 준 답을 판단하는 것"과 "처음부터 내가 짜는 것"이 어떻게 다른지 생각해 보는 주제다.

튜터의 가이드 및 해설

이 의문은 정직한 의문이다. 실제로 AI가 코드를 빠르게 내놓는 걸 보면, 굳이 힘들게 기초를 다질 이유가 있나 싶다. 그래서 더더욱 "왜"를 분명히 짚고 가야 한다.

계산기 비유를 한 걸음 더 밀어 보자. 계산기는 계산을 대신해 주지만, 두 가지를 못 한다. 첫째, "무엇을 계산해야 하는지" 정하는 것. 둘째, "나온 답이 말이 되는지" 판단하는 것. 마트에서 계산기가 영수증에 0을 하나 더 찍어 백만 원이 나와도, 산수를 아는 사람은 "어, 이건 이상한데?" 하고 멈춘다. 산수를 모르면 그 황당한 답을 그냥 믿는다. AI와 코드도 똑같다. AI는 코드를 빠르게 써 주지만, "무엇을 만들어야 하는지" 정하고 "이 코드가 맞는지" 판단하는 건 여전히 사람의 몫이다.

여기서 "판단하는 것"과 "처음부터 짜는 것"의 차이가 드러난다. 둘 다 결국 기초를 요구하지만, 판단은 더 높은 능력이다. 직접 짜는 건 한 줄씩 내가 만드는 거라 천천히라도 따라갈 수 있다. 그런데 AI가 통째로 내놓은 코드를 보고 "이게 맞나, 빠진 건 없나, 위험한 곳은 없나"를 가려내려면, 짜는 것보다 더 넓은 눈이 필요하다. 코드를 읽고 평가하는 능력은, 직접 써 본 사람만 가질 수 있다. 그래서 "내가 짤 줄 알아야 AI가 짠 것도 판단할 수 있다"는 순서는 뒤집을 수 없다.

그리고 기초 없이 AI에만 기대면, 그 한계는 꼭 드러난다. 평소 잘 돌아가다가도, AI가 엉뚱한 코드를 내놓는 순간이 온다. 기초가 있는 사람은 "여기가 이상하네" 하고 고치지만, 기초가 없는 사람은 무엇이 잘못됐는지조차 모른 채 멈춰 선다. AI에게 다시 물어도, 그 답이 맞는지 또 판단을 못 한다. 결국 "AI가 틀리는 순간"이 곧 "기초 없는 사람이 무너지는 순간"이다. 기초는 그 순간을 버티게 해 주는 바닥이다. AI가 강력할수록, 그 바닥은 더 단단해야 한다.

💡 핵심을 한마디로

계산기가 답을 내줘도 "무엇을 계산할지"와 "답이 말이 되는지"는 산수를 아는 사람의 몫이듯, AI가 코드를 써 줘도 "무엇을 만들지"와 "이 코드가 맞는지"는 기초를 아는 사람만 판단할 수 있다. AI가 틀리는 순간이 곧 기초 없는 사람이 무너지는 순간이라, AI가 강력할수록 기초라는 바닥은 더 단단해야 한다.

🤔 [생각해볼 주제 3] "첫 언어"가 정말 그렇게 중요할까

문제 상황 요약

많은 입문자가 "어떤 언어를 첫 번째로 배우느냐"를 두고 한참 고민한다. 그 선택이 앞으로의 모든 걸 결정할 것처럼. 그런데 이 과목은 "언어보다 사고가 먼저"라고 말해 왔다. 첫 언어 선택이 정말 걱정하는 만큼 중요한지, 언어가 바뀌어도 변하지 않는 것과 언어마다 달라지는 것은 무엇인지 생각해 보는 주제다.

튜터의 가이드 및 해설

먼저 결론을 말하면, 첫 언어 선택은 생각보다 덜 중요하다. 물론 아무 의미가 없다는 건 아니다. 다만 입문자가 그걸 두고 며칠씩 고민하며 시작을 미룰 만큼 중요하진 않다. 왜 그런지 "변하는 것"과 "변하지 않는 것"을 나눠 보면 분명해진다.

언어가 바뀌어도 변하지 않는 것은 사고다. 우리가 이 과목에서 배운 그것 말이다. 값을 변수에 담고, 조건으로 갈라지고, 반복으로 되풀이하고, 큰 문제를 작게 쪼개는 사고. 이건 Java에도 Python에도, 세상의 거의 모든 언어에 똑같이 들어 있다. A-4에서 순서도로 그린 "만약 ~이면"은 어느 언어로 가든 조건문이 된다. 사고는 한 번 익히면 모든 언어에서 재사용된다. 이게 우리가 일부러 언어를 미루고 사고를 먼저 깐 이유다.

언어마다 달라지는 것은 문법, 즉 적는 방식이다. 같은 "만약 ~이면"을 Java는 Java의 방식으로, Python은 Python의 방식으로 적는다. 생김새가 다르고, 규칙도 조금씩 다르다. 하지만 이건 외우면 되는 거다. 그리고 한 언어의 문법을 제대로 익혀 본 사람은, 둘째 언어의 문법을 훨씬 빨리 외운다. "아, 이건 그때 그 사고를 이렇게 적는 거구나" 하고 바로 연결하니까. 그래서 첫 언어는 "평생 갈 언어"가 아니라 "사고를 처음 문법으로 옮겨 보는 연습대"에 가깝다.

그렇다면 "완벽한 첫 언어를 고르는 것"과 "일단 하나로 시작하는 것" 중 무엇이 나을까? 답은 분명하다. 일단 시작하는 것이다. 완벽한 첫 언어를 찾느라 시작을 미루는 동안, 그냥 하나를 골라 시작한 사람은 이미 사고를 문법으로 옮기는 연습을 하고 있다. 그 연습이 쌓이면, 나중에 어떤 언어로 갈아타도 빠르게 적응한다. 고르는 데 쓰는 하루보다, 한 줄이라도 써 보는 하루가 당신을 더 멀리 데려간다. 그러니 Java든 Python이든, 끌리는 쪽으로 가볍게 첫발을 떼면 된다.

💡 핵심을 한마디로

언어가 바뀌어도 사고(변수·조건·반복·분해)는 그대로 재사용되고 달라지는 건 문법(적는 방식)뿐이라, 첫 언어는 "평생 언어"가 아니라 "사고를 처음 문법으로 옮겨 보는 연습대"다. 완벽한 첫 언어를 고르느라 미루기보다 일단 하나로 시작하는 사람이 더 멀리 간다.

전체 목록 개발 입문
이 토픽을 끝까지 봤어요 🎉 다음은 Git·GitHub →