나도 그런 적 있었어. 화면 하나 그리기도 벅찬데 데이터베이스 설계에 배포 파이프라인까지 신경 써야 할 때의 그 막막함 말이야. 세상의 모든 기술 스택을 다 다룰 줄 있어야 진짜 '풀스택'이 되는 것 같고, 내가 모르는 기술 키워드가 들릴 때마다 가슴이 덜컥 내려앉곤 했지.
백엔드와 프론트엔드 사이에서 길을 잃었던 날들
내 연차가 쌓이기 전, 그러니까 한참 주니어 시절에는 나도 완벽한 풀스택 개발자가 되고 싶었어. 프론트엔드의 화려한 화면 전환도 완벽하게 구현하고 싶었고, 백엔드의 대용량 트래픽 처리도 기가 막히게 해내고 싶었거든. 하지만 현실은 냉혹하더라고. 낮에는 React 상태 관리 라이브러리 트렌드를 쫓아가느라 바빴고, 밤에는 스프링 부트의 복잡한 설정과 씨름했어. 두 분야 모두 기술 변화 속도가 너무 빠르니까, 어느 하나도 제대로 못 하는 '어설픈 제너럴리스트'가 되어가는 것 같아 무척 불안했어. 매일 밤 침대에 누우면 내가 과연 이 업계에서 살아남을 수 있을까 걱정하느라 쉽게 잠들지 못했지.
모든 기술을 마스터한 '슈퍼맨'은 없다
그렇게 15년을 풀스택 개발자로 버티면서 깨달은 게 하나 있어. 업계가 말하는 '모든 것을 다 잘하는 슈퍼맨' 같은 풀스택은 존재하지 않는다는 사실이야. 나 역시 15년 차인 지금도 매번 새로운 기술을 마주할 때마다 공식 문서를 뒤지고 구글링을 해. 모든 기술의 문법을 외우고 깊은 내부 동작 원리까지 완벽히 꿰고 있을 필요는 없어. 진짜 중요한 건 아래 세 가지를 이해하는 것이더라고.
- 어떤 도구를 쓸지 고민하기보다, 데이터가 흘러가는 전체적인 맥락 파악하기
- 모든 기술을 외우려 하지 말고, 필요한 순간에 빠르게 찾아 적용하는 학습력 기르기
- 사용자에게 어떤 가치를 줄 수 있는지 비즈니스 관점에서 고민하기
진짜 풀스택의 가치는 '연결'에 있어
실제로 내가 주니어들을 멘토링하고 면접관으로 들어가 보면, 모든 기술 스택을 화려하게 나열하는 친구들보다 하나를 알더라도 '왜 이 기술을 썼고, 앞뒤 흐름이 어떻게 연결되는지' 명확하게 설명하는 친구들에게 훨씬 더 마음이 가더라고. 풀스택의 진짜 매력은 프론트와 백의 경계를 허물고, 하나의 완성된 서비스를 사용자에게 온전히 전달할 수 있다는 데 있어. 모든 분야의 전문가가 되려고 스스로를 갉아먹지 마. 모르는 건 모른다고 인정하고, 필요할 때 빠르게 배워서 적용하는 그 유연함이 우리에게 가장 필요한 무기야.
💬 현우의 한마디 풀스택이란 모든 기술을 백 퍼센트 아는 사람이 아니라, 프론트와 백엔드의 흐름을 연결해 사용자가 겪는 문제를 해결할 줄 아는 사람이야. 스스로를 너무 몰아세우지 마. 너는 이미 충분히 잘해내고 있어. 지금 당장 모든 걸 다 알지 못한다고 해서 불안해할 필요 전혀 없어. 하나씩 부딪히며 너만의 연결고리를 만들어가다 보면, 어느새 단단해진 너 자신을 발견하게 될 거야. 언제나 네 도전을 묵묵히 응원할게.