프로그래밍 학습을 투자라기보다 부채 상환으로
Source: Dev.to
2025년 말이다.
내가 인터넷을 통해 스스로 프로그래밍을 배우기 시작한 지 2년이 넘었지만, 이전과 마찬가지로 아직도 실질적인 진전을 이루지 못한 느낌이다.
왜 그렇게 느낄까?
답은 간단하다고 생각한다: 오랫동안 나는 명확한 불편함—프로그래밍 자체로 무엇을 하고 싶은지에 대한 구체적인 이유가 없었다.
그래서 이 문제를 거슬러 올라가 보고자 한다.
존재 이유
어렸을 때 나는 존재에 대한 불안에 가까운 감정을 경험했다. 나는 종종 내 존재 자체—왜 여기 있는지, 세상이 어떻게 돌아가는지에 대해 궁금해했다. 그러다 어느 날 부모님이 게임 콘솔을 사주셨다. 나는 게임을 작은 세계로 보았고, 충격을 받았다.
내 눈에 게임 제작자는 신과 같은 통제력을 가졌다. 그들은 규칙, 물리, 보상, 그리고 결과를 정의했다. 의도만으로 완전한 세계가 탄생했다.
몇 년 뒤, 중학교에 다닐 때 나는 처음으로 컴퓨터를 접했다. 나는 지금 37살이지만, 그때의 느낌을 아직도 기억한다: 플로피 디스크를 삽입하고, 명령을 입력하면 갑자기 강력한 무언가에 접근하게 된다. 나는 다시 한 번 충격을 받았다.
어쩐지 게임과 컴퓨터 사이에 연결 고리가 있다고 느꼈다. 최소한 둘 다 화면을 공유했지만, 직감적으로 더 깊은 무언가가 있음을 감지했다. 그 순간부터 나는 세상을 이해하고 싶었던 것처럼 컴퓨터를 이해하고 싶었다.
고등학교를 마칠 무렵, 그 욕구는 사라지지 않았다. 당시 컴퓨터 과학은 매우 인기 있는 전공이었고, 많은 부모들이 자녀에게 이 분야를 공부시키길 원했다. 하지만 대학에는 비용이 필요했다. 나는 장남이었고, 부모님은 아직도 재정적으로 어려움을 겪고 있었다. 나는 3년 동안 등록금을 모으려 애썼고, 3년 동안 실패했다. 결국 포기하게 되었다. 점점 프로그래밍이라는 생각은 내 삶에서 사라졌다.
우리가 어리고, 자유분방하며, 가난할 때는 살아남기 위해 가장 깊은 호기심을 잊어버리기 쉽다.
데자뷰
몇 년 후, 내 유튜브 피드에 무작위 동영상이 나타났다: 웹 개발자가 되는 로드맵. 나는 그것을 시청했고, 다시 한 번 충격을 받았다.
무언가 근본적인 것이 변했다는 것을 깨달았다. 접근성이 이제 열려 있었다. 누구든지 배울 수 있었다—정규 교육도, 허가도 필요 없이. 그러나 비용은 방향이었다. 무엇이든 배울 수 있었지만, 왜 배워야 하는지는 모를 수도 있었다.
나는 열정적으로 뛰어들었다: HTML, CSS, 그리고 JavaScript. 처음엔 모든 것이 흥미로웠지만, HTML과 CSS는 금방 지루해졌고, JavaScript는 끝없는 미로처럼 느껴졌다.
날은 달이 되고, 달은 해가 되었다. 나는 계속 배우고 있었지만, 결과는 아무것도 아닌 것처럼 느껴졌다. 배운 것이 없어서가 아니라—같은 자리에서 머물러 있는 듯했기 때문이다. 나는 튜토리얼 지옥에 빠져 언어와 역할을 오가며, 같은 시기에 시작한 다른 사람들이 더 빨리 움직이고, 더 많이 만들고, 더 많이 성취하는 모습을 바라보았다. 진짜 문제는 훨씬 나중에야 깨달았다.
르네상스
나는 방향 없이 배우고 있었으며, 더 중요한 것은 잘못된 이유로 배우고 있었다. 내 동기는 제품을 만들기 위한 것이 아니었다. 나는 컴퓨터 안에 무엇이 들어 있는지—겉보기에 생명이 없어 보이는 것이 어떻게 신과 같은 힘을 발휘할 수 있는지—를 이해하고 싶었다. 나는 산출물이 아니라 지식을 원했다.
여기서 부채라는 개념이 명확해진다.
프로그래밍을 배우는 것은 미래의 수익을 목표로 하는 투자라기보다 과거의 부채를 갚는 행위다—컴퓨터를 배우고 싶었지만 배울 수 없었을 때 생긴 부채다. 이 여정이 직업으로 이어지든 말든 부차적인 문제다. 중요한 것은 부채가 갚히는 것이다: 내가 마침내 컴퓨터를 알게 되는 것이다.
취업은 온다면 부수적인 효과일 뿐이다. 지금은 내 길을 더 실용적으로 만들고 싶으니, 부수적인 효과는 의도적으로 무시한다.
2026년에 나는 다시 시작한다—제로에서가 아니라 올바른 방향을 잡은 상태에서. 호기심을 내 통화로 삼고, 포트폴리오도, 시장 수요도 아니다.
커리큘럼
나는 정직하고 탄탄하다고 느끼는 커리큘럼을 선택했다:
- TeachYourselfCS
- OSSU에서 선택적인 추가 내용 (OSSU 전체는 나에게 너무 무겁다)
- How to Design Programs
- Concepts, Techniques, and Models of Computer Programming
속담에 “인생은 40살에 시작된다”는 말이 있다. 그래서 내 마감은 2년이다. 40살이 될 때까지 이 여정을 마치고 싶다. 모든 것을 끝내지 못하더라도 HtDP, SICP, CS:APP, CTMCP를 마치는 것만으로도 충분히 기초가 될 것이다. CS:APP만으로도 철제 상자가 어떻게 세계가 되는지 이해할 수 있을 것이다. 다른 책들은 더 깊은 것을 다룬다—어떻게 생각하는가, 단순히 어떻게 만드는가가 아니라.
프로그래밍은 무언가를 만드는 것이라고 자주 말한다. 그 진술은 맞다—매우 맞다. 하지만 내 경우 우선순위가 다르다. 나는 만들기 전에 이해하고 싶다. 아직 신이 되는 것에 관심이 없다.
그래서 포트폴리오를 만드는 것보다 에세이를 쓰는 것이 나에게 더 의미가 있다. 에세이는 이해를 외부화한다. 명료함을 강요한다. 막연한 직관을 구체적인 사고로 전환한다. 글쓰기는 내가 스스로에게—부채가 갚히고 있음을—증명하는 방법이다.
이 에세이는 나의 2년 여정의 시작을 알린다. 그 과정에서 공유할 만한, 내가 진정으로 이해한 무언가가 있다면 다시 글을 쓸 것이다.
새해 전야 즐거운 시간 보내세요 🥳