Meta 과정 첫날 — 기대와 현실 사이
[프롤로그] 오래된 궁금증 하나
어느 날부터인가, 그 단어들이 자꾸 눈에 밟혔습니다.
프론트엔드. 백엔드. API. 풀스택.
처음에는 그냥 넘겼습니다. 개발자들끼리 쓰는 용어겠거니, 나와는 다른 세계의 언어겠거니 하고요. 그런데 이상했습니다. 그 단어들이 점점 더 가까운 곳에서 들려왔습니다. IT 업계 뉴스가 아니라, 기획 회의에서. 마케팅 미팅에서. 팀장의 입에서. 그리고 어느 날, 채용 공고의 '우대 사항' 란에서.
이제 이건 몰라도 되는 말이 아닌 건가.
그 생각이 처음으로 든 날, 솔직히 조금 당황했습니다. 이미 한참 전부터 시작됐던 흐름을, 나만 못 본 채 지나쳐온 것 같은 기분이었습니다. AI 시대라는 말은 이제 아무도 새삼스러워하지 않습니다. 하루가 다르게 새로운 도구들이 쏟아지고, 어제의 상식이 오늘의 구식이 됩니다. 그 흐름 속에서 저는 스스로에게 조용히 물었습니다. 나는 지금 이 시대를 제대로 읽고 있는 걸까.
솔직하게 말씀드리겠습니다. 이 공부가 어떤 결과로 이어질지, 저도 아직 모릅니다. 커리어를 바꾸게 될지, 아니면 그냥 세상을 조금 더 이해하는 눈이 생기는 정도로 끝날지. 이것이 여러분의 시간과 노력을 투자할 만한 일인지도 쉽게 권할 수가 없습니다. 그것은 여러분 각자가 판단해야 할 문제입니다.
하지만 이것 하나만은 분명히 말할 수 있습니다. 저는 오랫동안, 진심으로 궁금했습니다. 웹사이트는 대체 어떻게 만들어지는 걸까.
그 질문 하나가 저를 여기까지 데려왔습니다. 이 기록은 그 여정의 첫 페이지입니다. 제가 직접 부딪히고 시행착오를 겪으며 써 내려가는 이야기가, 비슷한 자리에 서 있는 누군가에게 작은 실마리가 되기를 바랍니다.
선택지가 너무 많다는 것의 두려움
Coursera에 가입하는 것은 생각보다 간단했습니다. 이메일 하나, 비밀번호 하나, 몇 번의 클릭. 그것으로 끝이었습니다. 그런데 가입을 마치고 강의 목록이 펼쳐지는 순간, 저는 예상치 못하게 멈춰섰습니다.
수백 개의 과정들. 하버드, 스탠퍼드, 구글, 메타, IBM. 화려한 이름들 사이로 알 수 없는 기술 용어들이 빼곡히 적혀 있었습니다. 그 광경은 기회처럼 보이기도 했지만, 동시에 압도적이었습니다.
어디든 갈 수 있다는 것이 반드시 좋은 일은 아닙니다. 선택지가 너무 많으면, 오히려 아무것도 선택하지 못한 채로 창을 닫게 됩니다. 저는 먼저 기준 하나를 세웠습니다.
단순히 배우는 것이 아니라, 연결해서 이해하자.
하나의 강의가 아니라 하나의 '흐름'을 선택하기로 했습니다. 점이 아니라 선으로 이어지는 학습. 각각의 지식이 따로 놀지 않고 하나의 그림으로 합쳐질 때, 비로소 쓸 수 있는 것이 된다고 믿었기 때문입니다.
다섯 개의 과정이 하나의 이야기가 되다
제가 선택한 과정들을 순서대로 펼쳐놓으면, 마치 한 편의 이야기처럼 읽힙니다.
① 화면의 언어 — Meta 프론트엔드
가장 먼저 눈에 들어온 것은 당연히 '화면'이었습니다. 우리가 매일 마주하는 웹사이트의 버튼, 글자, 이미지, 메뉴. 그것들이 어떻게 만들어지는지가 가장 먼저 궁금했으니까요. 이것을 다루는 영역이 바로 프론트엔드입니다.
② 기술 이전에 사람 — Google UX 디자인
화면을 만든다는 것은 단순히 '보이게' 하는 것이 아닙니다. '잘 쓰이게' 만드는 일입니다. 여기서 등장하는 개념이 UX, 즉 사용자 경험(User Experience)입니다. 사용자가 어디서 헷갈리는지, 버튼은 어디에 있어야 자연스러운지, 화면의 흐름은 어떻게 설계해야 막힘이 없는지. 이것을 고민하고 설계하는 과정입니다. Figma라는 도구로 화면을 설계하고, 와이어프레임이라는 일종의 청사진을 그려봅니다.
좋은 서비스는 기술이 아니라, 배려에서 시작됩니다.
③ 컴퓨터와 대화하는 법 — 미시간대 Python
이제 본격적으로 컴퓨터와 대화하는 법을 배웁니다. 이때 만나는 언어가 Python입니다. Python은 생각보다 어렵지 않습니다. 마치 영어 문장처럼 읽히는 코드입니다. 변수에 값을 담고, 반복하고, 조건을 판단하고, 함수로 정리합니다. 이 강의를 진행하는 Dr. Chuck 교수님의 강의 방식이 특별합니다. 코딩을 '기술'이 아니라 하나의 '언어'처럼 느끼게 해줍니다.
문제를 작게 쪼개고, 순서대로 해결하는 힘.
④ 보이지 않는 절반 — Meta 백엔드
이제 눈에 보이지 않는 세계로 들어갑니다. 우리가 앱에서 버튼을 누르면, 화면 뒤에서는 무슨 일이 벌어질까요. 데이터는 어디에 저장되고, 누가 어떤 요청을 처리하는 걸까요. 그 보이지 않는 처리를 담당하는 것이 바로 백엔드입니다.
웹은 화면이 아닙니다. 흐름입니다.
⑤ 하나의 언어로 앞뒤를 잇다 — Node.js / Express
여기서 흥미로운 사실 하나를 발견하게 됩니다. 서버는 반드시 Python으로만 만드는 것이 아니라, JavaScript로도 충분히 구축할 수 있다는 점입니다.
Node.js는 JavaScript를 브라우저 밖, 즉 서버 환경에서 실행할 수 있도록 해주는 런타임이며, Express는 그 위에서 서버를 빠르고 효율적으로 구축할 수 있게 돕는 프레임워크입니다. 또한 이는 Django와 같은 전통적인 백엔드 도구와 비교했을 때, 더 가볍고 유연하며 현대 웹 개발에서 널리 사용되는 흐름을 보여줍니다.
특히 Meta 강좌에서 다소 부족하게 다뤄지는 백엔드 확장 부분을 보완해주는 중요한 학습 영역이기도 합니다. 여기에 MongoDB와 같은 데이터베이스를 함께 사용하면, 정형화된 구조에 얽매이지 않고 보다 유연하게 데이터를 저장하고 관리할 수 있습니다.
⑥ 점들이 선이 되는 순간 — 풀스택 통합 (MERN)
마지막 단계는 이 모든 것을 하나로 연결하는 것입니다. 이 조합을 MERN 스택이라고 부릅니다.
그리고 이 모든 것을 실제 인터넷 위에 올리는 마지막 과정이 배포(Deployment)입니다. 내가 만든 것이 세상과 연결되는 순간입니다.
순서에는 이유가 있습니다
이 로드맵에서 제가 가장 신중하게 생각한 것은 '순서'였습니다.
미시간대 Python → Meta 백엔드(Django) Python으로 '생각하는 방식'을 먼저 익히고, 그 감각을 그대로 가지고 Meta 백엔드로 넘어갑니다. Django가 Python으로 만들어진 프레임워크이기 때문에, 이 순서로 가면 낯선 언어를 새로 배우는 부담 없이 서버 개발의 구조에 집중할 수 있습니다.
처음부터 모든 것을 동시에 이해하려고 하면 지칩니다. 하나가 다음을 위한 준비가 되는 순서. 그것이 이 로드맵을 설계한 이유입니다.
다 이해하지 못해도, 괜찮았습니다
첫 강의를 마치고 나서, 저는 이상하게도 안도가 되었습니다. 여전히 모르는 단어들이 수두룩했습니다. 정확히 어떻게 만들어지는지, 코드 한 줄도 아직 써보지 않았습니다. 그런데도 왜인지 괜찮다는 느낌이 들었습니다.
이제 알게 되었기 때문이었습니다. 어디서 시작해야 하는지. 무엇을 배우게 되는지. 그리고 그것들이 결국 어떻게 연결되는지. 막막하게만 보이던 길에 희미하게나마 윤곽이 생겼습니다. 그것만으로도 첫날은 충분했습니다.
[에필로그] 방향이 생겼다는 것
첫날은 언제나 서툽니다. 모르는 단어들이 쏟아지고, 이해되지 않는 개념들이 스쳐 지나갑니다. 화면 속 강의를 따라가면서도 "이게 나한테 맞는 걸까"라는 의심이 고개를 듭니다. 그 의심은 아마 자연스러운 것일 겁니다.
지금 이 순간, 우리가 얻은 것은 '완벽한 이해'가 아닙니다. '방향'입니다. 그리고 방향이 생기면, 걷는 일은 생각보다 가능합니다.
이 여정의 끝에 무엇이 기다리고 있을지, 솔직히 저도 모릅니다. 프론트엔드와 백엔드를 자유롭게 오가며 하나의 서비스를 완성할 수 있을지. 이 공부가 실제 삶에 어떤 변화를 만들어낼지. 그것은 여전히 미지수입니다.
하지만 한 가지는 분명합니다. 이 글을 읽는 여러분도, 그리고 저도, 그 오래된 궁금증 하나를 손에 쥔 채로 첫 발을 내딛었다는 것.
시작은 이미 했습니다.