버즈빌 신입 개발자는 이렇게 성장합니다

Image not Found

안녕하세요, 버즈빌 Ad Display 팀의 Claud입니다.

갓 커리어를 시작한 주니어 개발자라면 앞으로 엔지니어로서 어떻게 성장할 수 있을지에 대해 이런저런 고민이 많을 것 같습니다. 최근 저희 팀에 새로 합류한 개발자가 빠르게 성장하는 모습을 바라보며 버즈빌에서 신입 개발자가 어떻게 성장하는지 공유해보려 합니다.

온보딩 - 시작

버즈빌에 새로 합류한 개발자는 버즈빌의 소프트웨어 아키텍처와 기술 스택에 익숙해질 수 있도록 온보딩 과정에 참여합니다. 기본적으로 동료 엔지니어나 온보딩 담당자가 전체적인 구조를 공유하는 세션을 진행하고 있으며, 스스로 학습할 수 있도록 필독 서적을 선정하여 제공하고 있습니다.

추천 서적을 통해 비즈니스 요구사항을 빠르게 달성하면서도, 관리가 용이하고, 확장 가능하며, 안정적인 소프트웨어를 작성하기 위한 원리와 기반 지식을 학습할 수 있습니다.

저자
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

온보딩 과정을 통해 기반이 되는 지식을 쌓은 후에는 팀에서 진행하는 프로젝트나 내부적으로 관리하는 개발자 스킬 로드맵을 통해 우선순위를 정하여 기술 스택을 학습하게 됩니다.

개발 과제 - 설계부터 배포까지

버즈빌 개발자들은 팀에서 담당하는 다양한 프로젝트에 참여하여 개발 과제를 진행합니다. 버즈빌의 시스템은 마이크로서비스 아키텍처(MSA, Microservice Architecture)로 구성되어 있기 때문에 새로운 비즈니스 요구사항이 발생하는 경우 다양한 마이크로서비스에 기여하게 됩니다.

마이크로서비스를 개발하는 과정에는 항상 설계 문서(Design document)를 작성하는 것을 원칙으로 하고 있습니다. 새로운 개발자가 기존 서비스에 기여하게 되는 경우 설계 문서를 통해 해당 서비스의 목적이나 역할에 대해 쉽게 파악할 수 있습니다. 또한 서비스 설계 과정에서 구조적으로 고민했던 부분이나 엔지니어링 관점의 선택에 대한 히스토리를 쉽게 파악할 수 있기 때문에 동료 엔지니어의 경험을 자연스럽게 공유받을 수 있고, 엔지니어링 역량을 키우기 위한 기반을 쌓을 수 있습니다.

신규 마이크로서비스를 개발하는 경우에는 개발자가 서비스 설계부터 개발, 배포 과정까지 오너십을 가지고 진행하고 있습니다. 단순히 코드를 작성하는 것을 넘어, 스스로 문제에 대해 고민하고 해결 방법을 찾아가는 과정을 경험할 수 있습니다.

개발 과제를 진행하고 변경사항을 반영하기 전에는 항상 코드 리뷰 과정을 거치고 있습니다. 신입 개발자들은 리뷰 과정에서 좋은 코딩 스타일이나 효율적인 코드를 작성하는 방법에 자연스럽게 익숙해지게 됩니다. 또한 경험이 풍부한 동료들의 리뷰를 통해 아키텍처나 구조에 대해 한번 더 고민할 수 있는 기회가 되기도 합니다.

코드 리뷰

개발 세미나 - 경험 공유의 장

버즈빌 개발자들은 일주일에 한 번씩 개발 세미나를 통해 관심있는 주제나 진행했던 과제에 대한 경험을 공유하고 있습니다. 새로운 기술이나 깊이 알지 못했던 영역에 대한 지식을 얻거나, 동료들이 문제를 해결하는 과정에서 어떤 고민을 하고 어떤 선택을 했는지 생각해볼 수 있습니다. 또한 세미나 프리젠테이션을 진행하는 경우, 준비 과정에서 발표 주제에 대해 더 깊게 이해하게 되고, 효과적으로 정보를 전달하기 위한 방법에 대해 고민해볼 수 있는 계기가 됩니다.

그룹 활동 - 전문가로의 성장 발판

버즈빌에서는 같은 관심사를 가진 개발자들 간의 그룹 활동이 활발하게 이루어지고 있습니다. 신입 개발자는 자율적으로 그룹에 참여하여 동료와 함께 관심 분야에 대한 역량을 키울 수 있습니다.

Developer’s Edge 프로그램은 기존에 담당하는 직무를 넘어서 새로운 스킬셋을 갖추기 위한 목적으로 많은 개발자들이 참여하고 있습니다. 현재 다음과 같은 edge 팀이 운영되고 있으며 각 팀에서는 공통 관심사에 관하여 스터디를 하거나 관련 업무를 나누어서 수행하는 등 다양한 활동을 진행하고 있습니다.

관심 분야
DevOps Edge SRE, Cloud Native
Data Engineering Edge 데이터 처리 및 분석
Scalability Edge 대용량 트래픽, Scalability

Technical Expert 프로그램은 각각의 구성원에게 버즈빌에서 사용하는 다양한 기술에 대한 오너십을 부여하여 전문성을 유지하기 위한 목적으로 운영되고 있습니다. 각 분야의 Expert는 맡은 기술에 대해 지속적으로 학습하고, 구성원들의 기술 수준 향상을 위한 교육을 진행하는 등의 활동을 진행합니다. 대표적으로 Python, Golang expert 그룹이 활발하게 활동하고 있으며, 각 프로그래밍 언어에 대한 Best practice를 정리하거나 프로젝트 템플릿을 관리하는 등 많은 기여를 하고 있습니다.

마치며

이전에 작성했던 코드를 보고 있으면 뭔가 아쉽고, 다시 작성하면 더 잘 만들 수 있을 것 같다는 생각을 하곤 합니다. 부족했던 과거에 대해 반성하면서도 한편으로는 성장하고 있다는 사실에 안도하게 되는 것 같습니다.

어떤 분야든 성장을 위해서는 꾸준히 시간을 투자하여 다양한 경험을 쌓는 것이 중요합니다. 개인적으로는 주도적으로 문제를 해결하며 배우고 느꼈던 경험을 동료와 서로 공유하는 과정에서 자신이 가장 빠르게 성장할 수 있다는 생각을 가지고 있어서, 그만큼 함께 일하는 동료를 중요하게 생각합니다. 버즈빌에서는 함께 성장할 동료들을 찾고 있습니다.

버즈빌 개발자 지원하기 (클릭)

버즈빌 테크 리크루터와 Coffee Chat하기 (클릭)

You May Also Like

post-thumb

Pytest-bdd와 Selenium을 이용한 웹 UI 테스트 자동화

안녕하세요, 버즈빌 QA 매니저 Erica입니다. 버즈빌에서는 Dash라고 불리는 광고 관리 보드를 운영하고 있습니다. QA 파트에서는 이 중 광고주 대상 시스템 영역에 대해 웹 UI 테스트 자동화를 진행하고 있습니다. 이 글을 통해 현재까지 진행된 테스트 자동화 사례 …

Read Article
post-thumb

버즈빌 제품팀이 일하는 법 #1 - 고객 중심 전략

버즈빌에서 CPO를 맡고 있는 웨일입니다. 어느새 벌써 2021년이 훌쩍 흘러갔네요. 버즈빌에게는 정말 많은 시도와 회고, 성장이 있었던 한 해였습니다. 이번 시리즈를 통해 올 한 해 동안 버즈빌 제품팀이 제품과 비즈니스 성장을 위해 실행해 온 방식들을 소개해 보려고 …

Read Article