1인분 하는 백엔드 개발자
일반적으로 1인분을 하는 개발자라고 하면 1MM이 나오는 개발자일겁니다. 한 사람 분량의 일을 주었을 때 일정이 안 밀리고 원활하게 진행하는 개발자. 체계가 잡힌 곳에서는 비교적 수월하게 양성할 수 있습니다
그러나 일부 스타트업이나 소규모 업체에서는 1인분의 범위를 입맛대로 재정의합니다. 사람이 없으니 혼자서 서비스 백단을 다 맡아야한다 하면서 이걸 혼자서 다 해내야 1인분이라고 합니다.
쉽게 다른 직종으로 비유해서 말하자면, 마케터를 뽑는데 우리회사는 작으니 이정도는 해야한다 하면서 기획, 영업, CS에 분석 까지 맡기려는 겁니다. 임기응변으로 그때 그때 쳐내는게 아니라 비전을 가지고 계획을 세우고 실행해야한다면 전략기획, 사업의 역량도 요구합니다
이정도면 뭐 환상종이죠. 이게 가능하면 이 친구가 사업을 차렸을 겁니다. 마찬가지입니다. 혼자서 서비스의 기술적 방향성을 정하고 설계를 하고 개발하고 장애대응과 유지보수가 가능한 사람은 쉽게 구하기 어렵습니다. 간단한 웹사이트의 api 서버나 만드는 거면 또 모르겠으나, 대규모 트래픽을 처리하기 위해 부하분산도 pubsub하고 무중단 서비스를 하기 위해 msa와 k8s도 도입하고, 빅데이터도 핸들링 하기위해 파이프라인을 짠다면 말이 백엔드이지 인프라와 데이터엔지니어 역량도 갖춘 인재입니다. 거기에 디도스나 해킹을 방어할 수 보안 역량은 말할 것도 없구요
이런친구가 스타트업 시장을 찾는다면 어딘가 CTO로 금방 자리 잡을 겁니다.
솔직히 이정도 역량은 고연차에서 찾기도 어렵습니다. 어느정도 운이 따라줘야하니까요. 평생 백오피스만 만들어서 대규모 트래픽은 경험조차 못한 경우도 많고, 경험하더라도 신규 구축 경험이 아니라 기존의 시스템에 유지보수로 들어가는 경우가 대부분입니다
설계 역량까지 갖추려면 최소한 신규 구축을 2~3번은 경험을 해야 하겠죠. 어떤 설계에는 어떤 취약점이 있을테고, 그게 개발 후 유지보수를 하니 이런 장애로 튀어나오고 이런 것을 예방하려면 다른 설계에서 고려를 해야하고.. 규모와 목적에 맞는 안정적인 아키텍처를 그릴 수 있는 역량은 경험하지 않고서는 공부한다고 쉽게 얻을 수 있는게 아닙니다
이정도 역량을 가진 분들은 어디서 무엇을 하고 있냐면 각종 컨퍼런스나 세미나에서 무슨무슨 팀장, 실장 혹은 CTO의 직함을 달고 자기네 구축 사례와 경험을 발표하고 있습니다
이런 분이 스타트업에 뜻을 가지고 온다면 정말 로또 맞는 느낌이겠죠? 어려운 일이다보니 보통은 이정도 역량을 가질 수 있는 떡잎을 찾아 키우는게 보다 현실적일 겁니다. 역량을 키울 수 있는 환경과 예산, 편의와 처우를 제공해야 합니다
예산을 적은 이유는 대규모 트래픽과 빅데이터를 처리하는 아키텍처는 유지비가 들어갑니다. 딸랑 서버 하나 임대해주면서 대규모 사용자가 붙는 서비스의 뒷단을 만들어내라는 건 지나친 욕심인 겁니다.
이런 것들을 제공할 수 있어야 진정한 의미에서 회사와 같이 성장할 수 있는 여건이 되는 거겠죠