구성원의 성장은 문화가 좌우합니다.
① 버즈빌의 개발자가 성장하는 방식을 공유하는 글입니다.
개인적으로 이렇게 문화적으로 직원 한명 한명의 성장을 지원하는 회사에서는 자신의 의지와 노력 만큼 성장의 속도를 만들어 낼 수 있다고 생각합니다.
가끔 제게 연락을 주저하시는 분들이 계십니다. 그때 전달하는 제 메시지는 이렇죠. “성장은 저를 배려하기 보다 OO님이 욕심을 내야해요. OO님이 궁금한 거, 모르는 거 무엇이든지 먼저 두드려야 해요. 만약 제가 시간이 없을 때 연락을 받게 되면 시간 날 때 연락을 할 거에요. OO님의 성장에 대한 욕심은 상대방이 용인하는 수준까지 입니다.” 라고요.
② 많은 조직에서 리더분들은 ‘우리 직원들이 성장하려고 노력하지 않는다,’ 라고 이야기 합니다.
그런 사람들도 있다고 생각합니다. 그렇다면 그것은 채용에서 그들을 SCREENING OUT 하지 못한 채용의 실패입니다. 만약 우리 회사가 성장하려고 노력하는 문화를 가지고 있는 회사라고 알려져 있다면 성장하지 않으려고 하는 사람들이 지원할 수 있을까요? 저는 성장하지 않는 문화가 자리잡고 있다면 우리 회사의 문화에서 부터 시작하라고 이야기 드리고 싶습니다.
③ 사람들마다 성장하는 방법은 다양합니다. 하지만, 우리가 놓치지 말아야 하는 성장의 원리는 있습니다.
1) In put : 일하는 방식과 개념, 이론에 대한 학습이 선행되어야 합니다. 이때 지속해서 새로운 지식, 복잡한 지식을 학습해야 합니다.
2) Feedback : 내가 하고 있는 일의 방법과 결과에 대해 다른 관점을 가진 사람들로 부터 그들의 관점에서 의견을 받을 수 있는 환경이 있어야 합니다. 만약, 나와는 다른 경험과 지식을 갖춘 전문가들이 많은 조직에서 피드백을 솔직하게, 언제든지 주고 받을 수 있다면 성장을 위한 최적의 환경이라고 할 수 있습니다.
3) Case : 내 경험 이외에 다양한 경험들을 공유 받을 수 있는 시간이 있어야 합니다. 자신의 생각, 서로의 성공 / 실패 사례를 끊임없이 공유 받을 수 곳이 있다면 그곳에서의 성장 속도는 내가 시간을 얼마나 성장에 사용하느냐에 달려 있습니다.
4) Out put : 실제 내가 배운 것을 업무에 적용하면서 결과물을 만들어 낼 수 있는 환경이어야 하고, 내가 알고 있는 지식과 경험을 누군가에게 가르치거나 공유할 수 있는 환경이 제공되어야 합니다. 마지막 4번째 out put에서는 공유하는 사람이 자신의 지식과 경험을 공유하며 더 많은 것을 얻게 됩니다. 나의 경험을 다른 사람들에게 적용할 수 있는 학습이 되기 때문입니다.
④ 아티클에서 버즈빌은 다양한 성장의 방법을 사용하고 있습니다.
1) 온보딩 : 본적으로 동료 엔지니어나 온보딩 담당자가 전체적인 구조를 공유하는 세션을 진행하고 있으며, 스스로 학습할 수 있도록 필독 서적을 선정하여 제공하고 있습니다. 온보딩 과정을 통해 기반이 되는 지식을 쌓은 후에는 팀에서 진행하는 프로젝트나 내부적으로 관리하는 개발자 스킬 로드맵을 통해 우선순위를 정하여 기술 스택을 학습하게 된다고 합니다. (책 3권 Clean Architecture: A Craftsman’s Guide to Software Structure and Design (Robert C. Martin) , Domain-driven design (Eric Evans) , Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems (Martin Kleppmann)
2) 개발 과제 참여 (설계 문서 작성 및 개발 및 배포까지 진행)
팀에서 담당하는 다양한 프로젝트에 참여하여 개발 과제를 진행하면서 항상 설계 문서(Design document)를 작성하는 것을 원칙으로 하고 새로운 개발자가 기존 서비스에 기여하게 되는 경우 설계 문서를 통해 해당 서비스의 목적이나 역할에 대해 쉽게 파악할 수 있습니다. 또한 서비스 설계 과정에서 구조적으로 고민했던 부분이나 엔지니어링 관점의 선택에 대한 히스토리를 쉽게 파악할 수 있기 때문에 동료 엔지니어의 경험을 자연스럽게 공유 받을 수 있고, 엔지니어링 역량을 키우기 위한 기반을 쌓을 수 있다고 합니다.
3) 코드 리뷰 : 개발 과제를 진행하고 변경사항을 반영하기 전에는 항상 경험이 풍부한 동료들로 부터 코드 리뷰 과정을 받습니다.
4) 개발 세미나 : 일주일에 한 번씩 개발 세미나를 통해 관심있는 주제나 진행했던 과제에 대한 경험을 공유하고 있습니다.
5) 그룹 활동 : 자율적으로 그룹에 참여하여 동료와 함께 관심 분야에 대한 역량을 키울 수 있다고 합니다. 이 글에서는 3개의 팀을 소개해 줍니다. DevOps Edge (SRE, Cloud Native ) Data Engineering Edge (데이터 처리 및 분석) Scalability Edg (대용량 트래픽, Scalability)
⑤ 개인적으로 회사가 성장의 기회와 리소스를 제공해 주는 것은 복지라고 생각합니다.
성장은 결론적으로 행동으로 옮겨져야 하기 때문에 아무리 기회를 준다고 하더라도 내가 받아들이고, 실행하지 않으면 시간과 돈 낭비가 되어버리거든요. 그런데 조직의 문화가 성장에 맞춰져 있다면? 만약 함께 일하는 동료들이 성장을 중요한 가치로 여기며 시간과 리소스를 투자하고 있다면? 저는 그 조직에서의 1년, 3년, 5년은 그보다 더 큰 가치를 나에게 가져다 준다고 이야기 드리고 싶습니다. ‘최고의 복지는 성장하고자 노력하는 최고의 동료들과 함께 하는 것’ 입니다.
[참고 기사]
버즈빌 신입 개발자는 이렇게 성장합니다