개발자로서 성장에 대해 요즘 생각하는 것들

학부·부캠·현업을 거치며 바뀌어 온 관점에 대하여

Featured image

들어가며

2021년부터 이 블로그에 글을 꾸준히 써 왔습니다. 기술을 정리하기도 하고, 프로젝트에서 배운 점을 남기기도 했으며, 때로는 생각을 기록하는 공간으로 쓰다 보니 어느새 4년이 훌쩍 지났네요.

그 시간 동안 글의 주제는 조금씩 달라졌지만, 한 가지 단어만큼은 계속 제 옆을 맴돌았습니다. 바로 ‘성장’입니다.

개발자로 살아가는 이상 이 단어를 피해가기란 거의 불가능하죠. 회사에서도, 커뮤니티에서도, 채용 과정에서도 자연스럽게 등장하는 단어입니다. 저 역시 그 흐름 속에서 성장을 바라보고, 부담스러워하고, 이해하려고 애쓰며 여기까지 왔습니다.

그래서 이번에는 지난 몇 년간 학생이자 개발자로 살면서 바라보았던 ‘성장’이라는 감각을 되짚어보고 싶었습니다. 그 정의가 어떻게 바뀌어 왔는지, 어떤 오해 속에서 지냈는지, 그리고 지금의 나는 그 단어를 어떻게 다르게 바라보는지.
정답을 말하려는 것도 아니고, 그럴 자격이 있는 것도 아닙니다. 그저 한 명의 개발자로서 자연스럽게 변해온 관점들을 조용히 기록해 보고자 합니다.

이야기는 아주 개인적인 한 장면에서 시작됩니다.

과거의 이야기

2020년 말, 새해 목표로 개발을 처음 배울 때 제가 생각한 ‘성장’의 의미는 지금과는 많이 달랐습니다.
레퍼런스를 보지 않아도 코드를 척척 쓰는 사람, 언어의 문법과 라이브러리 API가 머릿속에 들어 있어 손이 곧장 움직이는 사람. 그런 사람이 진짜 개발자라고 믿었죠. 그래서 문서 한 줄, 명세 하나라도 더 외우려는 마음으로 시작했고, 당시 썼던 글들도 그런 마음이 잘 드러납니다.

부스트캠프에 들어가면서 그 정의는 조금 더 구체화되었습니다. 이제는 누구나 아는 표면적인 지식이 아니라, 문서의 끝자락에 숨어 있는 옵션, 애매하게 넘어가는 명세, 실제 경험을 통해서만 알 수 있는 디테일들을 정확히 아는 사람이 ‘깊이 있는 개발자’라고 생각했습니다. 그게 곧 ‘딥 다이브’라고 믿었고, 작은 구석 하나라도 더 알고 싶어 했습니다.

부트캠프 이후 복학 전까지는 그 믿음이 더 강해졌습니다. 기술 문서와 레퍼런스를 반복해서 읽고, 여러 실험을 하며 지식을 체화하는 데 집중했습니다. 하지만 돌아보면 그 과정은 단순히 암기와 반복의 연속이었고, 옛 성현의 말을 외워두는 것과 크게 다르지 않았습니다.

그 무렵부터 이런 생각이 조금씩 들기 시작했습니다.

프로그래밍은 문제를 해결하기 위한 도구인데, 정작 나는 어떤 문제를 해결하고 싶은지도 모른 채 도구만 갈고 있었던 건 아닐까?

목적 없는 배움은 방향을 잃기 쉽고, 문제를 해결하기 위해 배운 것이 아니라 배움을 위한 배움을 하고 있었다는 걸 그제야 조금씩 깨달았습니다. 지금 떠올려보면, 그 시기의 저는 문제를 직접 정의해본 경험이 거의 없었고, 그래서 더 깊이라는 이름 아래에서 맴돌기만 했던 것 같습니다. 돌이켜보면, 왜 그런 방식의 배움에 머물렀는지도 어느 정도 설명이 됩니다.

그런 관점이 생기는 건 어쩌면 자연스러운 일이었을지도 모릅니다. 학부 동아리나 부트캠프 같은 환경에서는 기술을 잘하면 자연스럽게 목소리가 커지는 구조가 있었고, 저 역시 그 분위기 안에서 움직였습니다. 누군가에게 설명하고, 의견을 내고, 토론을 이끌면 인정받을 수 있었기에, 기술 그 자체가 가장 중요한 가치라고 오랫동안 착각했던 것 같아요. 지금의 시야로 보면 꽤 단순한 관점이었지만, 당시의 제게는 그것이 세계의 전부였습니다. 개발자라면 코딩만 잘하면 되는 것 아니냐고 생각했던 시절이죠.

하지만 그런 관점은 현업을 경험하면서 서서히 균열이 생기기 시작했습니다.

‘현업’을 겪으며

많은 교육 기관이 ‘현업에 가까운 교육’을 추구하지만, 결국 현업은 현업에서만 가장 빠르게 배울 수 있습니다.

기술적 깊이만으로 해결할 수 없는 문제들, 사람과의 조율, 요구사항을 해석하는 과정, 시스템을 맞춰가며 생기는 책임감. 이런 것들은 아무리 문서를 파도 나와 있지 않았습니다. 그리고 이런 부분에서의 미숙함이 팀 전체의 흐름을 흔들 수 있다는 것도 직접 일하며 처음 실감했습니다. 개발자도 결국 사람과 함께 일하는 직업이라는 것을, 그제야 분명하게 이해하게 되었죠.

예를 들어, 기능 자체는 어렵지 않았지만 요구사항이 애매하게 전달되어 개발자마다 다르게 해석하고 있었다거나, QA 단계에서 예상치 못한 흐름이 발견되어 여러 담당자가 동시에 스케줄을 조정해야 하는 일이 생기곤 했습니다. 기술적으로는 맞게 구현했지만 UX나 PM의 관점에서는 다시 논의해야 하는 상황도 많았고, 일정이 빠듯할 때 문제가 생기면 그것을 어떻게 공유하고 어떤 해결 방향을 제안하느냐에 따라 팀 전체의 리듬이 달라졌습니다.

그제야 깨달았습니다.
성장이란 단순히 기술을 더 깊게 파는 것만으로는 완성되지 않는다는 사실을.

그래서 지금은?

지금의 저는 예전보다 조금 다른 방식으로 성장을 바라보고 있습니다.
예전에는 ‘많이 아는 것’이 성장의 기준이었다면, 조금 지나서는 ‘깊게 아는 것’이 기준이 되었죠. 하지만 현업 경험을 통해 깨달은 건, 하드 스킬만으로는 팀의 목표를 향해 나아가기 어렵다는 점이었습니다.

지금 제가 생각하는 성장은, 함께 더 나은 결과를 만드는 능력에 가까운 것 같습니다. 기술적인 깊이는 여전히 중요하지만, 그것이 팀의 목표와 맞물리고, 사람들과의 조율 속에서 제대로 작동해야 비로소 의미를 갖습니다. 결국 성장은 기술, 협업, 책임감, 소통, 그리고 계속 배우는 힘이 균형을 이루는 과정이라고 생각합니다.

이 블로그를 4년 넘게 운영하면서 과거의 기록을 자주 마주하게 됩니다. 서툰 생각도 보이고, 지금보다 집요하게 파고들던 흔적도 있습니다. 그러나 그런 흔적들이 쌓여 지금의 제가 되었겠지요. 어쩌면 성장은 이렇게 조용한 변화를 차곡차곡 기록하는 일과도 닮아 있습니다.

앞으로도 저는 여전히 배울 것이 많고 부족한 부분도 많습니다. 하지만 예전처럼 ‘잘 아는 사람’이 되기보다는, ‘함께 잘 만들어 가는 사람’이 되고 싶습니다. 성장이라는 단어를 과하게 짊어지기보다, 매일 조금씩 더 나아지는 선택을 해 가는 개발자로 남고 싶습니다.