유남주(가명)님은 회사에서 하드 스킬을 계발하기 어려워 고민된다며 멘토링을 신청해왔습니다. 유남주님이 이제 갓 2년차에 접어들었다는 점이 신경쓰였습니다. 경력 2~3년을 채우면 과감하고 저돌적이며 자신만만하게 하드 스킬을 뽐내는 시기를 일정 시간 보내는 경우가 많거든요. 2년차이니 '그 시기'에 접어들기엔 조금 이르지만, 성장 욕구가 강하면 일찍 그 시기가 오기도 합니다.
저 스스로 말 많은 꼰대 아저씨가 되지 않도록 신경쓰며 이야기를 나눠보니 저라도 같은 고민을 하겠더라고요. 게다가 학습 의지와 성장 욕구가 강해서 고민이 더 깊었겠구나 싶었습니다.
멘토링
하드 스킬을 키우기 어려운 환경
2년차 백엔드 개발자인 유남주님은 기업체를 대상으로 컨설팅을 하는 스타트업에 근무합니다. 소프트웨어 엔지니어는 총 세 명으로 프로젝트를 하나씩 전담하고 있지요. 유남주님은 컨설팅 의뢰 건을 전담 컨설턴트에게 자동으로 배정하고, 컨설턴트는 컨설팅 일정과 계획을 입력하고 관리하는 프로젝트를 맡고 있습니다.
유남주님은 빠르게 실무에 적응하여 수습 기간이 끝나자마자 현 프로젝트를 전담하게 되었습니다. 실무에서 애플리케이션 서버 개발은 처음이고, 서버 배포와 프론트엔드는 처음 해보는 작업이라 처리하기 바빴습니다. 빠르게 지나쳐가는 시간이 이제는 다가오는 것처럼 느낄 즈음, 유남주님은 프로젝트를 수행하며 배우는 게 더이상 없다는 걸 깨달았습니다.
사업 모델 특성 상 사용량이 많거나 복잡한 비즈니스 로직은 거의 없었습니다. 제품 설계자나 관리자 없이 기획, UI 디자인는 개발자가 알아서 처리하고요. 컨설턴트는 늘 바빠서 회의 자리를 마련하기 어려워서 개발자가 눈치껏 개발한 다음에 컨설턴트에게 피드백을 받아 고치는 식으로 협업이 이루어졌습니다. 피드백 중 상당 수는 UI 요소의 색상이나 크기 조정입니다. 제품의 UX/UI는 불편했지만, 컨설턴트들은 불편한 UX/UI에 기민하게 적응하고는, UX/UI를 개선하여 발생하는 변화 자체를 불편해 했습니다. 한 번은 관심을 갖고 공부한 작업대기열을 프로젝트에 적용하자고 개발 리더에게 유남주님이 제안했습니다. 개발 리더는 꼭 필요한 기술은 아니니 적용하지 말라고 했다 합니다.
이직하기엔 안정하지도 안전하지도 않은 채용 시장
유남주님은 이직할 수 있을지 확신이 없었는데, 저도 같은 의견이었습니다. 멘토링을 한 시기는 채용 시장이 얼어붙어 있었는데, 신입이나 그에 버금가는 년차는 취업하기 더 어려웠거든요. 유남주님은 이제 갓 2년차 경력을 시작했는데, 연차가 짧기도 하지만 근무 기간이 괜한 편견을 불러일으킬 소지가 있었습니다.
그에 반해 근무하는 회사는 하드 스킬 성장 가능성을 제외하면 근무 환경이 괜찮았습니다. 저는 주로 세 가지 문제 중 두 가지를 만족하면 이직을 하는 게 좋다고 권하는데요.
-
급여가 불안정한가
-
일주일에 3일 이상 야근을 하는가
-
배울만한 사수가 없거나 성장을 기대하기 어려운가
유남주님이 근무하는 회사는 세 번째 문제만 만족하며, 급여와 정시 퇴근은 문제가 없었습니다. 저는 세 번째 문제를 해결하거나 해소하는 것이 이직하는 것보다 더 도전해볼만한 문제라 생각했기 때문에 당장 이직하는 건 권하지 않았습니다.
자, 그럼 세 번째 문제를 부러뜨려 봅시다.
회사에서는 소프트 스킬을 계발하자
유남주님이 근무하는 회사는 유남주님 입장에선 소프트 스킬을 키우는 데 아주 좋은 환경이었습니다.
유남주님은 대화, 협상 등 소프트 스킬이 다소 부족했습니다. 어떤 주제에 꽂히면 상대방이 말 한 마디 할 엄두도 못낼만큼 몰입해 5분, 10분을 혼자 이야기하기도 했습니다. 또한 고객 관점에서 문제를 접근하는 데에도 서툴러 보였습니다. 그래서 2년차이지만, 어쨌든 현 시점에선 소프트 스킬이 부족했습니다.
개발 리더는 설득(?) 가능해 보였습니다. 만약 기술 스택을 추가했다면, 그 기술 스택을 도입하여 전담하던 사람이 퇴사할 경우 그 기술 스택은 잠재된 문제이자 병목 요인이 될 가능성이 큽니다. 개발팀도, 회사도 작고, 개발자가 끌리지 않는 도메인과 사업 모델이면 개발자를 채용하기도 어렵고, 이탈을 막기도 어렵습니다. 유남주님이 근무하는 회사가 바로 그런 회사에 해당했고, 실제로 개발 리더는 이 회사에서 여러 개발자를 맞이하고 떠나보내는 일을 자주 겪었습니다. 개발 리더는 각 개발자가 프로젝트를 하나씩 전담하는 상황이라 프로젝트의 기술 스택을 가능한 한 늘리지 않고, 전체 프로젝트의 기술 스택은 최대한 동일하게 유지하려 애쓰는 것 같았습니다. 그런 환경에 관한 게 아닌 주제에 대해서는 꽉 막힌 사람은 아닌 것 같았고요.
컨설턴트들은 유남주님 입장에선 고객입니다. 컨설턴트들은 개발팀과 협업해본 경험이 없었고, 개발팀도 컨설턴트와 협업해본 경험이 없었습니다. 유남주님이 고객이 겪고 있는 문제 해결에 초점을 맞추지 않은 상황을 유남주님이 이야기 해주는 사례에서 여러 번 발견했습니다. 고객 입장에선, 더 정확하게는 직업이 컨설턴트인 고객 입장에선 일리있는 요구 사항도 많았습니다.
시니어 개발자 중에 소프트 스킬이 부족한 사람은 많지만, 주니어 개발자는 더 많습니다. 소프트웨어 엔지니어로서 사회 경험이 부족하니 당연합니다. 이런 건 경험하며 능력을 키우면 됩니다. 그런 점에서 유남주님이 근무하는 환경은 여느 주니어보다 소프트 스킬을 단단하고 빠르게 키우기 좋습니다.
개인 프로젝트로 하드 스킬을 계발하자
유남주님이 가장 목말라하는 하드 스킬은 회사 밖에서 키우길 제안했습니다. 유남주님은 회원이 3천여 명 정도 되는 메신저 기반 커뮤니티에서 활동하고 있었습니다. 회원들이 활발하게 활동하는데 운영진이 커뮤니티 운영하느라 힘들어하고 있다고 합니다.
“운영진의 품이 많이 드는 일을 처리해주는 봇(bot)을 개발하는 건 어때요? 유남주님이 원하는 수준의 트래픽은 아니지만, 이 커뮤니티에서 발생하는 트래픽 정도를 경험해보는 건 처음이잖아요. 더구나 메신저 기반이라 이용자 수 대비 트래픽은 더 많을 거예요.”
유남주님이 눈을 반짝입니다.
“가용성 뿐만 아니라 구현체가 봇이라서 구조나 설계에 대해 생각할 요소가 많아요. 봇이 반응하는 규칙이나 상태 관리 등이 대표적이죠. 그리고 이 커뮤니티 특성 상 서버 비용이 넉넉하진 않을 것 같으니, 서버 자원 관리도 신경써야 하죠. 게다가 이 프로젝트도 고객이 아주 가까운 곳에 있어서 더 좋네요.”
아직 소프트웨어는 세상을 바꾸고 있는 중 이고, 소프트웨어로 내 환경을 바꿀 수 있다는 인식조차 하지 못하는 경우가 여전히 많습니다. 소프트웨어 엔지니어로서 세상에 기여할 크고 작은 것이 굉장히 많은 거죠.
하지만, 이는 어디까지나 개인 프로젝트이며, 이력서에서 경력으로 힘을 발휘하기엔 부족합니다. 회사보다 개인 프로젝트를 더 중요시 여긴다는 오해를 자칫 일으킬 수도 있고요. 회사 프로젝트에서 하드 스킬을 성장시킬 방법과 대상을 찾아야 합니다. 예를 들어, 개발자 경험(DX, Developer eXperience)이 좋지 않으니 개발자 경험을 증진시킬 작은 요소부터 시작해 점진적으로 바꿔나가는 겁니다. 기술 스택을 늘리는 게 아니므로 개발 리더도 수용할 가능성이 큽니다.
그래도 프로젝트 자체가 하드 스킬을 키우는 데 한계를 벗어나지 못한다면, 이직을 결정해야 합니다. 이제 2년차 경력을 시작했으니 아직 시간과 기회는 있습니다. 고립되지 않게 기술 생태계를 예의 주시하고, 회사 안밖에서 하드 스킬을 키우며 기회를 만들어 가는 게 좋아 보입니다.
마치며
멘토링 주제가 주제이니만큼 굉장히 조심하며 대화를 나눴습니다. 감정 이입하지 않으려 애썼고, 유남주님의 상황과 회사 상황에 관한 것이라면 아무리 소소한 것일지라도 단서로 갈무리하려 평소보다 더 경청했습니다.
유남주님은 현재 자신은 성장할 게 많은데, 하드 스킬 성장에만 초점을 맞추고 있었다는 걸 깨달아서 다행이라고 했습니다. 그 말을 들으며 벌써 성장이 시작된 것 같다고 하자, 유남주님은 멋쩍게 웃었습니다. 좋네요. 한결 편안해진 미소를 보니 저도 긴장이 풀립니다.
🚨 본 컨텐츠에 등장하는 인물 중 글쓴이를 제외한 모든 인물의 이름은 가명이며, 지명, 시간, 단체나 기관, 사건은 각색하고 창작하였습니다. 일부라도 비슷하거나 겹치는 경우는 우연히 일치하는 것이니 이 점, 양지해주시길 바랍니다. 🚨