이성훈의 매거진

개발자의 성장을 가속화하는 방법

이성훈

2020.11.26 09:00
  • 1294
  • 콘텐츠에 ‘좋아’해줘서 고마워요 -
    1
  • 0

개발자의 성장을 가속화하는 방법 

저희 회사의 직급 체계를 정리해봤습니다

 

 

인썸니아의 목표

저희 회사의 소개말은 '스타트업 전문 개발사' 또는 '스타트업 플랫폼 개발사'입니다. 일반적으로는 외주 개발사의 카테고리에 들어갑니다. 하지만 저희의 지향점은 단순한 외주 개발사를 넘어서 '창업자의 아이디어를 실현해주는 회사'가 되는 것입니다. 스타트업 플랫폼 개발은 실제로 개발 단계에서 많이 실패합니다. 저희 회사는 실패하지 않는 효율적인 개발 방식을 연구하고 시도하면서 개발자 개개인의 숙련도를 빠르게 끌어올리고 다양한 구현 경험을 회사의 자산으로 내재화하고 자동화하면서 스타트업 플랫폼 개발에 있어서는 독보적인 회사가 되고자 합니다.

 

직급 체계

저희 회사 직급 체계는 본부장과 팀장, 팀원, 인턴으로 나뉘어 있습니다. 2개의 개발 본부가 있고 각 본부에 2~3명의 팀장님이 계십니다. 인턴으로 입사해서 트레이닝이 끝나고 프로젝트에 투입되는 시점이 되면 팀에 소속되어 팀원이 됩니다. 현재 각 팀에 1~2명의 팀원이 있는 상태이고 3~4명까지 구성할 수 있는 여유가 있습니다.

 

인턴의 역할

대학별 인턴십이나 ICT 인턴십으로 인썸니아에서 근무를 시작할 수도 있고, 학생 신분으로 주 3일 정도 파트타임 근무를 하는 것도 인턴 단계라고 볼 수 있습니다. 인턴 단계에서 트레이닝 과제를 성실히 수행하고 빠르게 개발에 익숙해지는 것이 중요합니다. 이 때는 개발자 커리어 시작이라는 중요한 단계이므로 퇴근 후나 주말까지도 개인적으로 개발 공부를 하는 것을 추천합니다. 인턴 과정은 개개인의 성장에 따라 1달 만에 졸업하기 하고 2개월 이상 걸릴 수도 있습니다.

 

인턴을 빨리 졸업하고 팀원으로서 프로젝트에 투입되는 시기가 앞당겨질수록 다양한 실제 프로젝트 개발 경험을 먼저 할 수 있고 빠르게 숙련도를 높일 수 있습니다. 인턴 기간이 2개월 이상 길어지면 회사에서는 학습이 더디다고 판단하여 팀원으로의 전환 여부를 고민하게 됩니다. 인턴 기간 동안 빠르게 실력 향상을 하고 기본적인 웹 개발이 익숙해지도록 훈련하는 데 집중해야 합니다. 이 기간 동안 딥러닝 등 다양한 기술을 구경하거나 레일즈 외에 다른 프레임워크를 건드려보는 것은 그다지 도움이 되지 않습니다. 이런 것들은 기본적인 구현에 대한 숙련도가 쌓인 후 팀장/본부장 직급이 되었을 때 충분히 할 기회가 생깁니다.

 

팀원의 역할

인턴이 2개월가량 훈련을 하여 프로젝트에 투입되게 되면 팀원이 되어 보조 개발 역할을 맡게 됩니다. 팀장님으로부터 테스크를 할당받아 기능을 구현하고 피드백을 받으면서 개발에 익숙해집니다. 이 때는 혼자서 임의대로 구현하기보다는 구현 방향을 먼저 고민해서 팀장님에게 확인을 받고, 구현 과정에서도 자주(3~4시간에 한 번 이상) 검토를 받아 구현 방향과 방식이 맞는지 점검하는 것이 중요합니다. 

 

중복되는 뷰 코드가 있지는 않은지, 이해가 잘 되지 않는 코드를 복붙해서 사용하고 있지 않은지, 다른 상황에서 테스트하면(가령 로그인이 필요한 기능인데 비로그인 상태에서) 오류가 나지 않는지, 테스트를 위한 임시 코드를 제대로 지웠는지 등을 스스로 점검하면서 팀장님의 지시대로, 고객사의 의도대로 구현을 해나가도록 합니다. 협업 과정에서 지시사항을 제대로 수행하지 않는다던지 코드가 지저분하고 단순한 실수를 너무 많이 한다던지 할 경우에도 좋지 않은 평가를 받을 것입니다. 

 

팀장의 역할

현재 팀장님들은 인턴으로 시작해서 약 1500~3000시간을 근무하셨습니다. 한 달에 업무 시간이 160시간가량 되기 때문에 1년 ~ 2년의 풀타임 근무로 볼 수 있습니다. 현재 인턴/팀원분들도 이 정도 시간이 되면 팀장의 역할을 하시게 될 것입니다. 팀장님이 되면 프로젝트 메인 개발자가 되어 고객사와 직접 소통하면서 프로젝트를 관리하고 핵심 부분을 개발하는 역할을 하게 됩니다. 

 

더불어 구현이 간단하거나 UI를 만드는 것처럼 팀원이 충분히 할 수 있는 기능을 팀원에게 테스크로 할당해야 합니다. 이때 해당 팀원이 아직 프로젝트 협업에 익숙지 않다면 구현 상황을 자주 질문하고 팀원에게도 구현 과정에서 미심쩍은 부분을 팀장에게 자주 질문하도록 독려합니다. 코드를 같이 보고 더 좋은 코드를 작성하는 방법을 같이 고민하거나 개선안을 제시하여 팀원이 빠르게 성장할 수 있도록 돕습니다. 디자이너, 퍼블리셔와의 협업을 위해 일정을 조율하고 고객사의 요구사항을 전달하는 것도 팀장의 역할입니다. 

 

팀장은 프로젝트의 전반적인 부분을 모두 파악하고 고객사와 소통하지만 본인이 구현해보지 않은 기능이나 고객사가 요구하거나 질문한 사항에 대해 본인이 답변하기 어려운 경우 본부장에게 보고하고 어떻게 대처할지 같이 논의해야 합니다. 경험해본 적이 없는 불확실한 상황에서 임의로 고객사에게 답변을 하기보다는 '확인해보고 말씀드리겠다'라고 기다리게 한 후 본부장님이나 대표님과 같이 이야기해보는 것이 좋겠습니다. 상위 직급에게 적절한 타이밍에 보고하고 질문하는 것도 팀장의 중요한 역할입니다. 


본부장의 역할

현재 본부장님들은 3000~4000시간을 근무하셨습니다. 2~3년의 기간이고 본부장님들도 인썸니아에서 인턴부터 시작하셨기 때문에 현재 인턴/팀원들도 비슷한 기간 비슷한 경험을 하면서 본부장급으로 성장하실 수 있으실 겁니다. 본부장이 되면 본부별 프로젝트 진행 상황을 팀장님들과의 대화를 통해 파악하고 있어야 하고 프로젝트를 앞으로 얼마나 수주해야 할지, 신입 개발자를 얼마나 더 채용해야 할지 대표와 함께 논의합니다. 

 

팀장급이 경험해보지 못한 구현 요청사항에 대해서 본부장급이 기술적으로 백업을 하거나 R&D를 함께 합니다. 더불어 전체 프로젝트의 골격이 되는 사전 구축 모듈을 리팩토링하여 퍼포먼스가 더 좋게, 개발이 더 효율적으로 개선될 수 있게, 고객사에서 자주 요구하는 더 다양한 기능을 미리 구축해놓고, 더 난이도가 높은 기술을 미리 조사/실험해두는 등 인썸니아가 기술적으로 뒤처지지 않도록 대비합니다. 

 

어떤 개발자가 회사에 잘 적응하고 빨리 성장하는지 오랜 기간 지켜봐 왔으므로 채용 과정에서 본부장이 서류 및 면접에 참여하며 의사 결정을 함께 합니다. 회사가 더 빠르게 더 안정적으로 성장하려면 어떻게 해야 할지 회사를 어떤 분위기로 만들어갈지도 함께 의논합니다. 

 

대표의 역할

회사를 브랜딩 하기 위해 글을 쓰고 인터뷰를 하고 온라인 광고를 돌리는 등 회사를 홍보하는 역할을 합니다. 그리고 신규 고객 문의에 응대하고 고객사의 성향과 프로젝트의 위험도 등을 파악하여 수주할지 여부를 결정하고, 계약과 세무, 행정, 인건비 지급이나 고객사 비용 청구 등 개발 외의 대부분의 업무를 수행합니다. 회사 수주 상황이 좋지 않다면 대표이사가 좀 더 열심히 일해야 한다는 의미이기도 합니다. 동시에 16년 차 개발자로서 CTO의 역할도 병행하고 있는데요, 본부장급도 아직 경험하지 못한 기술 이슈나 복잡한 설계 등은 제가 함께 논의하기도 하고, 회사의 기술적이고 경영적인 발전 방향에 대해 가장 많이 고민하는 사람이기도 합니다.  

 

개발자로서의 성장

저희 회사에서는 스타트업 프로젝트를 온전히 개발하는 경험을 여러 사이클 반복할 수 있으면서 1년 후에는 팀장으로서 팀원들을 관리하는 역할, 2년 후에는 본부장으로서 팀장들을 관리하는 역할을 하게 됩니다. 인썸니아에서 1년 이내로 근무하셨던 분들도 카카오, 네이버, 하이닉스, KT 등 대기업이나 유명 스타트업에서 잘 취업하셨습니다. 인썸니아 경력증명서를 과거에 근무하셨던 분들에게 보내드렸습니다. 

 

2년 전에는 근무 기간도 짧고 퇴사율이 높아서 다른 회사로 많이 가셨는데 점차 회사 조직구조도 안정적이 되고 개발자분들의 숙련도 향상도 눈에 띄게 좋아지고 급여 체계도 꽤 공격적이기 때문에 1년 이상 장기 근무해주시는 분들이 늘고 있습니다. 올해에는 인턴 단계에서 근무를 종료하신 분들 외에는 퇴사하신 분이 없네요.  

 

많은 돈을 지불하는 고객사의 프로젝트를 개발하는 것이다 보니 일반적인 회사들보다는 업무 긴장도가 있지만 개발 실력을 키우는 데는 가장 좋은 환경입니다. 혼자서 삽질하면서 성장하는 것이 아니라 올바른 소통과 협업, 그리고 풍부한 회사 경험을 바탕으로 성장하는 것이라 올바른 성장 환경을 제공한다고 생각하고요. 제가 인썸니아 설립 전에는 6개의 스타트업(이 중 4개가 투자유치)에서 8년간 개발자로 일해왔기 때문에 다양한 개발자들과 일해보았는데, 저희 개발자분들이 동일 경력의 개발자와 비교해 2배 이상에 해당하는 숙련도를 갖고 있다는 것을 체감상 알고 있습니다.  

 

야근을 권장하지 않고 월평균 160시간 근무, 재택근무, 자율 출퇴근을 권장하면서 근무한 시간만큼 급여를 지급하고 매월 급여가 인상되는 정책으로 근무 조건이 계속 개선되고 있어서 대형 스타트업이나 대기업과도 근무 조건을 견줄 수 있게 되었습니다. 좋은 분들이 인썸니아라는 회사에 관심을 가져주시기를 바라고, 이미 인썸니아 소속인 분들은 최대한 오래 근무해주시기를 바라는 마음에서 저희 회사에서의 커리어 성장에 대해 글을 정리해보았습니다.  

  • #개발자
  • #인썸니아
  • #직급체계
  • #스타트업
  • #직급역할