4월부터 지금까지 오랜 시간이 흘렀다. 12월을 조금 넘기고 있는 시점이라 싱숭생숭할 때 마침 후기를 적으면 좋을 것 같아 글을 올려본다.
✅ 개인적인 회고
소마에서 얻어갈 수 있는 것은 '사람'이라는 말을 많이 들었다. 나도 크게 다르지 않은데 다만 얻을 수 있는 것은 크게 두 가지가 있다고 생각한다. 첫 번째는 같은 팀원들과 멘토님들 및 오며가며 알고 지내던 연수생분들을 모두 포함한 열정 있는 좋은 사람들, 두 번째는 구르고 엎어지는 등 수많은 서사가 쌓인 완벽하지 않은 프로젝트이다.
나는 인증을 하였냐면 그건 아니다. 창업을 하지도 않았고, 막바지에 취업에 성공한 케이스이다. 실제로도 우리 팀은 창업 or 취업 중에서는 취업을 목적으로 한 팀이었다. 소마를 수료하면서 참 행운이고 다행이었다고 생각했던 점들이 있고, '그럼에도 이건 더 잘 해볼걸'이라는 후회가 남는 점도 있다. 뿌듯함, 아쉬움, 시원섭섭함 등등 여러 감정이 교차하는 만큼 위에 언급한 두 가지에 대해서 적어보고자 한다.
🍀 열정 있는 좋은 사람들 (Special Thanks)
우선 프로젝트를 끝까지 마쳤다는 점이 너무 다행이고 운이 좋았다고 생각했다. 이는 물론 나의 노력도 있지만 팀원들과 멘토님들이 없었더라면 매우 어렵지 않았을까 싶다. 개발 프로젝트를 하면서도 이렇게 긴 기간동안 프로젝트를 해본 적이 없었다. 그래서 열심히 하고자 하는, 의지를 가진 사람들과 팀을 함께하는 것이 얼마나 중요하고 또 어려운 일인지를 실감했다.
먼저 우리 팀원들에게 고마움의 말을 전하고 싶다. 이런 긴 프로젝트에서 팀장을 맡아본 적은 처음이라 분명히 미숙한 점도 많았을 것이다. 그래도 잘 믿고 따라와 줘서 너무 고맙다. 덕분에 팀장은 단순히 일을 잘해야만 할 수 있는 것이 아니라, 팀원들과 좋은 관계를 유지하면서도 어떻게 하면 팀의 성과를 끌어올릴 수 있을지를 둘 다 고민해야 하는 영역임을 알 수 있었다. 그리고 사실 나는 일할 때 그렇게 분위기를 잘 풀어주는 성격은 아니라서, 아마 나와 같은 사람들 세 명이 모였다면 일은 어찌저찌 잘 해낼 수 있었겠으나 팀 분위기가 엄청 화기애애할 것 같지는 않았다. 회의도 하면서 중간중간 얘기를 조잘조잘 해 준 팀원들 덕분에 분위기가 더 좋았던 것 같아서 고맙다. 실제로 이런 분위기라 다른 연수생 분은 우리 팀을 '동물의 숲 주민들' 같다고 해주셨고, 우리 멘토님은 '어떻게 이렇게 무해한 사람들만 모으셨나요'라고도 해주셨다...ㅋㅋㅋㅋㅋㅋ 암튼 그만큼 화기애애하게 지냈던 기억이 많다.
그 다음은 우리 멘토님들이다! 사실 4월에는 팀원 매칭 다음이 바로 멘토 매칭으로 이어져서 스케줄이 정말 빡셌다. 덕분에 파워 J인 나도 멘토 세 분을 각각 어떤 포지션으로 모실지에 대해서 청사진을 그리지는 못했고, 최대한 여러 분을 만나뵈면서 '이분이다..!' 라는 느낌이 드는 분을 모시려고 했다. 이름을 언급하면 특정이 될 수 있으니 멘토님들의 역할과 특징으로 언급해 보겠다.
헤드 멘토님은 항상 일관된 조언을 주셨고, 나는 이분 덕분에 개발자로써 구체적인 내 진로를 고민해볼 수 있었다. 취업만 하면 다가 아니구나, 완벽한 개발과 완벽한 커리어라는 것은 없구나, 일단 해보고 뭔가를 깨닫고 고치는 거구나, 라는 깨달음을 이분 덕분에 얻었고 여전히 체화 중이다. 곰돌이 멘토님은 AI와 백엔드 멘토님이셨는데 프론트 디버깅까지도 하시는 능력자셨다. 항상 우리가 어떤 문제를 말씀드려도(심지어 프론트 코드를 냅다 보여드린 적도 있다...) 뚝딱뚝딱 솔루션을 같이 찾아주셨던 점이 너무 감사했고, 스타트업의 CEO이신데도 항상 편안하게 우리를 대해 주셨다. 이분 덕분에 '개발자는 나중에 어떤 직급을 맡게 되어도 개발을 할 수 있어야 하고, 문제를 해결할 수 있어야 하겠구나'라는 깨달음을 얻었다. 마지막으로 프론트 멘토님은 항상 열정 있게 우리를 대해주시고, 회사 업무를 하면서 사이드 프로젝트도 하시면서 우리 멘토링도 해 주시는 시간의 마법사셨다. 프론트 지식을 따로 정리해서 멘토링도 해 주시고, vscode로 직접 라이브코딩을 하면서 문제에 대해 조언을 주셨어서 온오프라인에 관계 없이 뵐 때마다 든든했던 기억이 있다. 이분 덕분에 '나도 저렇게 취업한 이후에도 계속해서 뭔가를 해 나가는 열정 있는 개발자가 되고 싶고, 꾸준히 회고하고 지식을 공유하는 개발자가 되고 싶다'는 새로운 지향점을 얻었다.
그 다음엔 소마에서 오며가며 뵈었던 모든 연수생들이다. 나는 그렇게 발이 넓은 편은 아니라 엄청 많은 분들과 알며 지내지는 못했다. 아마 6월까지 학교를 다니고 7월부터 센터를 많이 나와서 그렇게 된 부분도 컸던 것 같다. 그럼에도 몇 분들과는 오며가며 뵙고 종종 안부를 물으며 지냈다. 소마 센터에 꾸준히 나오시는 분들은 대부분 이 프로젝트에 열정이 있고, 개발이나 기획에도 열심히 참여하시는 분들이 많았다. 덕분에 잠시 열정을 잃어버렸을 때 다른 분들과도 얘기를 나누며 그 열정을 조금 더 받아갈 수 있었다. 오며가며 날 보신 분들이 계시다면 덕분에 열정 있고 재밌는 소마 생활을 할 수 있었어서 감사하다는 말씀을 전하고 싶다.
🎓 완벽하지 않은 프로젝트
분명 소마를 붙고 활동을 시작하기 전에는 기깔나는 프로젝트를 만들어서 내 포트폴리오로 삼아야겠다는 취준생의 세속적인 생각이 있었다. 지금도 그런 생각이 아예 없다고는 못 하겠는데, 이 완벽하지 않은 나의 프로젝트를 만나면서 이 생각에 하나의 전환점이 생겼다. 완벽한 것은 앞으로도 없을 것이고, 문제를 마주하고 고치는 과정 자체를 즐겨야 내가 개발자로서 성취감 있고 재밌게 살아갈 수 있겠다는 생각이었다.
이 프로젝트에 나름의 노력을 다했었다. 그리고 최고라고는 못 하겠지만 매 순간 나름대로 생각하는 최선이라는 선택을 했었다. 당연하게도 이 프로젝트는 완벽하지 않았다. 사용자를 거의 모으지 못했고, 최초에 기획했던 것을 전부 다 구현하지는 못했으며, 성능 이슈도 있다. 그럼에도 불구하고 나한테 가장 기억에 남는 프로젝트임은 확실하다. 모든 것을 결정하는 과정에 나름의 이유와 과정이 있었기 때문이다.
가령 우리 프로젝트에는 동기화 기능이 있다. 사용자가 태블릿이나 스마트폰 등 여러 기기에서 앱을 동시에 사용할 때 동기화가 되도록 구현해 놓았다. 다만 '동기화'하면 생각나는 '웹소켓'이나 '롱 폴링(long polling)'을 쓰지는 않았다. 우리는 백그라운드 푸시 알림으로 동기화 기능을 구현했다. 이유는 명확했다. 최대한 빠르게 구현하기 위해서였다.
당시 프로젝트의 사용자가 없었고, 중요한 것은 일단 빠르게 구현해서 배포를 하는 것이었다. 물론 이 방법을 선택했음에도 다른 문제들이 있어서 결과적으로 빠른 배포가 되지는 않았었다. 그리고 웹소켓과 롱 폴링이라는 방법도 완벽한 방법은 아니었다. 단지 문제를 해결하는 하나의 방법일 뿐이었다. 지금은 사용자가 없으니 가장 간단한 방법으로 동기화를 구현해 볼 뿐이었다. 당연히 이 방법도 단점이 있었다. 우선은 푸시 알림의 본 목적과 다른 목적으로 동기화를 위해 사용하므로 취지에 맞지 않는다는 문제가 있었고, 백그라운드 푸시 알람이 너무 빈번하게 오게 되면 FCM 서버 등의 다른 곳에 부하가 될 수도 있었다. 그러면 그 문제가 주는 불편함이 현재의 편리함보다 더 커졌을 때 구현 방법을 바꾸면 되는 일이었다.
이런 류의 여러 문제들을 마주하면서 어려운 기술을 쓰는 게 중요한 게 아니고, 어떤 문제를 풀기 위해서 어떤 기술이나 접근을 썼고, 그걸 왜 사용하였는지가 더 중요함을 깨달았다. 지금까지 나는 내가 어렵고 복잡한 기술을 쓰지 못해서 개발을 잘 못 한다고 생각했고, 더 잘 하기 위해서는 그런 기술을 알아야만 한다고 생각했었다. 그런데 그건 아니었다. 오히려 내가 자신이 없었던 이유는 매 순간 내가 무엇을 문제라고 생각했고, 그래서 무엇을 해결책으로 생각했으며, 왜 그걸 선택했고 어떤 장단점이 있는지가 명확하지 않아서였다. 물론 이 과정조차 완벽하진 않은데, 그럼에도 그런 '나만의 생각'이 없어서 내가 더 확신이 없었던 것이라고 생각한다. 개발자도 결국은 문제를 해결하는 사람의 부분집합이었다. 그 당연한 사실을 소마를 통해 조금이나마 더 깨달을 수 있었다.
➡️ What's next (Solopreneur)
1월부터는 어엿한 사회인 개발자가 되어 다른 곳에서 또 개발을 이어간다. 여기서 배운 것들을 잊지 않고, 현업에서 이 마음가짐을 갖고 문제를 해결하는 개발자가 되고 싶다. 물론 나는 주니어 개발자가 맞지만, 스스로를 주니어라고 한정짓지는 말아야 하겠다. 스스로에게 주어지는 일들은 잘 해내려고 노력하고 모르면 모르는 대로 고민하고 도움을 요청하는 것도 좋지만, '나는 주니어니까 이것까지만 하면 되겠지'라는 마음가짐을 경계하자.
최근에 참여한 다른 특강에서 Solopreneur, 1인 창업가라는 단어를 들었는데 인상깊었다. 'AI가 개발자를 대체할까'와 비슷한 주제의 특강에서 내가 이런 질문을 했었고, 여기에 대한 강연자분의 답변이 '1인 창업가가 되어라'는 말이었다.
주니어 개발자는 상대적으로 대체되기 쉽고, CTO나 테크 리드는 직접 문제를 정의하는 사람이라 상대적으로 대체되기 어려울 것 같다는 인상을 받았습니다. 어떻게 하면 주니어 개발자인 상황에서도 스스로 문제를 정의하는 개발자로써 기능할 수 있을까요? 일단 생각되는 방법은 주니어 개발자인 상황에서도 꾸준한 성찰과 회고를 통해 문제를 직접 정의하는 과정을 연습해보는 것인데, 혹시 또 다른 좋은 방법이 있을지 궁금합니다.
정말로 1인 창업을 하라는 말씀이었을 수도 있지만, 모두가 회사를 안 다닐 수는 없지 않을까? 나는 이 말을 이렇게 해석했다. '아직 스스로가 회사에서는 주니어 레벨이어도, 혼자 사이드 프로젝트를 하면서나, 주니어로 임하면서도 마치 창업을 하고 있다고 생각하면 그 깊이를 끝까지 달려볼 수 있다.' 스스로의 역할을 주니어 개발자라고 한정짓지 말고, 만약 사이드 프로젝트를 한다면 이 사이드 프로젝트에서만큼은 내가 기획자이고, 개발자이고, 동시에 마케터도 되는 것이다. 결국 중요한 것은 문제를 해결하는 것이니 말이다. 개발자의 본질도 결국은 문제 해결이라고 느꼈다.
그러나 이 때문에 현업을 소홀히 하는 것 또한 있어서는 안 될 일이었다. 어떻게 하면 밸런스를 맞출 수 있을까? 멘토님께 여쭤봤더니 일단 한 회사에 몸담고 있는 상황에서는 그 조직에서 내가 맡은 일을 잘, 효율적으로 해내는 것이 목표가 되어야 한다고 하셨다. 그리고 그러한 일을 잘 하면서도 여유 시간이 남는다면, 그때 시도해 보는 것은 괜찮을 것 같다는 조언을 해주셨다. 그래서 일단은 이렇게 해보려고 한다. 아마 이렇게 호기롭게 말을 했어도 이후 몇 달간은 신입으로써 적응하는 데 시간을 많이 쓸 것 같고, 그 영역도 분명 내가 생각하는 것보다 훨씬 더 넓고 깊은 세계일 것이다. 그때 가서 내가 너무 무모했나 싶은 허탈한 마음의 자책성 회고가 올라올 수도 있겠다... 그래도 일단은 이 마음을 잊지 말자.
'회고' 카테고리의 다른 글
20241230 회고 - 내년에는 일을 잘 하는 개발자가 되어 보자 (3) | 2024.12.30 |
---|---|
20241215 회고 - 잠시 쉬어갔던 한 주 (2) | 2024.12.15 |
20241124 회고 - 소마가 끝난 후 (2) | 2024.11.24 |
20241103 회고 - 빙글빙글 돌아가는 취준생의 일주일 (6) | 2024.11.04 |
20241027 회고 - 균형 잡힌 CPU 프로세스 스케줄링 하기 (0) | 2024.10.27 |