채용 공고는 지원자가 회사에 지원하기 전 가장 처음으로 접하는 관문이나 마찬가지이다. 지원자는 채용 공고를 통해서 그 회사의 현황, 개발 문화 등을 엿보며 이 회사에 지원해야 하는지를 고민해볼 수 있다. 하지만 현업자로서 채용 공고를 바라보는 시선은 어떨까? 이직의 신호탄이 될 수 있지만, 잘 정비된 채용공고는 내가 속한 회사의 개발 문화에 또 다른 자양분이 될 수 있다.
채용 공고의 구성
개인적으로 잘 쓰여진 채용 공고에는 3가지가 들어가 있어야 한다고 생각한다.
- 개발로서 달성해야하는 비즈니스적 목표
- 개발자가 현실적으로 작업해야 하는 기술적인 구성 인프라
- 개발자가 유연하게 일할 수 있도록 구성되어있는 사내 개발 문화
개발로서 달성해야하는 비즈니스적 목표
말 그대로, 개발자가 '개발로서 회사에 무엇을 기여할 수 있냐'는 것이다. 회사에서 일하는 개발의 궁극적인 목적은 비즈니스 목적 달성이라고 생각한다. 내가 하고 있는 작업이 무엇을 향하고 있는지 파악하는 것은 비즈니스의 목적 달성뿐만 아니라 동기부여 측면에서도 큰 비중을 차지한다고 느낀다. 잘 정비된 목표는 성취감뿐만 아니라 나와 회사의 성장에 더욱 다가서게 할 수 있다.
개발자가 현실적으로 작업해야하는 기술적 구성과 인프라
기술 스택과 같은 요소들이 응집되어있는 것이다. 일반적으로 이 기술적 구성과 인프라로 인해 내가 어떤 회사에서 일할 수 있는지가 많이 갈리게 된다. 보통은 언어와 프레임워크에만 국한되어 작성이 되는데, 어떤 목표를 위해 어떤 기술을 사용하는지 상세히 남길수록 회사에 기여할 수 있는 바가 더욱 명확해진다고 생각한다.
개발자가 유연하게 일할 수 있도록 구성되어있는 사내 개발 문화
최근에는 단순히 기술 스택 뿐만아니라 개발자가 성장할 수 있는 환경에 대해 목말라하는 것 같은 인상을 받는다. 개발 문화는 단순히 성장뿐만 아니라 일을 잘 굴러가게 하는 자양분이라고 생각한다. 땅이 비옥할수록 개발자가 일하기 좋은 환경으로 꽃 피울 것이기 때문이다. 단순히 개발 작업을 '업무'로서 끝내게 하는 것이 아니라 회사와 함께 동반 성장할 수 있는 것이라고 여겨진다.
이 세가지를 가운데에 두고 채용 공고를 관찰해보면, 사실 이 모든 것을 충족시키는 공고가 거의 없다. 대부분 기술 스택에 국한되어 개발자 인력 모집에 중점이 되다 보니, 어디를 가야 하는지, 어떻게 일할 수 있는지에 대한 그림이 명확하지 않은 경우가 대다수이다. 어쩌면 이런 가뭄의 단비 같은 공고 속에서 개인적으로 가장 인상 깊었던 채용공고는 바로 인프런의 백엔드 개발직군의 채용공고이다. 인프런의 채용 공고에는 이 3가지를 다 충족하고 있었다.
그럼 인프런의 개발 공고를 지금부터 뜯어보자.
인프런의 채용 공고
인프런 백엔드 팀이 달성하고자 하는 목표
여느 백엔드팀이 그렇듯 백엔드는 우선적으로 안정감있는 서비스 제공이 최우선이다. 인프런도 이와 같은 부분을 명시하였고, 이 목적을 달성하기 위해 TO가 발생했다는 것을 공유했다. 인상적이었던 것은 서비스의 과오라고 여길만한 '서비스 장애'에 대한 공유였다. 여느 서비스에서도 쓰라림을 겪은 부분에 대해서 채용공고에 오픈한다는 것은 정말 큰 용기라고 생각한다.
인프런의 개발 스택
개발자라면 다른 서비스에서 구성하고 있는 스택에 대해 여간 궁금해하지 않을 수밖에 없다. 개인적으로 나도 node.js를 쓰고 있기 때문에 무척이나 관심이 가는 부분이었다. 재미있는 점은 기존 서비스 구성 스택과 신규 서비스 구성 스택이 약간 차이가 있는 점인데, 이 부분을 보며 어떤 부분에 있어 기존 서비스 구성 스택에서 신규 서비스 구성 스택으로 이전하려고 하는지 고민 지점이 궁금해졌다.
또한 인프라 구성에 있어 어떤 DB를 사용하고 어떤 모니터링 툴을 쓰는지도 알 수 있었다. 그와 대비하여 비슷한 사이즈의 서비스는 어떻게 인프라를 구성해야하는지 엿볼 수 있었다.
인프런의 개발 문화
사실 그 회사가 일하는 방법은 직접 가서 일해보지 않는 이상 체감이 잘 안되는게 대다수이다. 어쩌면 지원자 입장에서 가장 복불복이 가장 큰 부분이 아닐까 싶은데, 이 부분에 대한 fit을 사전에 맞추기가 어렵기 때문이다. 이러한 문화에 공감이 되어야 신규 입사자 입장에서도 빠르게 온보딩을 할 수 있는 여지가 있기 때문이다. 인프런에서는 어떻게 일하는지를 어느 정도 공유하여 '이 회사에서는 어떤 것을 중요시 여기는가'에 대해 고찰을 해볼 수 있었다.
그럼 채용 공고로 부터 얻을 수 있는 점은 무엇인가?
채용 공고를 보고 적용할 수 있는 포인트는 두 가지라고 생각한다. 개인적인 관점과 조직적인 관점이라고 생각하는데, 각각 정리해보면 아래와 같다.
개인적인 관점
개인적인 관점에서는 내가 바로 시도해 볼 수 있는 것이거나, 다른 관점에서 내 업무를 조망해볼 수 있다.
- 내가 가보지 않은 길에 대해서 간접 체험해볼 수 있다.
- 커리어적으로 봤을 때 어떤 기술을 더 공부해야하는지에 대한 우선순위를 조율해볼 수 있다.
- 채용공고의 업무상을 통해 내가 현재 업무로서 문제를 풀고 있는 것과 그렇지 못한 것을 파악해 볼 수 있다.
조직적인 관점
우리 회사나 프로젝트에서 시도해볼 수 있는 것들이 구성되어있다.
- 인프라 구성을 엿보고 우리 회사의 인프라에서 부족한 점은 무엇인지 진단해볼 수 있다.
- 다른 회사의 문화를 엿보고 우리 회사에 도입을 제안해볼 수 있다.
- 다른 회사의 공고를 보고 우리 회사가 현재 어떤 방식으로 일을 하는지, 무엇을 중점 두는지 다시 한번 상기시킬 수 있다.
내가 인프런 공고를 보고 배운 점은?
인프런 공고에서는 무척 챌린징하는 요소들이 많아서 재밌었다. 한편으로는 끝이 없다고 느끼기도 했다.
개인적으로 도전해볼만한 것
- FP와 OOP에 대한 공부를 더 해서 각기 어떤 이점이 있는지 연구해봐야겠다.
- DI 패턴에 대한 사용과 왜 필요한지에 대한 공부를 해야겠다.
- 작업할 때 테스트 코드를 조금이라도 더 작성해야겠다.
- 내가 현재 하고 있는 업무들에 대해 얼마나 문서화되어있는지 살펴봐야겠다.
- 나는 다른 직군과 커뮤니케이션할 때 얼마나 그들의 언어로 이야기하고 있는지 되돌아봐야겠다.
- pub-sub 구조, 메세지큐 등의 경험을 조금이나마 해봐야겠다.
- 내가 짠 쿼리들에 대해 실행 계획을 확인해보고 튜닝을 해봐야겠다.
- 내가 개발하고 있는 아키텍처에 대한 이해도를 더 높여야겠다.
조직적으로 도전해볼만한 것
- 인프라 모니터링 툴의 도입이 필요하다. 인프런에서는 데이터 독을 쓰고 있다.
- 우리 회사 DB에 부하를 주고 있는 쿼리는 없는지 점검해보고, 슬로우 쿼리에 대한 대응을 해야겠다.
- 우리 회사의 장애 탐지-해결 시스템에 대한 점검을 해볼 필요가 있다.
- 조직 전반적으로 인력이 낭비되는 불필요한 업무가 있는지 확인해보고, 이를 자동화할 수 있는지 파악해봐야겠다.
- 신규 기능을 개발할 때 부하 테스트를 적용하여 성능 개선을 시도해봐야겠다.
- 소나큐브(SonarQube)가 뭔지 찾아보고, 우리 회사에서는 어떻게 코드 퀄리티를 보장할 수 있는지 확인해봐야겠다.
- AWS LocalStack에 대해 알아보고, 개인이 AWS 로컬 테스트를 하기 위해 해 볼 수 있는 방법이 무엇이 있는지 찾아봐야겠다.
이렇듯 잘 쓰여진 채용공고 하나만 봐도 시도해볼 만한 것들이 우후죽순 쏟아져 나오고 있다. 개인적으로 시도할 수 있는 부분들은 우선순위를 세워 나에게 적용을 해볼 수 있는 것들이지만, 조직적으로 도전해볼 만한 것들은 우리 회사의 상황에 맞게 적용해야 한다는 점을 상기시켜야 한다. 다른 회사가 이렇게 쓴다고 해서 우리 회사도 이렇게 쓰라는 방법은 무척 합리적이지 못하며, 자칫하면 회사의 비즈니스의 상황에 맞지도 않는 오버 엔지니어링을 할 수 있기 때문이다. 도입하기 이전에 '왜' 이렇게 쓰는지에 대해 한 번 더 고민하면 좋을 것 같다.
우리 모두 가지 않은 길에 대한 동경이 있다. 특히 개발을 하다보면 '이렇게 하는 것이 맞는 것인가?' 싶은 자기 의심에 갇힐 때가 있다. '내가 잘하고 있는가?'에 대한 의구심은 한도 끝도 없다. 이럴 때 간접 경험의 일환으로 채용 공고를 한 번 들여다보는 것은 어떨까? 꼭 이직의 목적이 아니더라도, 내가 가고자 하는 길의 나침반이 되어줄지도 모른다.
'에세이 > 일' 카테고리의 다른 글
3년차 백엔드 개발자의 이직기 (1) (3) | 2023.12.01 |
---|