2018 대한상공회의소
2018년 대한상공회의소 & 잡플래닛이 주최한 일하기 좋은 중소기업에 선정된 기업입니다.
2019 대한상공회의소
2019년 대한상공회의소 & 잡플래닛이 주최한 일하기 좋은 중소기업에 선정된 기업입니다.

기업정보

  • 기타 IT/웹/통신 산업
  • 중소기업 기업형태
  • 1,050명 (2020) 사원수
  • 2011.03.10 설립
  • 대표
    김봉진, 김범준
  • 매출
    5,611.3억 원 (2019)
  • 주소
    서울특별시 송파구 위례성대로 2 (방이동) 장은빌딩
  • 웹사이트
    http://www.woowahan.com/
  • 연혁
    1. -
  • 소개
    국내 1위 배달앱 배달의민족을 운영하는 ‘우아한형제들’은 '좋은 음식을 먹고 싶은 곳에서'라는 비전 아래, 배달이 안 되던 외식업소의 음식을 배달해주는 '배민라이더스', 음식업종 자영업자에게 좋은 품질의 배달용품을 합리적인 가격에 제공하는 '배민상회' 등으로 배달문화를 바꿔 나가고 있습니다. 또한 종합 '푸드테크' 기업으로 나아가기 위하여 해외시장 진출 등의 글로벌 사업과 자율주행 로봇 기술 개발 등의 미래사업으로 사업확장을 준비, 진행하고 있습니다.

    우아한형제들은 창업 초기부터 국내외 유명 투자사에게 가치를 인정받아 왔습니다. 세계적인 투자 은행 골드만삭스와 아시아 최대 규모 투자사 힐하우스 캐피털, 실리콘밸리에 기반을 둔 벤처캐피털 알토스벤처스 등으로부터 총 5천억 원 이상의 투자를 유치하였고 2018년 말, 기업가치가 3조원을 넘어서면서 '유니콘' 기업 지위를 공식화하였습니다.

    규율위의 자유ㆍ스타보다 팀웍ㆍ진지함과 위트ㆍ열심만큼 성과를 4대 핵심가치로 삼고 있는 우아한형제들은 ‘구성원을 행복하게 만들면 행복한 구성원이 더 좋은 서비스를 만든다’라는 믿음으로 모두가 즐겁게 일하는 회사를 만들어 가기 위해 오늘도 노력합니다.

기업 스토리8

이미지
인터뷰
2021 우아한형제들 경력 개발자 인터뷰 ①
송정훈 / 백엔드 개발자
좋은 것을 더 좋게! 우아한형제들의 도전은 오늘도 계속됩니다. 우아한형제들의 서비스를 더 가치있게 만들기 위해 대용량 트래픽과 대규모 인프라를 관리하며 도전하는 우아한형제들의 개발자분들, 그 중 다섯분을 인재영입팀에서 만나봤습니다. 들어가기 전에 안녕하세요 인재영입팀 입니다. 이번 직무인터뷰 과정을 통해 우아한형제들의 개발자는 어떻게 일하고 있으며, 또 어떤 도전 과제들을 수행하며 성장하고 있는지 그들의 성장 과정을 엿볼 수 있었습니다. 배민 개발자로서의 생활과 면접 꿀팁은 덤! ‘좋은 음식을 먹고 싶은 곳에서’ 의 서비스 가치를 만들어가는 개발자 다섯분의 이야기를 소개합니다. ∙ 금번 직무인터뷰는 방역 수칙을 철저히 준수하여 진행되었습니다. 우아한형제들에서 정훈님의 주요 역할과 일에 대해 소개해 주세요. 배민주문서비스팀의 백엔드 개발자로서 주문시스템의 개발과 운영 전반을 담당하고 있는 송정훈입니다. 먼저 제가 담당하고 있는 주문시스템에 대해서 좀 더 자세하게 설명해 드릴게요. 배달의민족에서 주문은 장바구니에서 “주문하기”를 누르셨을 때부터 시작됩니다. 사용자 입장에서 주문서를 작성하는 과정부터 결제 이후 보시게 되는 주문 완료 화면까지가 배달의민족 주문 서비스에 해당됩니다. 주문시스템은 이러한 서비스를 제공하고 체결된 주문을 다른 시스템에 전달하여 “좋은 음식을 먹고 싶은 곳에서” 받아보실 수 있도록 도와주는 시스템입니다. 우아한형제들이 성장하면서 주문이라는 도메인의 성격도 다양해지고 복잡해지고 있어요. 이렇게 복잡해진 주문을 시스템에 잘 녹여내고 안정적으로 운영될 수 있도록 설계하고 개발하며, 나아가 사용자들이 더 나은 주문 경험을 할 수 있도록 개선하는 역할을 하고 있습니다. 담당업무 소개 정훈님은 일하며 언제 보람을 느끼시나요? 저희 팀은 기획자와 백엔드, 프론트엔드 개발자가 모여서 함께 일하는 목적 조직인데요, 다양한 직군이 공통된 업무 목표와 방향성을 가지고 일을 할 수 있다는 장점을 가지고 있습니다. 팀에서 맡는 과제는 1년 또는 반기, 분기 단위로 주문 서비스의 기능 개선을 위해 선정하고 기획에서 과제에 대한 구체적인 목표와 요구 사항을 정리하면 개발자들이 업무별로 개발 과제를 세분화하여 개발을 진행하게 됩니다. 그리고 코드 공유 문화를 실천하고 있어서 개발 단계에서 나오는 설계와 코드들은 반드시 팀 동료들과 함께 리뷰하는 과정을 거치게 되는데 이 과정에서 오류를 사전에 발견할 수 있는 효과도 있지만 그보다 제가 더 긍정적으로 바라보는 것은 조직에서 함께 짠 코드에 대해 모두 책임감을 가지고 관리한다는 점입니다. 주문 서비스 과제 외에도 배달의민족은 하루에 수백만 건의 주문이 시스템으로 처리되기 때문에 주문시스템 개선 과제 역시 팀의 업무와 역할에 상당 비중을 차지하고 있습니다. 잠깐의 장애 상황에도 많은 배민 서비스 사용자와 사장님들이 큰 불편을 겪게 되는 만큼 무엇보다 시스템의 안정성을 높이기 위한 과제들이 많은 편이고 시스템 개선과제는 개발파트를 중심으로 진행되고 있어 개발자들간에 많은 아이디어를 제안하면서 주도적으로 시스템을 개선해 나가고 있습니다. 사실, 배달의민족 서비스에 주문은 민감하고 주요한 서비스이기 때문에 최대한의 영역에서 조금이라도 더 면밀하게 시스템을 모니터링하고 장애를 사전에 감지하여 예방하고자 하고 있는데요, 그럼에도 불구하고 장애가 발생했을 때는 같은 장애가 재발하지 않도록 반드시 원인을 분석하고 수정해나가는 과정을 거치고 있습니다. 실제로 작년에는 주기적으로 감지되는 시스템 이상 증상을 몇 주에 걸쳐 다른 팀과 협업해 원인을 분석하고 해결한 경험도 있었어요. 이러한 모든 경험들이 제 성장의 밑거름이 되고 있고, 나아가 서비스와 시스템을 더 단단하게 만든다는 점에서 큰 보람을 느끼고 있습니다. 기술에 관한 의견 우아한형제들에서 주로 사용하시는 백엔드 기술 스택과 개인적으로 선호하시는 기술에 대해 말씀 부탁드립니다. 우아한형제들에서 사용되는 기술 스택은 시스템별로 조금씩 차이가 있는데요. 팀원들이 함께 생산성, 신뢰성, 유지 보수성 등 다양한 관점에서 검토하여 결정하고 있습니다. 기본적으로 주문시스템을 비롯한 배달의민족을 구성하는 많은 시스템은 Java와 Spring + JPA를 사용하여 개발되고 있습니다. 따라서 배달의민족 백엔드 개발자 지원을 생각하고 계신다면 위 기술 스택에 대해서는 꼭 학습하시기를 추천해 드립니다. 데이터베이스는 MySQL과 같은 RDBMS를 사용합니다. 하지만 보통 하나의 저장소만을 사용하지는 않고 여러 형태의 폴리글랏 저장소를 사용하게 됩니다. 주문시스템도 더 빠르고 안정적인 서비스 제공을 위하여 Redis와 Elasticsearch를 사용하고 있으며 그 외에 다른 NoSQL 데이터베이스의 도입도 적극적으로 검토하고 있어요. 서비스가 급격히 성장하고 데이터 규모가 커짐에 따라 데이터를 적절한 형태로 설계하고 분산처리하는 데 많은 노력을 기울이고 있습니다. 여러 시스템 간 통신에는 HTTP API와 비동기 메시지 큐가 주로 사용되고 있습니다. 비동기 메시지를 주고받는 과정에서는 주로 AWS에서 제공하고 있는 SNS와 SQS를 많이 사용하는데요. 최근에는 SRE 조직에서 구축 중인 Kafka 클러스터를 사용하는 팀들도 늘어나고 있습니다. Java 외에도 Kotlin을 사용하는 팀들도 늘어나고 있고, 주문시스템도 API Gateway 구축에 Kotlin과 Coroutine을 활용한 논블로킹 모델을 사용하여 높은 트래픽을 안정적으로 처리하고 있습니다. 시스템을 운영하는 과정에서 로그 수집과 모니터링이 필수적으로 필요한데요. 전사적으로 Elastic Stack을 사용한 로그 수집과 Cloudwatch, Grafana, Slack을 사용한 모니터링 시스템이 구축되어 있어 편리하게 사용이 가능합니다. 덕분에 개발자는 시스템에 대한 문제를 사전에 감지하고 해결하는 방법을 찾는데 역량을 집중할 수 있습니다. 역량에 대한 생각 백엔드 개발자로서 좋은 성과를 만들기 위해서는 어떤 역량과 자질이 필요하다고 생각하시나요? 좋은 코드, 좋은 아키텍처를 만드는 능력과 함께 좋은 커뮤니케이션 능력이 중요합니다. 좋은 코드를 만든다는 건 개발자들에게는 꼭 필요한 능력입니다. 좋은 코드라는 건 상황마다 다르지만, 일반적으로 좋은 설계를 바탕으로 간결하고 가독성이 좋으며 유지 보수성이 좋게 작성된 코드를 이야기합니다. 한국에서도 유명한 엉클밥의 클린코드와 같은 도서들은 코드 품질에 대한 좋은 인사이트를 줍니다. 만약 읽어보지 않으셨다면, 꼭 한번 읽어보시기를 추천드립니다. 사실 코드에 관해 이야기하는 많은 책은 좋은 코드를 만들기 위한 양분이 되어줄 수 있지만, 거기에서만 그치면 소용이 없을 거예요. 가능한 많은 코드를 읽어보고 꾸준히 연습하는 자세가 뒷받침되어야 좋은 개발자로 성장할 수 있다고 생각합니다. 어느 정도 성장한 개발자들에게는 시스템이나 아키텍처 설계에 대한 능력이 중요해집니다. 좋은 아키텍처는 시스템에 높은 신뢰성과 가용성을 보장하며 확장과 변경을 용이하게 합니다. 이러한 능력은 개발자의 충분한 경험과 깊은 통찰을 통해서 성장하는 경우가 많고, 시스템에 대한 깊은 이해가 필요하기 때문에 개인의 학습과 연습의 과정이 뒷받침되어야 합니다. 마지막으로 대부분의 업무는 협업을 통해서 진행되니만큼 원활한 커뮤니케이션 능력 역시 매우 중요합니다. 백엔드 개발자의 커뮤니케이션은 같은 직군에서만 이뤄지는 게 아니며 프론트엔드, 인프라, 기획, QA 등 다양한 직군들과도 이루어지게 되니만큼 커뮤니케이션 대상에 따라 다양한 맥락에서 효율적인 의사소통을 할 수 있어야 합니다. 특히 많은 개발자가 기술 영역을 벗어난 부분에 대해서는 소홀히 여기는 경우도 많은데요. 서비스 개발자들은 기획자와의 협업이 중요하고 그 과정에서 원활한 의사소통을 위해 자신이 담당하고 있는 도메인에 대해 학습하고 이해하려는 자세가 필요합니다. 우아한형제들의 개발문화 우아한형제들의 개발 문화와 배민주문서비스팀만의 매력은 무엇인가요? 입사하면서 느낀 가장 큰 장점이자 복지는 훌륭한 개발자 동료분들이었습니다. 저희 팀을 비롯하여 우아한형제들에는 앞에서 말씀드렸던 좋은 코드, 좋은 아키텍처, 좋은 커뮤니케이션 능력을 갖춘 개발자들이 많이 있어요. 단순히 좋은 개발자들이 많다는 것뿐만 아니라 자신과 팀의 경험, 노하우를 공유하는 문화를 같이 만들어 나가고 있습니다. 이렇게 좋은 멘토와 동료들과 함께 일한다는 것은 개발자로서 성장해 나가는데 매우 좋은 환경을 가지고 있는거라 생각합니다. 저희는 작년부터 코로나19로 인해서 전사 구성원이 재택근무를 하고 있는데요. 처음에는 어색하기도 하였고 불편한 부분도 많았지만, 지금은 모두 리모트 근무 환경에 익숙해졌고 좋은 성과도 내고 있습니다. 온라인으로 코드 리뷰도 꼼꼼하게 진행하고 있고요. 논의가 필요한 부분이 있다면 망설일 필요 없이 언제든지 화상으로 미팅을 요청하고 있습니다. 얼마 전에는 회사에서 이런 재택근무를 코로나 종식 후에도 지속해서 운영한다는 발표가 있었는데요. 개인적으로 재택 기간 동안 아이들 어린이집도 보내고 여유 있게 근무를 시작하던 입장에서 이런 제도가 생긴 걸 무척이나 기쁘게 생각하고 있어요. 하지만 재택 기간이 길어지면 팀원 간에 대화도 줄어들고 서먹해질 우려도 있을 겁니다. 이러한 이유로 저희는 온라인상에서 같이 자주 이야기하는 문화를 만들어 가고 있습니다. 특히 최근에는 주기적으로 티타임을 가지고 있는데, 이 시간에는 팀 운영비를 사용하여 구매한 간식을 즐기며 특별한 주제 없이 다양한 이야기를 서로 나누고 있습니다. 또 과제가 종료될 때마다 회고 시간을 가지며 서로 간의 업무 수행 방식에 대해서도 논의하는 시간을 통하여 팀이 더 나은 방향으로 나아간다는 느낌을 받고 있습니다. 마무리하며 우아한형제들의 백엔드 개발자가 되고자 하는 분들에게 응원의 한 말씀 부탁드립니다. 배달의민족은 꾸준히 지속해서 성장하는 서비스입니다. 특히 주문시스템을 통하여 일어나는 거래량은 매년 두 배 가까이 성장하고 있는데요. 이러한 이유로 저희 팀에는 다른 커머스에서 만나기 힘든 대량의 트래픽과 데이터 규모를 수용하기 위한 여러 가지 도전과제들이 주어지고 있습니다. 그리고 우리는 소수의 스타 개발자에 의지하기보다는 팀원들이 주도적으로 같이 고민하고 논의하는 과정을 통해 문제를 해결해 나가고 있습니다. “다 때가 있다” 지금 저희와 함께하신다면 좋은 동료들과 함께 개발자의 도전 의식을 불러일으키는 미션들을 끊임없이 만나보실 수 있습니다. 성장에 목말라 있는 개발자분들과 함께 할 수 있기를 기대합니다. 개발직군 모집공고 바로가기 콘텐츠 저작권은 우아한형제들에 있으며, 무단 배포를 금지합니다.
더 보기
이미지
인터뷰
2021 우아한형제들 경력 개발자 인터뷰 ②
박예준 / 프론트엔드 개발자
좋은 것을 더 좋게! 우아한형제들의 도전은 오늘도 계속됩니다. 우아한형제들의 서비스를 더 가치있게 만들기 위해 대용량 트래픽과 대규모 인프라를 관리하며 도전하는 우아한형제들의 개발자분들, 그 중 다섯분을 인재영입팀에서 만나봤습니다. 들어가기 전에 안녕하세요 인재영입팀 입니다. 이번 직무인터뷰 과정을 통해 우아한형제들의 개발자는 어떻게 일하고 있으며, 또 어떤 도전 과제들을 수행하며 성장하고 있는지 그들의 성장 과정을 엿볼 수 있었습니다. 배민 개발자로서의 생활과 면접 꿀팁은 덤! ‘좋은 음식을 먹고 싶은 곳에서’ 의 서비스 가치를 만들어가는 개발자 다섯분의 이야기를 소개합니다. ∙ 금번 직무인터뷰는 방역 수칙을 철저히 준수하여 진행되었습니다. 팀 내에서 맡으신 역할과 담당 업무를 소개해 주세요. 안녕하세요, 저는 배민서비스개발팀의 4년차 웹프론트 개발자 박예준입니다. 배민에서 서비스하고 있는 각종 웹사이트와 배민 앱 내 웹뷰를 개발하는 일을 담당합니다. ‘배민은 앱인데 웹 프론트 개발자가 왜 필요해?’라는 질문을 종종 받고, 제 소개를 보신 분들 또한 의아해하실 수 있는데요. 배민의 많은 서비스는 웹으로도 만들어 제공되고 있으며, 앞으로 더 많은 제품들을 웹으로 개발해나갈 계획도 있습니다. 담당업무 소개 최근에 일하며 보람을 느꼈던 순간과 리뷰, 공유 문화를 어떻게 실천하고 있으신지 알려주세요. 제가 소속된 배민서비스개발팀 웹프론트파트의 문화에 대해 소개 드릴게요. 저희 파트의 경우 모든 코드들에 대해 함께 리뷰를 진행하고 있는데, 이 과정에서 과반 이상의 승인을 받지 못하면 서비스를 진행할 수 없도록 하는 ‘코드 리뷰룰’을 잘 지켜나가고 있어요. 또한, 코드 리뷰봇처럼 기계적으로 보고 승인하는 코드 리뷰는 하지 않습니다. 클린 코드의 정신에 의거해서 정말 꼼꼼히 서로의 코드를 리뷰하고 의견도 공유하고 있고 이를 위해서 클린 코드 책으로 스터디도 함께 진행할 정도였어요. 바쁜 과제 일정으로 모든 리뷰에 대해서 바로 개선할 수 없을 때도 있지만 이는 추후에라도 개선하기 위한 노력을 하고 있습니다. 한 번은 저희 파트 동료가 한 이벤트 개발을 담당하셨는데요, 이벤트가 종료되었는데도 일정으로 미처 리뷰를 반영하지 못한 코드들에 대한 리뷰를 요청 주셨던 적이 있었습니다. 이런 리뷰 문화가 자리 잡히면서 ‘동료의 성장이 곧 나의 성장이 된다’라는 말의 진정한 의미를 깨닫게 되었던 것 같아요. 일하면서 보람을 느꼈던 순간은 배민은 워낙 많은 사용자가 있는 서비스다 보니 새로운 기능이나 제품이 나왔을 때 사용자들의 반응이 항상 뜨겁습니다. 때론 여론의 질타에 의기소침 해질 때도 있지만, 배민 선물하기나 가족 계정과 같은 새로운 서비스를 제공했을 때 긍정적이고 좋은 피드백들이 많아서 ‘아 고생한 보람이 있구나!’ 싶고 뿌듯하더라고요. 특히 이 과제들은 성공적인 프로젝트를 위해 동고동락한 동료들과의 업무 호흡이 너무나도 잘 맞아서 뿌듯한 마음이 배가 된 것 같았습니다. 과제 수행 과정 프론트엔드 개발자로 일하시면서 도전적인 과제를 수행하신 대표적 사례를 소개해 주실 수 있나요? 폭발하는 트래픽 감당하기 이전에 엔드게임이라는 이벤트에 프론트엔드 개발 담당자로 참여한 적이 있습니다. 최대 만 원 정도의 쿠폰을 랜덤으로 특정 시간 동안만 발급받을 수 있다 보니 정말 많은 사용자분들이 참여했어요. 이벤트 시작 시간이 다가오면 카운트다운이 진행되고 이벤트 발표 시간에 짠! 하고 참여 화면으로 넘어갈 수 있는 그런 플로우를 계획했었죠. 헌데, 너무 많은 사용자가 참여하다 보니 이벤트 시간에 짠! 하고 흰 화면이 나오더라고요. 아직도 그 순간이 기억나네요.. 그 순간에는 아마 제 얼굴도 백지가 됐을 거예요. api 서버도 프론트엔드 리소스를 불러오는 cdn도 한 번에 몰리는 트래픽으로 인해 서비스가 불가능한 상황이 된 것이었죠. 결국 3일 동안 계획한 이벤트 기간 중 첫날은 이벤트를 진행하지 못했어요. 둘째날 이벤트를 무사히 진행하기 위해 몰리는 트래픽을 감당할 수 있도록 리소스와 웹 어플리케이션의 최적화를 밤새 진행했던 기억이 생생합니다. 동료들의 많은 아이디어와 조언 그리고 응원 덕분에 둘째날 이벤트는 성공적으로 진행할 수 있었어요. 이벤트 시간에 짠 하고 화면이 떴을 때 사무실을 꽉 채운 박수소리가 지금도 귓가에 들려오는 듯하네요. 높은 트래픽을 잘 이겨내어 좋은 사용자 경험을 제공하기 위해 보다 더 꼼꼼하게 개발을 하게 된 계기가 되었습니다. 원인 파악이 어려운 장애 극복하기 2020년 초 당시 저희 팀에서 담당하고 있던 node 서버에서 반복적인 장애가 일어났습니다. 정말 어떠한 병목도 없어 보였는데 갑자기 부하가 일어나면서 서버가 다운 되었어요. 코드를 아무리 살펴봐도 로직엔 문제가 없어 보이는데 말이죠. 이 장애로 인해 큰 스트레스를 받았어요. 배민에서 상당히 중요한 웹뷰를 제공하는 서버였기 때문이었죠. 서버를 늘려봐도 동일한 현상이 반복되었었고, SRE 담당자분들의 지원을 받아 모니터링 환경도 구성하면서 함께 정말 많은 로그들을 살펴보았던 것 같습니다. 이런 반복적인 상황이 지속되니 동료들도 저도 심적으로도 육체적으로도 정말 많이 지쳤던 것 같아요. 그래도 계속 원인을 파악하기 위해 포기하지 않고 이것저것 참 많이 시도를 해봤던 것 같아요. 결국 끈질긴 사투 끝에 메모리릭을 발생시키는 원인을 파악하게 되었고 그 지옥의 장애 게이트에서 벗어날 수 있었습니다. 지금 와서 생각해 보면, 장애는 개발자의 능력을 스텝업 시켜준다는 말이 정말 맞는 말 같습니다. 이런 트러블 슈팅들을 겪으면서 배운 것들이 제 스스로에게 너무 소중한 자산이 된 것 같습니다. 역량에 대한 생각 우아한형제들의 프론트엔드 개발자로서 익혀두면 좋은 기술을 몇 가지만 알려주세요. 웹프론트엔드 분야가 워낙 트렌드가 빠르게 바뀌어서 구체적으로 말씀드리긴 어려운 것 같아요. 그렇기 때문에 변화하는 트렌드를 이해하는 것이 제일 중요한 것 같습니다. 새로운 기술, 흐름, 트렌드가 왜 핫해진 건지 이해하는 지식의 차이가 크게 작용하는 분야가 프론트엔드 입니다. 트렌드를 무작정 따라가고 신봉하기보다는 그런 트렌드가 생긴 흐름과 원인에 집중해보면 인사이트를 키우는데 많은 도움이 되리라고 생각됩니다. 두번째로, 웹 프론트 외 분야들에 대해서도 공부를 해보시면 참 많은 도움이 되실 거예요. 백엔드, 모바일과 같은 기술 분야는 물론, UI/UX 디자인과 같은 기술 외적인 분야를 포함해서요. 프론트엔드 개발자는 참 많은 직군의 동료들과 일하게 됩니다. 함께 제품을 만들어갈 동료들의 직무에 대한 기본적인 이해는 서로의 견해를 이해하고 의견을 나누는데 정말 많은 도움이 되는 것 같습니다. 마지막으로 HTML과 CSS에 대한 공부를 게을리하지 않으셨으면 좋겠습니다. 프론트엔드 개발자를 지망하시는 분들이 마크업과 스타일 부분에 지루함을 느끼곤 하시지만, HTML과 CSS는 웹 프론트엔드 개발자의 작업의 최종 결과물이자 근본이라고 생각합니다. 이에 대한 기초 지식들은 높은 접근성과 좋은 사용자 경험을 제공해 주는 제품을 만드는 발판이 될 것입니다. 우아한형제들의 개발문화 우아한형제들의 개발 문화와 배민서비스개발팀만의 매력은 무엇인가요? 배민서비스개발팀은 파트별로 담당하는 업무 내에서 많은 권한과 자율을 부여받습니다. 담당 도메인/제품에 있어서 주도적이고 능동적인 업무가 가능하죠. 그래서 기술 스택이나 아키텍처 같은 부분에서 리더가 결정을 내리는 것이 아닌, 실무자가 직접 결정하는 것이 당연하다는 인식을 가지고 있습니다. 이런 환경에서 근무하기 때문에 새로운 기술에 대한 도전이나 다양한 시도들이 가능합니다. 또한, 팀 구성원들이 서비스의 고도화, 업무 비효율의 타파를 위해 의견을 적극적으로 내는 편입니다. 실제로 얼마 전에 저희 파트에서 담당하는 한 도메인에서 단순 반복되는 업무들이 있어, 이를 해결할 수 있는 시스템을 만들면 좋겠다는 의견을 낸 적이 있습니다. 이에 대해 구성원분들도, 팀장님도 공감을 해주시면서 실제로 하나의 프로젝트로 진행하게 되었습니다. 팀내 서버개발자 분들은 물론, 타팀의 기획, 품질 담당자분들의 지원까지 받으면서요. 이렇게 주도적으로 일하는 환경이 되다 보니 일에 대한 오너십이 강해지는 것 같아요. 저희 팀은 정말 성장하기에 좋은 환경을 가지고 있다고 생각합니다. 우선 리뷰, 가게노출, 회원과 같이 트래픽이 많은 도메인들을 담당하다 보니 다른 곳에서는 경험할 수 없는 다양한 경험을 할 수 있는 것 같습니다. 또 팀 내에서 스터디나 개인의 역량 발전을 위한 도전들을 많이 장려하는 편이에요. 개인과 조직의 성장에 관한 고민에 대해 조언을 구할 수 있는 리더가 이끄는 팀이라는 점이 특히나 매력적이라고 생각합니다. 마무리하며 프론트엔드 개발자로서의 삶을 꿈꾸는 개발자 분들에게 응원의 한 말씀 부탁드립니다. 근래 몇 년 사이에 프론트엔드 개발자에 대한 수요가 폭발적으로 성장했습니다. 이에 따라 많은 취업 준비생, 타분야 종사자분들이 프론트엔드 개발자 취업시장에 많이 뛰어들고 있습니다. 경쟁이 치열해지고 있는 상황 속에서 다른 경쟁자와 한 끗 차이의 비교우위를 만들어 내는 건 이 분야에 대한 애정이 아닐까라는 생각이 듭니다. 정말 이 분야를 사랑하시는 분이라면 분명히 멋진 프론트엔드 개발자가 되실 수 있으리라 믿습니다! 개발직군 모집공고 바로가기 콘텐츠 저작권은 우아한형제들에 있으며, 무단 배포를 금지합니다.
더 보기
이미지
인터뷰
2021 우아한형제들 경력 개발자 인터뷰 ③
강선구 / 데이터 엔지니어
좋은 것을 더 좋게! 우아한형제들의 도전은 오늘도 계속됩니다. 우아한형제들의 서비스를 더 가치있게 만들기 위해 대용량 트래픽과 대규모 인프라를 관리하며 도전하는 우아한형제들의 개발자분들, 그 중 다섯분을 인재영입팀에서 만나봤습니다. 들어가기 전에 안녕하세요 인재영입팀 입니다. 이번 직무인터뷰 과정을 통해 우아한형제들의 개발자는 어떻게 일하고 있으며, 또 어떤 도전 과제들을 수행하며 성장하고 있는지 그들의 성장 과정을 엿볼 수 있었습니다. 배민 개발자로서의 생활과 면접 꿀팁은 덤! ‘좋은 음식을 먹고 싶은 곳에서’ 의 서비스 가치를 만들어가는 개발자 다섯분의 이야기를 소개합니다. ∙ 금번 직무인터뷰는 방역 수칙을 철저히 준수하여 진행되었습니다. 소속 조직의 구성과 선구님께서 맡고 있는 역할에 대해 소개해 주세요. 안녕하세요, 데이터플랫폼팀의 데이터 엔지니어 강선구입니다. 우아한형제들이 서비스를 만들고 개선하는데 필요한 데이터를 분석하고 활용할 수 있는 환경을 개발하고 있습니다. 데이터 엔지니어는 회사에 ‘데이터’라는 세 글자만 들려도 출동한다고 표현할 수 있을 정도로 데이터와 관련된 다양한 일을 하고 있지만, 아래의 세 가지 역할을 주로 맡고 있다고 보시면 될 것 같습니다. 첫째는 배달의민족 서비스 데이터를 수집하고 분석할 수 있는 빅데이터 인프라를 구축합니다. 둘째는 수집된 데이터를 쉽게 분석할 수 있는 환경을 개발하고 제공합니다. 마지막으로 사내의 데이터 분석가, 과학자들과 협업하여 우아한형제들에 필요한 데이터를 직접 개발합니다. 그리고 현재 데이터플랫폼팀의 리더 역할을 맡으며, 회사에 더 나은 데이터 환경을 제공하기 위한 프로젝트를 제안하고 관리하는 역할을 겸하고 있습니다. 담당업무 및 협업과정 데이터를 관리하고 활용하시는 방법과 타 부서와의 협업 과정이 궁금합니다. 우아한형제들은 서비스를 만들고 개선하는 과정에서 다양한 방법으로 데이터를 분석하고 활용하기 때문에, 데이터와 서비스의 중심에 데이터 엔지니어의 역할이 큰데요. 이전 질문에서 답변한 3가지 업무 역할을 토대로 소개 드릴게요. 가장 먼저는 데이터의 수집과 관리입니다. 데이터 엔지니어들은 분석 활용이 가능한 모든 서비스 데이터를 수집하고 관리합니다. 주문이나 음식 메뉴 정보 같은 데이터 외에도, 배민 앱에서 발생하는 버튼 클릭, 페이지 이동 등 다양한 사용자 행동 기록을 실시간으로 수집하고 활용합니다. 배민 서버들이 대용량 트래픽을 처리하는 만큼, 저희 데이터 엔지니어들은 그 이상의 대용량 데이터를 견뎌내고 분석할 수 있는 시스템을 만들어야 합니다. 매년 서비스가 성장하는 만큼 더욱 높은 수준의 기술력이 요구되고 있어요. 데이터 수집, 관리 과정에서 담당 개발팀과 소통하여 서비스 부하를 만들지 않도록 신경 쓰고 있고, 정보보안팀과 소통하여 안전한 데이터와 환경을 제공하는 노력을 하고 있습니다. 두번째로는 데이터 분석 환경을 제공하는 일인데, 저희가 제공하는 분석 환경의 사내 고객은 다양합니다. 일반적으로 데이터 분석가나 개발직으로 한정되는 회사들이 많지만 저희는 사업, 서비스기획, 영업, 디자이너 등 거의 모든 직군의 구성원들이 데이터 기반으로 업무를 진행하고 있어요. 다양한 고객과 데이터를 대상으로 하는 만큼, 손쉽게 데이터를 접근하고 분석할 수 있도록 지원합니다. 예를 들어, Hadoop 시스템에 저장된 파일들을 SQL로 조회하거나 대시보드를 직접 생성할 수 있는 다양한 툴들을 제공합니다. 개발 직군 구성원들에게는 직접 빅데이터 통계나 머신러닝 등을 개발할 수 있는 환경도 제공하고요. 오픈소스를 많이 활용하지만, 사내 니즈에 맞춰서 직접 개발하는 경우도 흔해요. 또한, 구성원들이 데이터를 잘 이해할 수 있도록 돕는 웹 어드민도 같이 개발하거나, 복잡한 시스템의 데이터 구조를 분석에 용이하게 데이터 마트를 생성하여 제공하는 역할도 하고 있어요. 세번째로 데이터를 활용한 고객의 경험 개선입니다. 배민의 데이터는 실제 고객 경험 개선을 위한 기능들로 재생산되어 서비스에 활용되고 있습니다. 배민 앱 고객에게 제공되는 배달 예상시간, 맛집 랭킹, 상품 추천 등의 기능들이 있으며, 사장님 고객들을 위한 각종 리포트와 AI 기반의 챗봇까지 정말 다양하게 활용되고 있어요. 서비스에 직접 활용되는 데이터인 만큼 기획자들과 함께 기능을 설계하며, 실제 개발 작업은 같은 데이터서비스실에 속한 데이터 분석가, 과학자 동료들과 함께 합니다. 데이터 엔지니어들은 담당 분석가, 과학자들이 설계한 로직이나 모델링 코드가 실제 서비스에서 안전하게 동작할 수준으로 구현 가능한지 검토하고, 이를 성능적으로 가장 최적화된 형태로의 데이터 파이프라인을 구현하는 역할을 맡습니다. 또한 생산된 데이터를 저희 팀에서 개발한 플랫폼을 통해 서비스 노출 시스템이 받아 가도록 안내하거나, 직접 실시간 API를 개발해서 서빙하기도 합니다. 이렇게 만들어진 기능들은 다시 저희 시스템을 통해 데이터가 수집되고 분석되며, 이후 기능 개선으로 이어지는 순환 구조를 가지게 됩니다. 성장에 관한 경험 우아한형제들에서 경험했던 것 중에서 가장 기억에 남는 에피소드를 이야기 해주세요. ‘배민장부’ 서비스에는 사장님들에게 매일 리뷰 감성분석 통계를 제공하는 기능이 있습니다. 저희 실 데이터 과학자 동료가 오랜 기간 딥러닝을 활용한 자연어처리 모델을 개발하여 사용자 리뷰의 긍정/부정 여부를 예측할 수 있게 되었고, 이를 서비스에 통계로 제공하여 바쁘신 사장님들이 고객을 더욱 잘 이해할 수 있도록 돕고자 과제를 진행하게 되었어요. 당시에는 딥러닝이란 기술을 사내에서 처음 서비스로 도입하는 사례였기 때문에 정말 많은 고민과 준비를 했습니다. 시스템 구조, 모델의 예측 속도, 시스템 확장성 등 기술적인 요소들 외에도 예측한 데이터에 대한 검증 프로세스나 불확실한 결과가 나올 경우에는 어떻게 서비스에 노출할 건지 등 다양한 고민을 함께 하며 만들었습니다. 지금 돌이켜보면 부족했던 점도 많았지만, 유사 프로젝트들이 사내에서 빠르게 진행될 수 있는 좋은 밑거름이 되었고, 무엇보다 기존에는 제공하지 못했던 유형의 가치를 고객들에게 새로 제공했다는 점에서 가장 기억에 남습니다. 역량에 대한 생각 우아한형제들의 데이터 엔지니어가 되기 위해서는 어떤 역량이 필요할까요? 데이터 엔지니어의 채용 과정에도 참여하고 있어서, 제가 고민해 본 질문인데요. 현재 데이터서비스실 내의 여러 팀이나 파트 내에서 분업화되어 운영되고 있어 맡은 업무 유형에 따라서 필요한 역량도 조금은 달라질 수 있겠지만, 공통적으로 데이터 엔지니어 직군으로써 필요한 역량들을 말씀드릴게요. 첫째로, 데이터의 특성과 흐름을 명확하게 이해할 수 있어야 합니다. 저희 서비스는 배달이라는 고유한 도메인을 가지고 있고, 모든 서버 시스템이 MSA로 구성된 만큼 복잡도가 다소 높습니다. 데이터를 잘 이해할수록 최적화된 데이터 파이프라인을 개발할 수 있고, 특히 불필요한 개발 요소를 쉽게 제거할 수 있습니다. 여기서 면접 팁을 드리면, 인터뷰 과정에서도 배달 도메인에 대한 이해보다는 기존에 다뤄오신 데이터에 대한 이해도를 검증하고 있습니다. 둘째로, 빅데이터 처리 기술에 대한 충분한 이해도가 필요합니다. 다양한 데이터와 이슈를 다루기 위해서는 저희가 활용하는 기술에 대한 이해도와 경험이 중요합니다. 기본적으로는 Hadoop, Spark 환경에 대한 이해도를 기반으로 다양한 데이터와 이슈를 다루는 업무가 많습니다. 그 외에도 Kafka, Presto, Structured Streaming, Airflow, Tensorflow 등 다양한 기술 스택이 업무에 활용되는데요. 꼭 동일한 기술이 아니더라도 유사한 방식의 데이터 인프라 및 파이프라인 개발 경험과 이해도가 요구됩니다. AWS 클라우드를 주력으로 활용하지만, On-premises로 구축한 클러스터도 하이브리드로 운영하기 때문에 관련한 지식도 중요하게 생각하고 있습니다. 마지막으로, 커뮤니케이션 능력이 중요합니다. 어떤 업무를 맡아 진행하든 항상 여러 부서와 소통하고 함께 만들어가는 편입니다. 비개발직군과 소통하는 업무도 많고, 같은 개발직군이라도 빅데이터 처리에 대한 설명이 필요한 경우도 있습니다. 복잡한 영역을 다루는 만큼 쉽고 명확한 의사소통 역량이 필요합니다. 우아한형제들의 개발문화 우아한형제들의 개발 문화를 자랑해 주세요! 회사 내에서도 정말 다양한 개발팀이 존재하다 보니 팀마다의 고유문화도 조금은 다를 수 있습니다. 다만 제가 우아한형제들에 합류하고 항상 일관되게 느끼는 점이 있는데요. 우아한형제들의 개발자들은 항상 변화에 적극적으로 대응하고 시스템을 개선하고자 노력합니다. 그리고 이를 위한 학습과 성장에 대한 욕심도 정말 강합니다. 배달의민족은 벌써 오픈한지 10년이 지난 서비스입니다. 하지만 서비스 측면에서도, 기술 측면에서도 정말 많은 변화가 빠르게 이루어지고 있어요. 입사했던 3년 전과 비교하면 가끔 같은 회사의 시스템이 맞는지 의구심이 들 정도입니다. 데이터 조직에 소속되어 있으면 전체적으로 서비스와 시스템들이 어떻게 변하는지, 개발자들이 어떤 고민과 논의를 하는지 직접 보고 듣게 되는데요. 누가 시키지 않아도 늘 열정적으로 함께 고민하고 만들어나가는 동료들의 모습을 쉽게 볼 수 있습니다. 그리고 그 과정에서 학습한 내용들을 전체 기술 조직에 공유하는 노력도 게을리하지 않습니다. 개발자로서의 당연한 모습이라고 이야기할 수도 있겠지만, 수백 명의 개발자들이 함께하는 조직에서 이렇게 한결같은 모습을 유지하는 건 쉽지 않다고 생각합니다. 서비스의 빠른 성장도 개발자들이 이런 문화를 유지할 수 있는 큰 원동력입니다. 코로나 이전에도 저희 서비스는 역대 최고 트래픽을 자주 갱신하고 있었고, 매년 더 높은 수준의 기술력이 요구되고 있습니다. 제가 맡고 있는 시스템도 입사 당시와 비교하면 10배 이상의 처리 성능을 필요로 하는데요. 결국 서비스의 성장이 개발자들의 성장을 요구하기도 합니다. 이런 상호보완적인 관계가 우아한형제들의 개발 문화를 함께 만들어간다고 생각합니다. 마무리하며 선구님과 같은 데이터엔지니어로서의 커리어를 계획하는 분들에게 응원의 한 말씀 부탁드립니다. 제가 구직자 입장이었던 시절에도 데이터 엔지니어라는 직군은 각 회사에서 어떠한 일을 어떻게 하는지 정보를 찾기가 어려운 편이었습니다. 회사에서 채용을 하는 입장이 되어서도 채용공고나 짧은 인터뷰 시간에 충분한 설명을 드리지 못하는 점이 늘 아쉬웠는데요. 이번 기회를 통해서 지원자분들에게 조금이나마 도움이 되길 바래봅니다. 종종 업계 후배들에게 이런 질문을 받습니다. “어느 정도 크기의 데이터를 다뤄봐야 배민에서 데이터 엔지니어로 충분할까요?” 저도 ‘빅데이터’라는 표현을 종종 사용하지만 사실 그 정의에 대해서는 논란의 여지가 많습니다. 업계에는 우아한형제들보다 더 큰 데이터를 다루는 곳도 있고, 적은 곳도 있을 텐데요. 큰 데이터를 다룰수록 자연스럽게 하는 경험이나 고민도 있지만, 데이터 크기와 상관없이 고민하고 해결해야 하는 본질적인 문제들을 다루는 게 더 중요하다고 생각합니다. 특히 우아한형제들처럼 지속적으로 서비스가 성장하는 환경에서는 더욱 그렇습니다. 혹시라도 저와 비슷한 고민을 하시는 분이라면 지원하시면 좋겠습니다. 개발직군 모집공고 바로가기 콘텐츠 저작권은 우아한형제들에 있으며, 무단 배포를 금지합니다.
더 보기
이미지
인터뷰
2021 우아한형제들 경력 개발자 인터뷰 ④
김민영 / iOS 개발자
좋은 것을 더 좋게! 우아한형제들의 도전은 오늘도 계속됩니다. 우아한형제들의 서비스를 더 가치있게 만들기 위해 대용량 트래픽과 대규모 인프라를 관리하며 도전하는 우아한형제들의 개발자분들, 그 중 다섯분을 인재영입팀에서 만나봤습니다. 들어가기 전에 안녕하세요 인재영입팀 입니다. 이번 직무인터뷰 과정을 통해 우아한형제들의 개발자는 어떻게 일하고 있으며, 또 어떤 도전 과제들을 수행하며 성장하고 있는지 그들의 성장 과정을 엿볼 수 있었습니다. 배민 개발자로서의 생활과 면접 꿀팁은 덤! ‘좋은 음식을 먹고 싶은 곳에서’ 의 서비스 가치를 만들어가는 개발자 다섯분의 이야기를 소개합니다. ∙ 금번 직무인터뷰는 방역 수칙을 철저히 준수하여 진행되었습니다. 민영님의 하루 일과 중 iOS개발팀의 리더로서의 업무를 소개해 주세요. 배민iOS개발팀에서 배달의민족 앱과 가게 사장님들이 이용하시는 배민주문접수앱을 맡고 있는 김민영입니다. 얼마 전부터 팀 매니징 역할을 수행하게 되면서 하루 일과가 조금 달라졌는데, 간략히 소개 드릴게요. 저희 팀은 슬랙으로 스탠드업 미팅 내용을 작성하며 하루를 시작합니다. 할 일을 정리하고 난 후에는 주로 팀 업무를 확인하거나 재정립하고, 앱 업데이트 사항들을 논의하는 기획 리뷰 미팅에 참석합니다. 기획서를 확인하면서 개발을 수행하거나 중간중간 협업 부서와 온라인 미팅을 하기도 하고, QA 기간 중에는 버그 티켓이 있는지 확인하고 처리합니다. 개발 업무와 코드 리뷰도 시간 날 때마다 하려고 노력하고 있습니다. 이 외에도 메일이나 슬랙을 통해 필요한 업무들을 확인하거나 코드 리뷰를 진행하고 배포된 앱을 모니터링하는 일을 수행합니다. 담당업무 및 협업과정 iOS개발자로서 타부서와의 협업은 어떻게 이루어지고, 그 과정에서 가장 중요하게 여기시는 것은 무엇인지 궁금합니다. 협업에서 가장 중요한 건 공동의 목표 달성을 위해 서로의 눈높이를 맞추는 과정이라고 생각합니다. 그래야만 효율적으로 시간을 관리하여 목표를 정확히 설정하고 달성할 수 있어요. iOS 개발자는 주로 안드로이드, 서버, 기획, 디자인, QA 부서와 협업하고 있습니다. 배달의민족 앱의 경우 2주에 한 번씩 정기적으로 앱 업데이트와 릴리즈를 하고 있어서, 업데이트 버전에 따른 과제 논의를 위한 ‘어싸인데이’라는 회의를 매주 진행합니다. 이 회의에서 안드로이드, 서버, 기획, QA 개발자분들과 함께 백로그에 있는 업무들을 검토하면서 업데이트 일정을 논의합니다. 이후에 팀에 신규 프로젝트를 공유하고 적합한 분에게 업무를 분배해 담당자가 정해지면, 슬랙의 프로젝트 채널에 모여 일을 시작합니다. 프로젝트별 채널에는 해당 프로젝트를 진행하는 클라이언트, 백엔드 개발자, 기획자, 디자이너, QA 등 다양한 부서가 함께 참여하고 대부분의 논의는 이 채널에서 진행이 됩니다. 여기서 기획과 디자이너 동료들과 리뷰를 진행하면서 개발 일정을 협의하기도 하고 TC 리뷰나 백엔드 개발자와 스펙 협의 등을 하면서 개발하고 있어요. 개발이 끝난 단계에서는 QA 부서의 검증 과정을 거치게 되고 해당 기능이 앱으로 출시됩니다. 출시 후 보이는 건 앱 안에 작은 기능이고 고객에게 보다 좋은 서비스 경험을 제공하는 일 중에 하나지만 그 안에는 많은 동료들이 협업하며 이슈들을 함께 고민하고 해결해 나가는 과정이 있는 것 같아요. 그렇다 보니 다른 직무 담당자들과 눈높이를 맞추기 위한 커뮤니케이션 역량도 필요합니다. 커뮤니케이션을 잘 하기 위해서는 다른 부서의 업무 내용이나 일하는 방식에 대해서도 이해하려는 노력과 마음가짐도 물론 중요하지요. 과제 수행 과정 iOS 개발자로 일하시면서 도전적인 과제를 수행하신 대표적 사례를 소개해 주실 수 있나요? 작년에 배달의민족 메뉴 지면을 개편하면서 우버에서 만든 RIBs라는 프레임워크를 도입했던 것이 가장 기억에 남는 것 같습니다. 먼저 도입 배경을 소개 드리면, 배민 앱 iOS를 개발하는 인원이 불과 2년여 만에 두 배 이상으로 늘어나게 되었어요. 회사의 코드 리뷰 문화도 있지만 배민iOS개발팀 내부에서 정한 룰 중에 하나는 ‘코드 리뷰에서 2명 이상이 승인하는 경우에만 코드를 머지 할 수 있다’라는 것인데요. 이전에는 인원수가 많지 않아서 서로의 코드를 대부분 이해한 상태에서 코드 리뷰를 할 수 있었지만, 인원이 늘어나면서 팀 구성원들의 코드를 모두 이해하기가 힘들어졌습니다. 그렇다고 과반수가 동의하도록 룰을 바꾼다면 그로 인한 비효율도 고려 사항이었어요. 통일된 관점과 방식으로 작업을 해야 할 필요성이 느껴졌고, 또 여러 명이서 작업하는데 효율적인 구조도 필요했지요. 그래서 저희 팀에서 통일된 아키텍처 도입을 고민하기 시작했습니다. 우리 앱이 가지고 있는 구조와 특성을 고려하여 여러 가지 대안을 가지고 테스트해보면서 최종적으로 RIBs를 도입하기로 결정했고 그 첫 결과물이 바로 배달의민족 메뉴 지면이었죠. 사실 기존의 레거시 코드 위에서 RIBs를 도입하는 과정이 쉽지만은 않았습니다. 볼 수 있는 자료가 풍부하지 않은 상황이었기 때문에, 개발하면서 발생했던 대부분의 문제들을 스스로 해결해야 했습니다. 이 작업은 동료 개발자와 함께 진행했는데 재택근무를 하는 상황에서 원격으로 페어 프로그래밍 하며 하나씩 해결해 나갔고, 새로운 기술을 재택 상황에서도 빠르게 적용했을 때의 뿌듯했던 기억이 가장 오래 남는 것 같아요. 물론 앞으로 남은 과제들도 많이 있습니다. 프레임워크를 빠르게 도입할 수 있도록 하기 위해서 두 명이 먼저 선 진행을 하고, 이후에 진행되는 작업들은 그 둘이 각각 또 다른 동료와 함께 하면서 점점 업무 영역을 확대하려고 하고 있고 꾸준히 조금씩 진행하고 있습니다. 이 과정이 은탄환(Silver Bullet)이 아니라는것을 알고 있기 때문에 잘 운영할 수 있도록 앞으로도 지속적으로 노력해 나갈 생각입니다. *은탄환: 소프트웨어 개발의 복잡성을 한번에 해소할 수 있는 마법같은 솔루션 기술에 관한 의견 우아한형제들의 iOS 개발자로서 익혀두면 좋은 기술을 몇 가지만 알려주세요. 현재 자신이 사용하고 있는 기술에 대해서 잘 이해하고 개발하는 것은 꼭 필요한 역량입니다. iOS 개발자라면 사용 중인 언어(Swift)에 대해서 잘 아는 것이 무엇보다 중요한 것 같아요. 그리고 애플에서 매년 WWDC를 개최하고 OS 버전도 업데이트하는데, 여기서 발표된 새로운 기술이나 업데이트가 필요한 부분들을 파악하고 대응을 할 수 있도록 꾸준히 관심을 기울이는 것도 필요합니다. 그 외에도 필수적인 부분은 아니지만 앱을 운영해본 경험과 테스트나 배포 자동화에 대한 이해, Reactive Programming이나 패턴에 대한 지식, 앱 최적화 경험이나 Localization에 대한 경험 등이 있으면 좋습니다. 대부분의 앱 개발은 서버, 기획, 디자인 파트 등 다양한 부서와 밀접하게 협력하며 업무를 진행하기 때문에 네트워크에 대한 기본적인 이해나 데이터 처리와 같은 부분의 지식도 필요해요. 마지막으로 사용자에게 전달되는 최종 단계인 UI 개발을 담당하고 있다 보니 언제나 꼼꼼하게 디테일을 놓치지 않고 개발하는 습관과 사용자 경험에 대한 관심을 가지는 것도 꼭 필요한 역량 중에 하나라고 여겨집니다. 우아한형제들의 개발문화 미래의 동료들에게 회사와 팀 자랑을 해주세요! 팀 자랑을 먼저 하고 싶어요. 무엇보다도 역량이 뛰어나고 성장하기 위해 끊임없이 노력하는 좋은 동료들과 함께 일하고 있다는 것이 가장 좋은 것 같아요. 다들 비슷한 것 같으면서도 각자 다른 특징들을 가지고 있는데, 그로 인해 서로를 채워주는 점이 있습니다. 내 옆의 동료들을 보면서 많이 배우기도 하고 감탄하기도 하고 끊임없이 자극이 되는 것 같아요. 회사에서 ‘우아톤’이라고 부르는 사내 해커톤을 재작년과 작년 두 번 개최했었는데요. 배민iOS개발팀 동료들이 함께한 팀이 모두 대상을 차지했답니다. 역시 우리팀! (웃음) 그리고 회사에 대해서는 제가 아이를 키우고 있는 워킹맘이다 보니 관련 복지에 초점을 맞춰서 말씀드릴게요. 먼저 임신기간 중 매일 두 시간씩 단축근무를 할 수 있고, 임신 주차에 따라 정기검진 휴가가 부여됩니다. 예비아빠의 경우에도 임신한 아내의 정기검진 일자에 맞춰 병원에 함께 다녀올 수 있는 휴가가 부여되고 그 외의 시간에는 재택근무 가능하고요. 법적으로 정해진 출산 전후휴가나 육아휴직은 물론이고 본인이나 아내가 출산을 하는 경우 산후조리원비도 300만 원이 지급됩니다. 만 2년 이상 근속하고 초등학교 2학년 미만의 자녀가 있는 구성원의 경우에는 1개월의 특별 육아휴직이 주어집니다. 물론 월급도 지급되지요. 또 자녀의 입학식, 졸업식, 운동회, 학예회, 재롱잔치에 참석할 수 있도록 학부모 특별 휴가도 있고 이외에도 본인, 배우자, 양가 부모, 자녀의 단체상해보험도 가입됩니다. 여러모로 일과 가정의 양립을 위한 많은 제도들이 시행되는 점이 정말 좋은 것 같아요. 마무리하며 iOS 개발자로서의 삶을 꿈꾸는 개발자 분들에게 응원의 한 말씀 부탁드립니다. 처음 개발을 시작했을 때는 공부하면서 배우는 과정이었기 때문에 정말 재미있었고 적성에 잘 맞는다고 생각했어요. 학교를 졸업하고 취업을 했는데 실제 직장인으로서 하는 개발은 책임감의 무게가 커져 스트레스도 받았습니다. ‘왜 더 잘하지 못할까’라고 자책도 많이 하게 되고 지치더라고요. 그래서 나아질 수 있는 업무 노하우와 방법을 고민하는 동시에 균형잡힌 일과 삶을 위한 나만의 스타일을 찾으려고 노력한 것 같아요. 일이나 공부를 하다 보면 당연히 지치고 힘든 순간도 찾아오는데요. 자신만의 노하우와 스타일을 찾아가다 보면 본인이 꿈꾸는 개발자의 삶을 살며 만족할 수 있을 거라 생각됩니다. 개발직군 모집공고 바로가기 콘텐츠 저작권은 우아한형제들에 있으며, 무단 배포를 금지합니다.
더 보기
이미지
인터뷰
2021 우아한형제들 경력 개발자 인터뷰 ⑤
윤효정 / 안드로이드 개발자
좋은 것을 더 좋게! 우아한형제들의 도전은 오늘도 계속됩니다. 우아한형제들의 서비스를 더 가치있게 만들기 위해 대용량 트래픽과 대규모 인프라를 관리하며 도전하는 우아한형제들의 개발자분들, 그 중 다섯분을 인재영입팀에서 만나봤습니다. 들어가기 전에 안녕하세요 인재영입팀 입니다. 이번 직무인터뷰 과정을 통해 우아한형제들의 개발자는 어떻게 일하고 있으며, 또 어떤 도전 과제들을 수행하며 성장하고 있는지 그들의 성장 과정을 엿볼 수 있었습니다. 배민 개발자로서의 생활과 면접 꿀팁은 덤! ‘좋은 음식을 먹고 싶은 곳에서’ 의 서비스 가치를 만들어가는 개발자 다섯분의 이야기를 소개합니다. ∙ 금번 직무인터뷰는 방역 수칙을 철저히 준수하여 진행되었습니다. 현재 효정님이 우아한형제들에서 맡고 있으신 역할과 프로젝트를 소개해 주세요. 안녕하세요, 배민Android개발팀에서 배달의민족 안드로이드 앱과 배민주문접수 안드로이드 앱을 개발하고 있는 윤효정입니다. 배민주문접수 앱에 대해 소개드리면 배민 서비스를 이용하시는 가게 사장님들이 주문을 접수하고 잘 관리하실 수 있도록 지원하는 서비스입니다. 최근에는 배민Android개발팀 팀장을 맡게 되어, 신규 프로젝트의 기술검토부터 안정적으로 기능을 배포할 수 있도록 챙기는 역할을 하고 있습니다. 담당업무 소개 최근에 일하며 보람을 느꼈던 순간을 이야기 해주세요. 사실 프로젝트가 생성되는 단계에서 서비스 방향과 개발 방안에 대해 논의하고, 여러 프로젝트들이 병렬로 잘 수행되도록 관리하는 순간들이 모두 의미 있는 것 같습니다. 최근에 팀장을 맡게 되면서 개발 업무와 병행하는 플레잉 코치 역할을 하고 있는데요. 팀에서 어려운 과제를 수행하며 동시에 코틀린 변환, 리팩토링, 구조 개선 등의 실행 방안을 팀원들과 논의하고는 하는데, 저희 팀원 모두 능동적이고 실행 의지가 강한 탓에 일이 순조롭게 진행되는 편입니다. 이럴 때 저희 팀이 잘 운영된다는 생각에 보람을 느끼는 것 같아요. 또한 동료 개발자와 서비스 방향과 과제를 논의하는 과정에서 제가 제시한 의견에 대한 긍정적인 반응이 있을 때도 보람을 느낍니다. 한 번은 배민플랫폼실 TF에서 진행하는 큰 프로젝트에 주문접수앱 개선 업무를 담당했는데, 함께 일 한 동료로부터 감사 인사를 받았을 때 “신뢰받는 사람이구나”라는 생각에 뿌듯하더라고요. 함께 일하는 동료들에게 긍정적인 피드백을 받을 때 보람을 느끼고 또 제가 일을 즐겁게 하는 원동력이 되는 것 같아요. 마지막으로 안드로이드 개발 일을 할 때에도 보람을 느끼는 순간들이 많은데요. 배민앱에 주문내역 웹뷰에서 원인이 불명확해 오래 묵혔던 버그를 클리어하게 해결했을 때 잔잔한 만족감이 오래갔습니다. 개발자다 보니 잘 짜인 코드와 안정적인 서비스로도 심적 힐링이 될 때가 있는 것 같아요. (웃음) 기술 성장 과정 개발자 동료들과 함께 개발하고 성장하는 과정에서 안드로이드 개발자로서의 기술 습득은 어떻게 하셨는지요? 저는 좋은 시니어 개발자와 함께 일하면서 기술을 습득하고 성장한 것 같습니다. 처음에 신입으로 입사했을 당시에는 주니어 개발자지만 크고 작은 미션을 혼자서 수행하는 일도 있어서 많은 실패를 경험했어요. 개발자는 일정 내 기능을 구현하는 것이 최우선 목표이다 보니, 일정을 맞추는 것도 빠듯한 실력이어서 버그가 많았던 것으로 기억합니다. 회사가 성장하고 새로운 시니어 개발자와 코드 리뷰를 할 수 있는 기회들을 갖게 되면서 실패를 통해 배울 수 있는 환경에서 일할 수 있게 되었고, 그 과정에서 코드의 네이밍, 가독성, 역할 분리에 대한 고민을 하고 코드를 보다 간결하게 작성할 수 있게 되었습니다. 당시에 간결한 코드를 작성하기 위해 개발 서적을 대거 탐독했고, 사내에 다른 시니어 개발자가 이끌었던 스칼라 빨간책 스터디도 재미있게 참여했어요. 또한 코드 리뷰 프로세스에 시간이 소요되는 단점을 보완하고 개발을 효율적으로 하기 위한 다양한 시도와 노력이 있었는데요. MVP+Repository 조합 패턴 형태를 도입하는 시기에 많은 개발자가 회사에 합류해 동료들과 unitTest 스터디를 함께 하면서 실무에 적용하기도 했어요. 이 패턴을 적용하면서 비즈니스 로직이 분리되긴 했지만, Presenter가 비대해질뿐더러 비지니스 로직의 재사용성이 떨어지는 것도 문제였지요. 레거시 코드에서는 운영 개선과 병행해서 시도하기 힘들었던 점을 보완하기 위해 시니어 개발자가 Android cleanArchitecture+RxJava2 를 채택했고, 팀원들과 스터디 하면서 기술 수준을 맞춰 나갔던 기억이 있습니다. 배민앱, 주문접수앱에 그 경험들을 적용하면서 개발 역량은 꾸준히 성장한 것 같아요. 잘 짠 코드를 많이 봐야지만 저도 더 좋은 코드를 짤 수 있다고 생각해요. 저희 팀원분들 대부분이 시니어 레벨이기도 하고 신규 API를 적용하고자 하는 부분에 있어서는 각자 검토하고 제안하세요. 서로 배울 수 있는 동료들과 함께 일하고 있다는 점에서 기술 습득을 위한 최상의 환경과 조건에서 일하고 있다고 생각합니다. 역량에 대한 생각 우아한형제들의 서비스 가치를 만들기 위해 안드로이드 개발자는 어떤 역량을 갖춰야 할까요? 동료와의 소통 과정에서 즐거움을 느끼고, 안드로이드 개발 업무에 진심이면 된다고 생각합니다. 이번 인터뷰를 하면서 들었던 생각은 “나는 안드로이드 개발자이고, 어떤 개발이든 상관없이 잘할 수 있다”라는 자신감도 좋지만, 배민앱과 서비스에 대한 호기심과 관심에서 나오는 개선 의견이 있는 분이면 더 좋을 것 같아요. 사용자로서 우아한형제들 서비스에 대한 생각들 예로들면 ‘이 기능은 왜 도입을 안 하고 있지?’와 같은 관심이 있어야지만 서비스에도 새로운 가치를 만들 수 있다고 생각합니다. 협업하는 사람들과 지속적인 커뮤니케이션을 하는 것 또한 서비스 가치를 만들기 위해서는 꼭 필요하다고 믿습니다. 제가 믿는다고까지 이야기하는 이유는 하나의 과제 또는 미션을 수행할 때는 기획, 디자인, 서버, iOS, QA 직무를 맡는 동료들과도 긴밀하게 커뮤니케이션을 하면서 과제를 수행하게 되는데요. 각 담당자들의 수행 결과물 즉 현상으로 전달되는 것을 그대로 이행하는 데만 그치면 당초의 의도와 결과가 다르게 일이 진행될 확률이 경험상 높았어요. 한 프로젝트 안에서 각 파트가 가진 목표가 있지만 저변의 의도를 파악하고자 한다면 확실히 모두가 프로젝트를 바라보는 관점이나 목표가 분명해집니다. 과제 의도와 다르게 목표가 설정되는 경우에는 피드백을 통해 디벨롭해 나가야 된다고 생각하고요. 이런 일련의 조율 과정을 유연하게 커뮤니케이션하고 즐길 수 있어야 할 것 같아요. 기술 역량에 대해서도 스스로가 n개의 스킬을 보유했다는 사실도 중요하겠지만 그보다는 서비스 개발을 하면서 어떤 상황적, 개발적 고민이 있었고, 어떻게 극복하고 해결했는지 등의 반복된 훈련을 통해 얻은 판단력이 핵심인 것 같아요. 더불어 안드로이드 개발 트렌드에 대해 민감할 필요는 없지만, 추세나 흐름에 대해서도 놓치지 않으셨으면 좋겠어요. 우아한형제들의 개발문화 ‘배민Android개발팀’만의 문화와 매력은 무엇인가요? 재택근무 초반에 생성한 구글 meets 채널이 있는데 저희 팀에서는 ‘티타임방’이라 불러요. 티타임방을 상시로 오픈해 팀원 간의 업무 공유를 하기 위한 목적으로 운영된다는 점에서 이점이 크다고 생각합니다. 저희는 프로젝트가 병렬로 진행되기 때문에 개발자 간에 즉각적인 논의가 필요할 때가 있는데, 이때 주저하지 않고 대화를 시작할 수 있는 효과가 있어요. 물론 여기서 일 얘기만 하는 건 아니고 사담도 나누다 보니 코로나로 인해 격리된 느낌을 해소해 주기도 하고, 한 공간에 모여서 일한다는 느낌도 들어 팀원들간 결속력을 높이는 것 같아요. 그렇다 보니 티타임방이 의무가 아닌데, 팀원들이 돌아가면서 거의 상주해 있어요. 공동카페 운영의 느낌이죠. 이렇듯 티타임방이 자연스럽게 운영되는 것만으로도 팀원들의 성향과 팀 분위기가 어떤지 아시겠죠? (웃음) 마무리하며 우아한형제들 개발자로서 얻을 수 있는 한 가지가 있다면 무엇일까요! 좋은 동료, 업무 환경, 복지, 개발문화 언급할 수 있는 것들이 많겠지만 한 가지를 꼽아보자면 나를 포함해 가족, 친구, 지인이 일상생활에서 늘 사용하는 서비스 앱을 A부터 Z까지 개발할 수 있다는 사실 그 자체가 매력적이라고 생각합니다. 타 기업의 경우 앱 개발 파트가 구분되어서 경험해 볼 수 있는 도메인이 제한적일 수도 있는데 비해, 우아한형제들의 경우는 모든 도메인에 나의 노력과 손때(?)가 묻어있다는 것이죠. 서비스 개발자로서 도전 과제들이 많은 만큼 성장폭도 크고 자연스레 서비스에 대한 오너십 또한 강해집니다. 개발직군 모집공고 바로가기 콘텐츠 저작권은 우아한형제들에 있으며, 무단 배포를 금지합니다.
더 보기
이미지
인터뷰
우아한형제들의 기술이사 다섯분을 소개합니다.
우아한형제들의 기술이사
Aug 12, 2020 • 송재하 안녕하세요, 우아한형제들 CTO 송재하입니다. 저는 올해 4월 1일에 우아한형제들에 합류했는데요, 그 이후 몇 달간 새로운 환경에 정착하고 또 의욕과 영감을 불러일으켜 준 다섯분의 기술이사님들과 기술이사 제도에 대해 여러분들께 소개하는 것으로 우아한형제들 기술블로그와의 인연을 시작해볼까 합니다. 들어가며 본론으로 들어가기 전에, 제가 우아한형제들에 합류하게 된 얘기부터 먼저 해 보겠습니다. 제가 직전 직장을 떠나 다음 일터를 찾겠다는 결심을 하고 정리를 해 나가던 어느 시점에, 평소 알고 지내던 우아한형제들의 김범준 대표님이 함께 일해보지 않겠냐는 제안을 하셨었는데요, 이제 말씀드리지만 처음에 몇 번을 고사 했었습니다. 그러다가 마음이 움직이기 시작했던 것이, 제 커리어 설계안을 들은 대표님이 매우 도발적이면서도 재기발랄한 질문을 던지면서였던 것 같습니다. 여기 에 그 때의 흔적이 남아 있군요. 저는 원래 도메인을 달리해 가며 3년여 전의 제 전직장 정도 회사에 합류해서 유니콘으로 잘 키워 나가는 경험을 재현하면서 “연쇄 유니콘 메이커”로 성장하는 방향을 잡았었습니다만, 대표님의 “챔피언스리그 우승 도전이 진짜 도전” 이라는 얘기에 마음이 동해서 결국 우아한형제들에 합류하게 됐습니다. 이렇게 보면, 저는 우아한형제들을 최고의 개발 조직으로, “챔피언스리그 우승권”으로 만들어 내는 것이, 입사 이전부터 요구받은 내재적 목표라 할 수 있겠습니다. 이걸 좀 더 구체적이고 체감되게 표현해 보면, 우아한형제들을 네OO, 카OO 등을 포함한 유수한 개발 조직들과 어깨를 나란히, 아니 그보다 앞서야 한다는 얘기입니다. 우아한형제들이 지금까지 쌓아온 업적이 작지 않지만, 앞에서 언급한 다른 클럽들이 가진 긴 업력과 두터운 인적 자원, 총체적 역량을 고려했을 때, 여간 어려운 일이 아닐 것입니다. 하지만, 이 글에서는 언급하지 않는 여러 좋은 여건과 함께, 이번에 소개하는 우아한형제들의 기술이사 제도와 훌륭한 기술이사님들을 통해 내부의 개발자들이 잘 성장하고, 시스템과 인재의 역량을 극대화할 수 있도록 조직화하며, 업계에서 선망하는 개발 조직을 만들어 가는 것이 저 목표를 이루는 올바른 길이라 생각하며, 본론으로 들어가겠습니다. 우아한형제들의 기술이사 우아한형제들은 2020년 들어서며 개발 역량 강화를 위해 개발직군에 대한 별도의 직급 체계를 마련했습니다. 새로운 체계에 따라 개발직군은 TM(Technical Manager) 트랙과 TE(Technical Expert) 트랙으로 이원화하고, 이에 따라 기존의 임원과는 별도 트랙으로 개발직군의 정점에 선 기술이사도 다섯 분을 선임했습니다. 기술이사는 단순히 본인에게 주어진 일만 잘 하는 것이 아니라, 본인이 가진 경험과 역량을 다른 구성원들과 함께 나누면서 발전시키는 역할을 하는 분들로, 소속된 업무조직 내에서의 직책과는 별개입니다. 공교롭게도 이렇게 선임된 기술이사 5분의 직책 분포도 실장 1명, 팀장 2명, 팀원 2명으로, 직군 전문가 역할의 면모를 잘 나타내고 있습니다. 기술이사 제도는 개인의 역량과 역할에 대한 회사의 기대치를 나타낸 것으로, 소속 조직이나 직책과 무관하게 본인이 가진 개발자로서의 경험과 역량에 기반한 역할이라고 생각할 수 있습니다. 우아한형제들의 기술이사 제도와 기술이사 개개인의 면면을 소개하기 위해, 우아한형제들 내부에서 기술이사님들을 소개하기 위해 진행된 DR과 기술이사님들간의 인터뷰를 공유드립니다. 우아한형제들의 기술이사 다섯분을 소개합니다. DR : 안녕하세요 여러분 :) 오늘은 오랫동안 여러분이 받아보지 못하셨을 수 있는 질문으로 시작해볼게요. 어떤 계기로 개발자가 되셨나요? 민태 : 언제 어떤 계기로 개발자가 되기로 결심했는지는 잘 모르겠어요 ㅋㅋㅋ 국민…아니 초등학교 때 국민.. 초등학교 때 이모부 댁에 있는 SPC-1000에서 구동되는 게임과 BASIC 코드들을 신기해하며 만져본 기억은 나지만 그게 촉매제였을까요? 잘 모르겠네요. 기술이사 임정기님 정기 : 저도 초등학교 6학년때 컴퓨터학원에서 Basic 이라는 언어를 처음 접했고, 초중고 학창시절 삼국지등 전략시뮬레이션 PC게임을 매우 좋아했었습니다. 아마 그게 시작이었던 것 같아요. 대학교 과를 정할때 게임을 많이 할수 있지 않을까 라는 생각에 모두 컴퓨터관련 학과로 지원을 해서 컴퓨터학부를 전공하게 되었….ㅋㅋㅋㅋ 기배 : 저는 (어린 시절은 건너뛰고) 고등학생 때 사설BBS를 운영했었어요. 개인이 운영하는 소규모의 나우누리, 천리안 같은 서비스인데요. 이 때는 ANSI 코드로 프론트엔드 개발을 하던 세상이었습니다. 그 후로 인터넷 세상이 오면서 자연스레 Perl, PHP, JavaScript를 하게 되며 밥벌이를 시작하게 되었는데.. (이후 과정은 눈물 없이 들을 수 없는 스토리이기 때문에 후략) 권남 : 대학교 전공이 컴퓨터 공학이었는데, 사실 그냥 별 생각없이 간 편입니다. 졸업하고 났더니 할 수 있는게 이것밖에 없어서 그냥 했습니다. ( DR: 근데 막 하니까 잘한건가요 ㅎㅎㅎ) 하다보니 재밌어서 좀 열심히 하는 편이었습니다. 머리가 나쁘니 배운 내용은 정말 사소한 것들까지 기록으로 남겼었는데, 많은 분들이 그걸 보고 좋다고 해주시니 또 열심히 기록으로 남기기도 하였습니다. (DR : 아…권남님은 칭찬에 약한편 ㅎㅎㅎ) 희송 : Hoxy … 저만 비전공자 인가요? 전공은 컴퓨터공학과 출신은 아니지만 취미로 프로그래밍하는 것을 좋아했습니다. 때문에 C언어 과목을 수강신청해 듣기도 했습니다. 매주 마다 내주는 과제와 시험으로 고생했네요.ㅠㅠ 대학을 졸업한 후에는 평생 직장생활을 해야하니 내가 좋아하는 일을 하자고 마음을 먹고 프로그래머의 길로 들어서게 되었어요. 기술이사 신희송님 DR : 오 ㅎㅎㅎ 한번도 여쭤보지 않았던 질문인데 배경과 계기가 너무 재밌는데요, 그렇게 개발자가 되셔서 각자 다른 시기에 우아한형제들에 입사 하셨는데, 우아한형제들에서 꼭 이뤄내고싶다 하는 일이 있으신가요? 정기 : 사실 아직 정답을 찾지는 못했지만 우아한형제들에서 좋은 동료들과 함께 조금씩 찾아가고 있는 것 같아요. Site Reliability Engineering 업무를 하면서 꼭 이루고 싶었던 목표는 어떠한 이유가 되었던지, 설사 누군가 의도적으로 서비스에 장애를 내려고 하더라도 서비스의 안정성이 유지 될 수 있는 탄탄한 아키텍처를 갖춘 굳건한 시스템을 만드는 일입니다. 그러한 아키텍처 위에서 고객에 가치를 주는 비지니스 픽처들이 더 빠르게 만들어질수 있는 상상도 하고 있습니다. 희송 : 아마 다들 이 질문은 현재 맡고있는 업무에 연관되어 있을 것 같아요. 저는 이커머스플랫폼 시스템을 잘 구축하고 싶어요. 새로운 이커머스 사업을 할 때 비지니스만 올리면 되는 그런 커머스 “플랫폼”을 만들고 싶어요. 새로운 사업마다 재구축을 하면 시간과 리소스가 많이 필요하고 비효율적일 것이라고 생각해서요. 민태 : 맞아요, 저도 그래요. 현재는 “디자인 시스템” 구축이 꼭 이뤄내고 싶은 일입니다. 2018년 말에 생긴 목표인데요, 충분히 가능하다 생각하고 조금씩 기회 될 때마다 여러 가지 시도를 하고 있습니다. 내년엔 구체적인 성과를 보일 수 있는 수준까지 진행되기를… 기배 : 입사 후 시스템들을 들여다 본 후에 세웠던 목표들이 있었는데요. 다양한 프로젝트를 진행하며 많이 달성되었습니다. (달성되었다는 기준은 주관적) 요즘은 다음 레벨의 비즈니스 scalability를 제공하기 위해서 무엇이 필요할 지 다시 고민하고 있습니다. 권남 : 1등은 이미 됐으니, 1년 365일 무장애? (전원 오~~ 눈치) 기술이사 손권남님 DR : 365 무장애라는 목표에 고통받으실 많은 분들이….ㅋㅋㅋㅋㅋ 기술이사가 되셨는데 기술이사는요? 새로운 역할에 어떤 기대가 있으신가요? 권남 : 제가 “기술적으로” 다른분들보다 압도적으로 뛰어나기 때문에 기술이사가 되었다고는 생각하지 않아요. 다만, 뭔가 시스템이 지지부진하고 문제가 있을 때 참고 넘어가지 못하는 경향이 있는데 그런 상황에서 어떻게든 개선책을 찾아보려는 아주 강력한 욕구가 있습니다. 함께 개선해 나가는데 길잡이 같은 역할이 될 수 있을 것 같아요. 정기 : 저도 함께하는 것이 중요하다고 생각해요. 기술이사분들이 기술적인 부분에서 회사의 성장에 맞는 아키텍처 및 기술적 의사결정에 많은 역할을 해야할텐데, 이때 기술이사로서 많은 도메인팀과 더 소통하고 지금 우리가 풀어야 할 기술적 과제를 해결하는데 기여하고 싶어요. 민태 : 제가 생각하는 기술이사의 역할은 지속적으로 개발을 하며 기술에 대한 나눔이나 직업인으로서의 지식 나눔을 후배들에게 실천하는 것이라 생각해요. DR : (눈을 반짝이며) 어떤 실천을 하시고 싶으신가요 ㅎㅎㅎ 테크러닝 2기 가나요….? 기술이사 김민태님 민태 : 실천의 형태는 여러 가지가 있을텐데 회사나 구성원의 상황에 따라 구체적인 모양은 변할 것 같지만 본질은 늘 개발자 선배로서 후배들에게 나누어주는 역할이 아닐까 싶어요. 그래서 어떤 식의 나눔을 받으면 좋을지 많은 의견을 듣고싶네요 ㅎㅎ 기배 : 보통 대부분의 개발자들이 입사 인터뷰 때 본인이 일하게 될 팀이 어떤 팀인지 궁금해 합니다. 좋은 팀에서 좋은 동료들과 일하고 싶다고 얘기하곤 하는데요. 좋은 사람을 맞으려면 우형의 개발 조직들이 더 좋은 팀이 되어야 할 것 같아요. 좋은 팀이 된다는 것에 많은 것들이 필요하겠지만 이런 부분에 더 기여하고 싶어요. 최근 1년 정도는 프론트엔드 워크샵, 컴퓨터 시스템 교육에 시간을 써왔는데요. 이 외에도 제가 필요한 부분이 있으면 알려주셔요. (저희를 찾아주세요~~) 희송 : 첫째는 모든 구성원분들이 좋은 개발자로 성장하는데 돕고 싶습니다. 어떻게 하면 좋은 개발자로 성장할 수 있는지 같이 고민하고 토론하며 방법을 같이 찾아나가면 좋겠습니다. 둘째는 저도 최근에 관심이 생긴 부분인데 좋은 팀웍을 만들어 내는 것이라고 생각합니다. 셋째는 지속적으로 확장하는 서비스를 개발하고 유지하는데 기여하는 것이라고 생각합니다. DR : 깔끔하고 완벽한 마무리 감사합니다. 마지막으로 간단하게 하나만 여쭤볼게요. 우아한형제들 하면 떠오르는 송파구에서 일잘하는 11가지 방법이 있잖아요 ~ 특별히 좋아하는 항목이 있으세요? 권남 : 모두다 의미있는 것들이라서 한 가지만 콕 찝기는 어려운 편입니다. (이렇게 시작하면 되는거죠? ㅋㅋㅋㅋ) 쓰레기는 먼저 본 사람이 줍는다 인데요, 무슨 일이 생겼을 때 누군가 해주겠지 기다리지 않고 스스로 먼저 하는 자세가 필요하다고 생각하고, 혹은 그런게 필요하지 않냐가 직군과 직급을 넘어 먼저 얘기할 수 있는 회사가 좋은 회사라고 생각해서요. 민태 : 저는 가족에게 부끄러운 일은 하지 않는다 입니다. 아이를 키우며 늘 생각하는 것은 정의로운 세상과 정의로움의 가치에 대해 잘 알려주고 싶다는 욕망입니다. 정의롭다는게 지키기 너무 힘들고 정의에 대한 기준을 세우기 어렵지만요. 다만 내 가족이 부끄럽게 생각할 만한 일을 하지 않으면 소시민으로서 지킬 수 있는 정의는 지키며 살아가는 게 아닐까 하는 생각이 들게 하는 문구라서 좋아합니다. 회사가 제 개인적인 가치를 응원해주고 있다는 생각도 들고요. ^^ 기술이사 신기배님 기배 : 모든 일의 궁극적인 목적은 ‘고객창출’과 ‘고객만족’이다. 한국, 미국, 인도네시아에서 10년간 사업을 했습니다. 그리고 한국의 소기업, 중소기업, 대기업, 재벌그룹 등 다양한 규모의 회사에서 일했습니다. 게임, 광고, 검색, 개인화, 교육 등 다양한 도메인에서 다양한 고객들을 만족시키기 위해 노력했는데요. 과정은 고되고 결과가 예상 밖인 경우가 더 많았지만, 그런데도 도전할 수 있었던 이유는 기존 산업을 바꾸거나 새로운 산업을 만들어 내고 싶다는 욕망 때문이었다고 생각합니다. 내가 만들어 낸 결과물이 많은 사람들의 삶을 바꾸고 있을때의 성취감만큼 큰 모티베이션은 없다고 생각합니다. :) 정기 : 오 저도 같은 항목 ! 모든 일의 궁극적인 목적은 ‘고객 창출’과 ‘고객 만족’이다. 예요 ㅎㅎㅎ 다른 항목이 덜 중요하다기보다는 해당 항목이 우리가 일을 하는데 가장 근본적인 이유라고 생각을 해서 제일 좋아해요. 저 뿐만 아니라 같이 업무를 하는 동료분들에게 이런 부분을 강조하기 위해서 극단적인 표현같지만 저는 “조직장은 고객이 아니다” 라는 표현을 간혹 사용합니다. 희송 : 이 질문에서 저희 셋이 통했네요 ㅋㅋ 혁신의 주체는 기술이 아닌 “고객”이라고 생각해요. 고객으로부터 선택을 받지 못하면 그 어떤 기회도 얻지 못할 것이기 때문인데요, 고객으로부터 엄청난 사랑을 받게 되면 이를 버터낼 안정적인 시스템을 구축해야할 기술적인 도전도 생기고, 고객 행동의 데이터를 활용할 수 있는 기회도 열리게 되는 것 같아요. 그래서 일을 잘하는 방법중 좋아하는 항목입니다. DR : 오늘 이렇게 인터뷰에 참여하기 위해 시간내주셔서 감사하고, 말씀하신 것처럼 (그러고보니 이제 기술블로그에도 박제 되었네요 ^^) 지식 나눔을 후배들에게 실천하는 것을 위해 Dev-Rel에서 열심히 찾아뵙고 괴롭히겠습니다 ㅋㅋㅋㅋ 기대해주세용 ~~ 기술이사 5인과 지나가는 길에 붙잡힌ㅋㅋㅋ CTO 송재하님 그리고 우아한테크코스 박재성이사님 콘텐츠 저작권은 우아한형제들에 있으며, 무단 배포를 금지합니다.
더 보기
이미지
비즈니스
‘우아한테크코스-웹백엔드’ 2기를 모집합니다
우아한테크코스가 뭔가요?
* 아래 글의 원문은 우아한형제들 기술블로그(http://woowabros.github.io/techcourse/2019/10/14/woowacourse.html)에서 확인하실 수 있습니다. ‘우아한테크코스 - 웹 백엔드’ 2기를 모집합니다. 아무 것도 없는 상태에서 우아한테크코스 1기 모집 글을 쓸 때가 어제 일 같은데 벌써 2기 모집 글을 쓰네요. 1기 모집 글을 쓸 때는 막막함과 약간의 두려움이 있었다면 2기 모집 글을 쓰는 지금은 더 좋은 품질의 교육을 만들고 싶다는 욕심이 크네요. 우아한테크코스가 걸어가려고 하는 지향점은 크게 달라지지 않았기 때문에 우아한테크코스 1기 모집(링크) 글에서 확인해 보면 좋겠습니다. 이 글에서는 우아한테크코스 1기를 진행하면서 변경된 내용과 교육 과정을 공유하면서 약간의 회고도 담아보려고 합니다. 우아한테크코스가 뭔가요? 우아한테크코스는 프로그래밍을 배워 프로그래머로서의 삶을 살고 싶은 사람들을 대상으로 하는 프로그래밍 교육 과정입니다. 한마디로 프로그래머로 취업하고 싶은 사람들을 위한 직업 전문 학교와 같다고 생각하면 됩니다. 2019년에 1기 교육생을 선발해 5월부터 교육을 시작했고, 2019년 12월까지 교육을 진행 중인 상태입니다. 1기 교육을 진행하면서 2기 교육생 선발을 병행하려니 이 또한 새로운 도전이네요. 우아한테크코스는 계속해서 새로운 문제를 만나고 해결하면서 조금씩 전진하고 있습니다. 우아한테크코스가 지향하는 교육은? 우아한테크코스가 지향하는 교육 목표는 1기와 달라진 점이 없지만 중요한 만큼 다시 한번 반복하는 것이 좋겠네요. 우아한테크코스는 일반 사용자용 서비스를 개발하는 회사가 필요로하는 역량을 키우는 것에 집중함으로써 재교육 없이 현장의 업무를 바로 시작할 수 있도록 하는 것이 첫 번째 교육 목표입니다. 학교에서 배우는 내용과 현장에서 필요로하는 역량의 차이가 점점 더 벌어지고 있는 상황이라 이 차이를 극복할 수 있는 교육 과정을 설계하고 운영하는 것입니다. 두 번째 목표는 자기 주도적인 학습 역량을 키우는 것입니다. 우아한테크코스는 프로그래머가 갖춰야 할 역량을 쌓기 위한 기간으로 봤을 때 그리 긴 기간은 아닙니다. 우아한테크코스는 더 많은 지식을 전달하는 것이 목표가 아니라 스스로의 힘으로 성장할 수 있는 근육을 키울 수 있도록 하는 것이 목표입니다. 이를 위해 모든 과정은 미션 기반으로 진행하며, 각 미션에 대해 리뷰 요청을 하면 선배 프로그래머가 피드백을 주는 방식으로 진행합니다. 세 번째 목표는 다른 사람들과 소통하고 협업하면서 같이 성장할 수 있는 인재를 키우는 것입니다. 소프트웨어를 통해 해결해야 할 문제의 난이도와 복잡도가 높아지면서 기술적인 역량도 중요하지만 다른 사람과의 소통과 협업을 통해 문제를 해결할 수 있는 역량에 대한 중요도가 점점 더 높아지고 있습니다. 우아한테크코스는 공동 학습, 짝 프로그래밍, 팀 프로젝트를 통해 의사소통, 협업, 팀워크와 같은 소프트 스킬 역량을 갖춘 인재를 키우는 것을 목표로 하고 있습니다. 우아한테크코스 교육방식과 내용은? 우아한테크코스는 현장형 교육, 자기주도 학습, 소프트 스킬을 갖춘 인재 양성이라는 세 가지 목표를 달성하기 위해 기존의 학습 방식과는 다른 접근 방식으로 도전하고 있습니다. 1기 교육 과정과 결과물을 통해 교육이 어떻게 진행되고 있는지와 커리큘럼을 공유해 봅니다. 우아한테크코스 교육의 중심에는 단계별로 설계된 다양한 미션이 있습니다. 미션을 해결하려면 이론적인 지식이 필요할 수도 있고, 반복적인 연습을 통해 경험을 쌓는 것일 수도 있는데요. 미션을 해결하기 위한 사전 지식을 전달하지 않은 상태에서 미션을 진행합니다. 따라서 미션을 해결하기 위해 필요한 지식을 스스로 찾아 학습하고, 적용하고, 연습하면서 자기주도 학습을 연습하도록 교육 과정을 설계했습니다. 대부분의 미션은 혼자가 아닌 두 명이 같이 해결합니다. 소프트웨어 업계에서는 컴퓨터 한대로 두 명이 같이 문제를 해결하는 방법을 짝 프로그래밍이라고 하는데요. 짝 프로그래밍은 다른 사람과 소통을 연습할 수 있는 가장 작은 단위이고, 모르는 지식을 같이 학습할 수 있는 좋은 방법이라고 생각해요. 초반에는 다소 어색하고 힘들어하는 친구들도 있습니다. 하지만 시간이 지나면서 생각이 다른 사람과의 소통을 통해 사고의 폭이 넓어지는 것을 느끼는 친구들이 많아지는데요. 강의장이 점점 더 시끄러워지고, 더 많은 토론이 이루어지는 모습을 보면서 짝 프로그래밍이 효과가 있음을 피부로 느끼고 있습니다. 짝 프로그래밍을 통해 소프트 스킬을 연습하고 같이 학습하도록 교육 과정을 설계했습니다. 1:1 피드백과 상황에 맞는 적절한 피드백은 프로그래밍 역량을 빠르게 향상할 수 있는 좋은 방법이라고 생각합니다. 미션을 완료한 후 현장 경험을 가진 경력 개발자에게 리뷰 요청을 하면 피드백을 주는 방식으로 진행합니다. 경력 개발자가 직접 리뷰를 함으로써 현장에서 필요하고, 중요하게 생각하는 점을 강조해 피드백하다 보면 자연스럽게 현장형 인재로 성장할 수 있다고 생각합니다. 1:1 피드백과 상황에 맞는 적절한 피드백을 받음으로써 프로그래밍 학습의 즐거움을 느낄 수 있는 효과도 있습니다. 온라인 코드 리뷰를 통해 현장형 인재로 성장하도록 교육 과정을 설계했습니다. 짝 프로그래밍은 가장 낮은 수준의 소프트 스킬 경험을 할 수 있습니다. 짝 프로그래밍을 통해 최소한의 소프트 스킬을 쌓은 후 4~5명 규모로 팀 프로젝트를 진행합니다. 팀 프로젝트를 통해 다양한 생각을 조율하고, 팀의 원칙을 만들고 지키는 것의 중요함을 깨달을 수 있습니다. 더 해결하기 어려운 문제에 봉착하고 이 문제를 해결해 나가며 소프트 스킬을 쌓는 경험을 합니다. 팀 프로젝트를 통해 소프트 스킬 역량을 향상하도록 교육 과정을 설계했습니다. 소프트 스킬을 향상하기 위한 일환으로 글쓰기와 발표하기도 포함되어 있습니다. 1기 과정을 진행하면서 글쓰기와 발표하기의 중요성을 느끼고 추가했습니다. 글쓰기는 레벨별로 한 편의 글을 쓰고, 교육생 사이의 피드백을 통해 완성해 가는 방식입니다. 코드리뷰에서 힌트를 얻어 교육생끼리 리뷰하는 방식으로 진행합니다. 이런 글쓰기 과정을 통해 선정한 레벨별 우수작을 공유해 봅니다. - 레벨1 우수작: 우아한테크코스 : 항해의 시작(링크) - 레벨2 우수작: 우아한테크코스 : 나만의 항로 찾기(링크) 글쓰기 연습을 했으니 다음으로 필요한 것은 말하기 연습이겠죠? 말하기 중에서도 발표하는 경험을 과정이 끝날 때까지 최소 한 번 이상은 하도록 의무화하고 있어요. 우아한테크코스 교육은 고정되어 있지 않습니다. 시대의 흐름에 따라, 현장의 요구에 따라 지속해서 변화 발전해 나갈 것입니다. 변화를 거부하기보다 어떻게 하면 변화를 빠르게 수용할 수 있는 방법을 찾기 위해 노력하겠습니다. 우아한테크코스 커리큘럼 2020년에 진행하는 ‘우아한테크코스 - 웹 백엔드’는 다음과 같이 크게 4개의 단계로 구성되어 있어요. - 레벨1: 프로그래밍 언어를 집중적으로 학습하고, 웹 프로그래밍에 대한 기본적인 경험 - 레벨2: 웹 프로그래밍에 대한 추가 학습을 한 후 팀 프로젝트 경험 - 레벨3: 웹 서버 구현, 프레임워크 구현, 대용량 데이터 처리, 레거시 코드 리팩토링 등과 같이 난이도가 높은 미션을 통해 백엔드에 대한 깊이를 높혀가는 경험 - 레벨4: 팀 프로젝트를 통해 프로젝트 관리, 협업, 배포 자동화 등의 경험 레벨1, 레벨2, 레벨4는 8주의 기간 동안 진행하고, 심화 과정이라 할 수 있는 레벨3는 15주 정도의 기간 동안 진행할 계획입니다. 2기 과정과 1기 과정의 가장 큰 차이점은 레벨3의 레거시 코드 리팩토링 미션이 추가된 것입니다. 현장 소프트웨어의 대부분은 레거시 코드가 존재하며, 프로그래머가 가장 많은 시간을 투자하는 일이 레거시 코드를 개선하는 일이기 때문입니다. 레거시 코드 리팩토링 미션을 추가해 우아한테크코스 교육이 좀 더 현장과 가까이 다가갈 수 있도록 개선했습니다. 우아한테크코스와 함께하고 싶은 사람은? 우아한테크코스에 관심이 좀 생겼나요? 그렇다면 우아한테크코스는 어떤 사람들을 대상으로 교육을 하려고 하는지 이야기해볼게요. 우아한테크코스는 학력과 나이에 대한 제한이 없습니다. 아무런 제한을 두고 있지 않지만 교육과정이 꼭 필요하다고 생각하는 사람들을 우선적으로 선발합니다. 그래서 우아한테크코스의 교육과정이 아니라 다른 곳을 통해서 취업이나 이직이 가능하다고 생각하는 분들은 우선순위에서 밀릴 수 있습니다. 예를 들어 프론트엔드 개발자의 길을 걷고 있는 상태에서 백엔드로 전향하고 싶다면 반드시 우아한테크코스가 아닌 재직자 교육 과정을 통해 전향이 가능하다고 생각합니다. 또는 취업을 전제로 한 인턴 과정을 진행한 경험이 있다면 이 또한 우아한테크코스의 도움이 없어도 추가적인 도전을 통해 취업이 가능하다고 생각할 수 있습니다. 우아한테크코스는 교육 기간이 10개월입니다. 현장 경험을 가진 프로그래머로 키우는데 부족한 시간이기 때문에 프로그래밍에 대한 아무런 지식도 없는 상태에서는 지원하기 힘들고, 프로그래밍에 대한 기본 지식과 경험을 가진 사람들을 선발해 과정을 운영할 계획입니다. 프로그래밍에 대한 기본 지식과 경험에 대해 궁금한 점이 많을 텐데요. 다음과 같은 기준이라고 생각하면 될 것 같아요. - 300라인 정도의 프로그래밍 구현이 가능한 수준 - 함수, 변수, 데이터 타입, 조건문, 반복문을 활용해 프로그래밍 구현이 가능한 수준 - 구현한 소스 코드를 git과 같은 소스코드 관리 도구에 추가할 수 있는 수준 위 기준은 프로그래밍에 대한 최소한의 기준을 정리한 것이고요. 교육 과정을 소화하려면 프로그래밍에 대한 역량도 중요하지만 힘든 과정을 포기하지 않고 지속할 수 있는 동기, 성실성, 간절함도 중요하게 생각합니다. 시작하는 시점의 역량은 다른 친구들에 비해 부족했지만 힘든 미션을 만나도 포기하지 않고 도전하는 친구들이 빠르게 성장하는 모습을 많이 봤기 때문입니다. 또 하나 중요하게 생각하는 점은 프로그래밍을 학습하고 싶은 이유입니다. 프로그래밍을 배워 무슨 일을 하고 싶은지에 대한 동기도 교육 과정을 지속하는 데 중요하다고 생각합니다. 우아한테크코스 모집 절차는? 우아한테크코스 지원은 2019.10.25(금) ~ 11.5(화)에 우아한테크코스 홈페이지(링크)에서 지원할 수 있습니다. 우아한테크코스 모집 과정의 시작은 온라인 코딩 테스트입니다. 우아한테크코스에 지원한 누구나 참여할 수 있습니다. 온라인 코딩 테스트는 프로그래밍 언어에 대한 제약 사항은 없으며 자신이 가장 자신 있는 언어로 참여하면 됩니다. 자기소개서와 온라인 코딩 테스트 결과를 종합해 프리코스에 참여할 사람을 1차 선발합니다. 프리코스는 본 과정을 미리 경험해 보는 단계로 3주 동안 온라인으로 진행합니다. 본 과정과 같이 매주 미션을 하나씩 구현하고 제출하는 방식으로 진행합니다. 이 과정을 통해 지원자는 본 과정을 미리 경험해 보면서 교육의 참여 여부를 결정할 수 있고, 저희는 본 과정을 소화하는 데 어려움이 없는지 판단할 수 있는 기간이 될 수 있을 것 같아요. 목적의식 있는 연습을 통한 효과적인 학습(링크) 글을 통해 프리코스 진행 과정을 간접 경험해 볼 수 있습니다. 온라인 프리코스를 3주간 진행한 후 마지막으로 오프라인 코딩 테스트를 진행합니다. 오프라인 코딩 테스트는 한 공간에 모여서 3주간 진행한 미션과 비슷한 난이도의 문제를 일정 시간 동안 구현하는 방식으로 진행할 계획입니다. 3주간의 프리코스를 성실하게 잘 마무리 했다면 오프라인 코딩 테스트도 무리 없이 진행할 수 있을 것으로 예상합니다. 오프라인 코딩 테스트까지 마무리하면 자기소개서, 3주간의 프리코스 활동, 오프라인 코딩 테스트를 종합해 최종 합격자를 결정할 계획입니다. 최종 선발하기 전에 별도의 오프라인 면접은 없습니다. 프로그래밍을 통해 무엇인가를 만드는 즐거움을 느끼고 싶은가요? 다른 사람과 같이 학습하고 성장하는 경험을 하고 싶은가요? 현장의 프로젝트와 비슷한 개발 문화와 협업 경험을 하고 싶은가요? 프로그래밍 학습을 통해 지금까지 자신의 공부법에 변화를 주고 싶은가요? 우아한테크코스가 여러분이 하고 싶은 경험을 할 수 있는 좋은 기회의 장을 만들어 드릴 수 있습니다. FAQ 우아한테크코스와 관련해 궁금할 것 같은 질문에 대한 답변을 정리해 봤어요. 추가로 궁금한 점이 있다면 [email protected] 으로 이메일을 보내거나 카카오톡 채널로 문의해 주세요.   우아한테크코스 참여시 교육 비용은 어떻게 되나요? 우아한테크코스는 4주 기준 100만원 수준의 강의료를 책정하고 있습니다. 단, 강의료 전액을 우아한형제들이 지원합니다. 우아한테크코스 참여시 실습할 장비는 지급하나요? 우아한테크코스는 별도의 장비를 지급하지 않습니다. 개인 실습 장비는 각자 준비해야 합니다. 우아한테크코스 교육 시간과 장소는? 공식적인 교육 시간은 월요일 1시 ~ 6시, 화~금 10시 ~ 6시로 진행합니다. 장소는 오프라인 교육장(루터회관)이 마련되어 있습니다. 대부분의 교육을 온라인 피드백으로 진행하지만, 교육은 오프라인 공간에 모여 같이 학습하고 협업하는 방식으로 진행합니다. 공식적인 교육 시간 외에도 정해진 시간 내에 오프라인 교육장을 자유롭게 사용할 수 있습니다. 웹 백엔드에 사용하는 프로그래밍 언어는? 웹 백엔드의 경우 자바, 파이썬, 자바스크립트 등 다양한 언어로 구현이 가능한데요. 우아한테크코스는 자바를 웹 백엔드 주 언어로 사용합니다. 우아한테크코스 교육을 수료한 후 제약사항이 있나요? 교육을 끝까지 수료한 후 “우아한형제들에 입사해야 한다.”와 같은 강제사항은 없습니다. 자신이 지원하고 싶은 회사 어느 곳으로 취업 및 창업이 가능합니다. 수료의 기준이 어떻게 되나요? 우아한테크코스는 4개의 레벨로 구성되어 있는데요. 4개의 레벨을 모두 수료해야 최종 수료할 수 있습니다. 우아한 테크캠프와 다른 점이 무엇인가요? 우아한 테크캠프는 인턴 과정으로 현장에서 필요로하는 역량을 쌓기 위해 두 달 동안 진행하는 교육 과정이라면 우아한테크코스는 최소한의 프로그래밍 지식과 역량을 가진 상태에서 현장에서 업무가 가능한 상태의 개발자를 키우는 것이 목표라는 점이 다릅니다. 즉, 교육을 마치는 시점의 역량은 같지만, 교육을 시작하는 시점의 역량과 교육 기간이 다릅니다. 관련글: “배달의민족, 현장이 원하는 개발자 교육에 나선 이유: 박재성 우아한테크코스이사 인터뷰”(링크)
더 보기
이미지
인터뷰
[우아한 인터뷰] 신입사원 김용대편
우아한형제들 인터뷰
입사 축하드려요! 앞으로 용대님은 CTO실에서 어떤 일을 담당하게 되나요? 이제 들어온 지 일주일 정도 되어서 인수인계를 받고 있는 중인데요. 방금도 인수인계를 받다 왔네요.(웃음) 저는 IT인프라팀에 배속 받았어요. 저희 팀은 우형의 모든 구성원이 보다 편히 일할 수 있도록 내부 서비스를 개발하고 환경을 구축하는 일을 하고 있어요. 인턴 실습 기간 동안 IT인프라팀에서 구글 스크립트를 활용한 업무 자동화 프로세스를 만든 경험이 있는데 앞으로 맡을 업무들도 그런 업무의 연장선 상에 있을 것 같아요. 배민개발학당 인턴 모집 포스터 촬영 중 용대님은 인턴으로 시작해서 우형에 함께 하게 되었죠? 인턴 기간 중에 특별히 기억에 남는 게 있었어요? 에피소드는 아닌데, *배민개발학당이 저에게는 두 번째 인턴 경험이었거든요. 인턴 제도가 굉장히 잘 되어있는 회사라는 느낌을 받았어요. 교육기간을 거쳐 개인 프로젝트와 그룹 프로젝트, 실무까지 경험해 보니 무척 체계적인 커리큘럼이라는 생각이 들더라구요. 그래서 인턴 프로그램이 8기까지 이어 올 수 있었구나 싶어요. (*배민개발학당 : 우아한형제들 CTO실의 개발인턴 프로그램) 취준생 입장에서 인턴을 두 번하는 것도 쉽진 않았을 것 같은데요. 다른 회사에서 첫 인턴을 마무리하면서 멘토에게 ‘인턴 기간동안 적극성이 부족했다.’는 피드백을 받았거든요. 그 점을 보완하고 싶었어요. 제 개발 실력에 대한 아쉬움도 있었고요. 그래서 ‘아주 큰 대기업과 완전히 작은 벤쳐에서 각각의 아쉬운 점들을 채우고 본격적으로 취준을 해보자!’는 다짐을 했는데 ‘큰, 커져가는 벤쳐’에서 인턴도 하고, 일도 하게 됐죠! 배민개발학당 인턴 생활은 작년 12월의 김용대가 내린 최선의 선택이었다고 생각합니다. 서울사람 김용대 개발의 첫 시작은 언제였어요? 스물 세 살 때요. 저는 문과 출신이어서 미적도 대학교 1학년 때 처음 배웠어요. 전공 수업 때 애들이 hello world 찍고 테트리스 만들면서 흥분할 때도 그 의미를 잘 몰랐죠. 그러다 전역 후에 컴퓨터 공학과에 가면 컴퓨터 수리공 되는거라고 놀리던 친구를 골탕 먹이고 싶어서 해킹 프로그램을 테스트해보기 시작했는데 거기서 재미를 붙였어요. 오…. 위험한 개발자 같은데요. 아닙니다. 지금은 한참 열심히 배워나가는데 집중하고 있어요. 한참 배워서 해킹을…. 아닙니다. (웃음) 언젠가 창업을 해보고 싶은 꿈이 있는데요. 대학 때 멋진 앱을 만들어보려고 기획하는 친구와 디자인하는 친구를 모아서 프로젝트를 진행했었어요. 그런데 아무리 멋진 아이디어와 디자인을 가지고 와도 개발하는 제 능력이 부족하니까 만들 수 있는 게 결국 누구나 생각할 수 있는 평이한 수준 밖에 안되더라고요. 그런 상황이 참 싫었거든요. 그 언젠가를 위해 지금은 개발을 ‘잘’ 하는 사람이 되는 것에 최선을 다하고 싶어요. 그 ‘잘’ 하기 위한 노력 같은 걸 혹시 하고 있다면…? 책을 많이 보고 있어요. 특히 제 경우에, 개발과 관련된 공부는 무턱대고 덤비는 것보다 책을 통해 기초를 만들어놓고 덤빌 때 시간 투자를 효율적으로 하게 되더라고요. 낯선 것을 익힐 때는 이해가 안되더라도 책으로 빠르게 읽으면서 익숙한 느낌을 만들어 놓는 게 도움이 되거든요. 책을 많이 본다니, 우리 회사의 도서지원 혜택을 톡톡히 보겠네요. 맞아요. 그런데 책 구매 자체에 대한 지원보다도 회사 전체적으로 책을 읽는 문화가 자리잡혀 있는 게 정말 좋았어요. 누군가에게 ‘이런 것을 공부해보고 싶다.’고 한 마디 던지면 다들 기다렸다는 듯이 술술 다양한 책들을 권해주시거든요. 제가 지금까지 본 책은 전공책, 서점에서 높은 순위에 있는 추천 도서, 혹은 검색을 통해서 본 게 전부라 저보다 앞서 걸어가는 분들로부터 검증된 책들을 추천받을 수 있다는 게 저에겐 정말 꿀팁 중에 꿀팁이죠. 우형은 푸드테크 회사니까 음식에 관한 이야기도 좀 들어볼까요? 최근에 꽂힌 음식을 꼽아본다면? 치킨입니다!!!!!!!! 조금만 고민하고 대답해주세요.(웃음) 그럼 치킨의 갑오브갑은? B모 사의 핫후라이드 치킨요!!! 순살인가요! 뼈있는 치킨인가요! 치킨은 무조건 뼈가 있어야 합니다!! 순살은 치킨이 아니죠!! 우아한형제들 워크샵 ‘기발한피플샵’ 중 | 팀원의 생일 케익을 꾸미는 중 소신 발언 감사합니다. 우리 치킨 이야기에 조금 흥분한 것 같네요. 회사생활 이야기로 다시 돌아와볼게요. 회사 생활에서 중요한 키워드 3개만 꼽아본다면 뭐가 있을까요? 서비스, 문화, 사람을 꼽고 싶네요. 어떤 일을 하는 회사인지가 일단 중요하고요. 함께 일하는 사람들, 직장 문화 같은 게 중요한 것 같은데 사람과 문화는 서로 영향을 미치는 요소라고 생각해요. 사람들이 문화를 만들고, 문화가 사람들을 만들고. 우리 회사는 특히 자발적으로 행동하는 문화가 잘 잡혀있는 것 같아요. 예를 들면 스스로 자기 자리를 청소하고, 키친을 청소하고, 정리하고 그런 것들요. 구성원들이 스스로 그런 문화를 지키려고 노력하고 있는게 신기해요. 일주일 정도 지내면서 본 CTO실 사람들은 어땠나요? 전체적으로 다들 굉장히 재밌고, 이상한 분들이예요. 아직까지는 제가 제일 정상인 거 같은…? ‘굉장히 재밌고, 이상한 분들’의 소통st 그렇게 생각하는 사람들이 보통 ‘*이상한 사람’이라는 게 함정인데요. (*우형 CTO실에서 ‘이상한 사람’ == 개그욕심 충만, 똘끼 충만, 덕력 충만한 사람을 가리킵니다.) 아 그래요? (웃음) 농담이고, 다들 굉장히 즐겁게, 열심히 일하고 있는 것 같아요. 특히 저는 인턴 시절에 멘토였던 분들을 눈여겨 보게 되더라고요. 저의 내일, 내일 모레의 모습이니까. 그 분들이 각자 자기 자리에서 열정을 가지고 일하고, 공부하는 모습을 보고 내가 가야할 방향들을 보고 있어요. 만약 언젠가 내가 CTO가 된다면 신입 개발자에게 꼭 해주고 싶은 한 마디가 있을까요? 음. 저는 역으로, 인턴 때 CTO님께 어떤 개발자가 되고 싶냐고 물어본 적이 있어요. 그 때 CTO님이 ‘어떤 개발자가 되는 게 중요한 게 아니라…’ …잠시만요. 엄청 멋진 말을 들었는데…. ‘어떤 개발자가 되는 게 중요한 게 아니라…’ ……아… 정말 멋진 이야기였는데 기억이 안나네요……. 그럼 우리 이 질문의 답은 CTO님께 다시 들어보기로 하죠.(웃음) 마지막 질문인데요. 우리 회사 곳곳에 ‘평생직장 따윈 없다. 최고가 되어 떠나라!’는 문구가 붙어있는데요. 언젠가 용대님이 회사를 떠난다면 어떤 개발자가 되어있을까요? 저는 ‘같이 일하고 싶은 개발자’가 되고 싶어요. 그러기 위해서는 유머러스하고, 의사소통도 잘 되는 것도 중요한데요. 사실은 그것보다 개발자로서의 능력을 동료한테 인정 받는 게 가장 어려운 일이라고 생각하거든요. 같이 더 일하고 싶어서, 가지 말라고 붙잡을 만큼의 개발자가 되고 싶습니다. 사진과 글의 저작권은 우아한형제들에 있으며, 무단 배포를 금지합니다.
더 보기
이미지
인터뷰
2021 우아한형제들 경력 개발자 인터뷰 ①
송정훈 / 백엔드 개발자
좋은 것을 더 좋게! 우아한형제들의 도전은 오늘도 계속됩니다. 우아한형제들의 서비스를 더 가치있게 만들기 위해 대용량 트래픽과 대규모 인프라를 관리하며 도전하는 우아한형제들의 개발자분들, 그 중 다섯분을 인재영입팀에서 만나봤습니다. 들어가기 전에 안녕하세요 인재영입팀 입니다. 이번 직무인터뷰 과정을 통해 우아한형제들의 개발자는 어떻게 일하고 있으며, 또 어떤 도전 과제들을 수행하며 성장하고 있는지 그들의 성장 과정을 엿볼 수 있었습니다. 배민 개발자로서의 생활과 면접 꿀팁은 덤! ‘좋은 음식을 먹고 싶은 곳에서’ 의 서비스 가치를 만들어가는 개발자 다섯분의 이야기를 소개합니다. ∙ 금번 직무인터뷰는 방역 수칙을 철저히 준수하여 진행되었습니다. 우아한형제들에서 정훈님의 주요 역할과 일에 대해 소개해 주세요. 배민주문서비스팀의 백엔드 개발자로서 주문시스템의 개발과 운영 전반을 담당하고 있는 송정훈입니다. 먼저 제가 담당하고 있는 주문시스템에 대해서 좀 더 자세하게 설명해 드릴게요. 배달의민족에서 주문은 장바구니에서 “주문하기”를 누르셨을 때부터 시작됩니다. 사용자 입장에서 주문서를 작성하는 과정부터 결제 이후 보시게 되는 주문 완료 화면까지가 배달의민족 주문 서비스에 해당됩니다. 주문시스템은 이러한 서비스를 제공하고 체결된 주문을 다른 시스템에 전달하여 “좋은 음식을 먹고 싶은 곳에서” 받아보실 수 있도록 도와주는 시스템입니다. 우아한형제들이 성장하면서 주문이라는 도메인의 성격도 다양해지고 복잡해지고 있어요. 이렇게 복잡해진 주문을 시스템에 잘 녹여내고 안정적으로 운영될 수 있도록 설계하고 개발하며, 나아가 사용자들이 더 나은 주문 경험을 할 수 있도록 개선하는 역할을 하고 있습니다. 담당업무 소개 정훈님은 일하며 언제 보람을 느끼시나요? 저희 팀은 기획자와 백엔드, 프론트엔드 개발자가 모여서 함께 일하는 목적 조직인데요, 다양한 직군이 공통된 업무 목표와 방향성을 가지고 일을 할 수 있다는 장점을 가지고 있습니다. 팀에서 맡는 과제는 1년 또는 반기, 분기 단위로 주문 서비스의 기능 개선을 위해 선정하고 기획에서 과제에 대한 구체적인 목표와 요구 사항을 정리하면 개발자들이 업무별로 개발 과제를 세분화하여 개발을 진행하게 됩니다. 그리고 코드 공유 문화를 실천하고 있어서 개발 단계에서 나오는 설계와 코드들은 반드시 팀 동료들과 함께 리뷰하는 과정을 거치게 되는데 이 과정에서 오류를 사전에 발견할 수 있는 효과도 있지만 그보다 제가 더 긍정적으로 바라보는 것은 조직에서 함께 짠 코드에 대해 모두 책임감을 가지고 관리한다는 점입니다. 주문 서비스 과제 외에도 배달의민족은 하루에 수백만 건의 주문이 시스템으로 처리되기 때문에 주문시스템 개선 과제 역시 팀의 업무와 역할에 상당 비중을 차지하고 있습니다. 잠깐의 장애 상황에도 많은 배민 서비스 사용자와 사장님들이 큰 불편을 겪게 되는 만큼 무엇보다 시스템의 안정성을 높이기 위한 과제들이 많은 편이고 시스템 개선과제는 개발파트를 중심으로 진행되고 있어 개발자들간에 많은 아이디어를 제안하면서 주도적으로 시스템을 개선해 나가고 있습니다. 사실, 배달의민족 서비스에 주문은 민감하고 주요한 서비스이기 때문에 최대한의 영역에서 조금이라도 더 면밀하게 시스템을 모니터링하고 장애를 사전에 감지하여 예방하고자 하고 있는데요, 그럼에도 불구하고 장애가 발생했을 때는 같은 장애가 재발하지 않도록 반드시 원인을 분석하고 수정해나가는 과정을 거치고 있습니다. 실제로 작년에는 주기적으로 감지되는 시스템 이상 증상을 몇 주에 걸쳐 다른 팀과 협업해 원인을 분석하고 해결한 경험도 있었어요. 이러한 모든 경험들이 제 성장의 밑거름이 되고 있고, 나아가 서비스와 시스템을 더 단단하게 만든다는 점에서 큰 보람을 느끼고 있습니다. 기술에 관한 의견 우아한형제들에서 주로 사용하시는 백엔드 기술 스택과 개인적으로 선호하시는 기술에 대해 말씀 부탁드립니다. 우아한형제들에서 사용되는 기술 스택은 시스템별로 조금씩 차이가 있는데요. 팀원들이 함께 생산성, 신뢰성, 유지 보수성 등 다양한 관점에서 검토하여 결정하고 있습니다. 기본적으로 주문시스템을 비롯한 배달의민족을 구성하는 많은 시스템은 Java와 Spring + JPA를 사용하여 개발되고 있습니다. 따라서 배달의민족 백엔드 개발자 지원을 생각하고 계신다면 위 기술 스택에 대해서는 꼭 학습하시기를 추천해 드립니다. 데이터베이스는 MySQL과 같은 RDBMS를 사용합니다. 하지만 보통 하나의 저장소만을 사용하지는 않고 여러 형태의 폴리글랏 저장소를 사용하게 됩니다. 주문시스템도 더 빠르고 안정적인 서비스 제공을 위하여 Redis와 Elasticsearch를 사용하고 있으며 그 외에 다른 NoSQL 데이터베이스의 도입도 적극적으로 검토하고 있어요. 서비스가 급격히 성장하고 데이터 규모가 커짐에 따라 데이터를 적절한 형태로 설계하고 분산처리하는 데 많은 노력을 기울이고 있습니다. 여러 시스템 간 통신에는 HTTP API와 비동기 메시지 큐가 주로 사용되고 있습니다. 비동기 메시지를 주고받는 과정에서는 주로 AWS에서 제공하고 있는 SNS와 SQS를 많이 사용하는데요. 최근에는 SRE 조직에서 구축 중인 Kafka 클러스터를 사용하는 팀들도 늘어나고 있습니다. Java 외에도 Kotlin을 사용하는 팀들도 늘어나고 있고, 주문시스템도 API Gateway 구축에 Kotlin과 Coroutine을 활용한 논블로킹 모델을 사용하여 높은 트래픽을 안정적으로 처리하고 있습니다. 시스템을 운영하는 과정에서 로그 수집과 모니터링이 필수적으로 필요한데요. 전사적으로 Elastic Stack을 사용한 로그 수집과 Cloudwatch, Grafana, Slack을 사용한 모니터링 시스템이 구축되어 있어 편리하게 사용이 가능합니다. 덕분에 개발자는 시스템에 대한 문제를 사전에 감지하고 해결하는 방법을 찾는데 역량을 집중할 수 있습니다. 역량에 대한 생각 백엔드 개발자로서 좋은 성과를 만들기 위해서는 어떤 역량과 자질이 필요하다고 생각하시나요? 좋은 코드, 좋은 아키텍처를 만드는 능력과 함께 좋은 커뮤니케이션 능력이 중요합니다. 좋은 코드를 만든다는 건 개발자들에게는 꼭 필요한 능력입니다. 좋은 코드라는 건 상황마다 다르지만, 일반적으로 좋은 설계를 바탕으로 간결하고 가독성이 좋으며 유지 보수성이 좋게 작성된 코드를 이야기합니다. 한국에서도 유명한 엉클밥의 클린코드와 같은 도서들은 코드 품질에 대한 좋은 인사이트를 줍니다. 만약 읽어보지 않으셨다면, 꼭 한번 읽어보시기를 추천드립니다. 사실 코드에 관해 이야기하는 많은 책은 좋은 코드를 만들기 위한 양분이 되어줄 수 있지만, 거기에서만 그치면 소용이 없을 거예요. 가능한 많은 코드를 읽어보고 꾸준히 연습하는 자세가 뒷받침되어야 좋은 개발자로 성장할 수 있다고 생각합니다. 어느 정도 성장한 개발자들에게는 시스템이나 아키텍처 설계에 대한 능력이 중요해집니다. 좋은 아키텍처는 시스템에 높은 신뢰성과 가용성을 보장하며 확장과 변경을 용이하게 합니다. 이러한 능력은 개발자의 충분한 경험과 깊은 통찰을 통해서 성장하는 경우가 많고, 시스템에 대한 깊은 이해가 필요하기 때문에 개인의 학습과 연습의 과정이 뒷받침되어야 합니다. 마지막으로 대부분의 업무는 협업을 통해서 진행되니만큼 원활한 커뮤니케이션 능력 역시 매우 중요합니다. 백엔드 개발자의 커뮤니케이션은 같은 직군에서만 이뤄지는 게 아니며 프론트엔드, 인프라, 기획, QA 등 다양한 직군들과도 이루어지게 되니만큼 커뮤니케이션 대상에 따라 다양한 맥락에서 효율적인 의사소통을 할 수 있어야 합니다. 특히 많은 개발자가 기술 영역을 벗어난 부분에 대해서는 소홀히 여기는 경우도 많은데요. 서비스 개발자들은 기획자와의 협업이 중요하고 그 과정에서 원활한 의사소통을 위해 자신이 담당하고 있는 도메인에 대해 학습하고 이해하려는 자세가 필요합니다. 우아한형제들의 개발문화 우아한형제들의 개발 문화와 배민주문서비스팀만의 매력은 무엇인가요? 입사하면서 느낀 가장 큰 장점이자 복지는 훌륭한 개발자 동료분들이었습니다. 저희 팀을 비롯하여 우아한형제들에는 앞에서 말씀드렸던 좋은 코드, 좋은 아키텍처, 좋은 커뮤니케이션 능력을 갖춘 개발자들이 많이 있어요. 단순히 좋은 개발자들이 많다는 것뿐만 아니라 자신과 팀의 경험, 노하우를 공유하는 문화를 같이 만들어 나가고 있습니다. 이렇게 좋은 멘토와 동료들과 함께 일한다는 것은 개발자로서 성장해 나가는데 매우 좋은 환경을 가지고 있는거라 생각합니다. 저희는 작년부터 코로나19로 인해서 전사 구성원이 재택근무를 하고 있는데요. 처음에는 어색하기도 하였고 불편한 부분도 많았지만, 지금은 모두 리모트 근무 환경에 익숙해졌고 좋은 성과도 내고 있습니다. 온라인으로 코드 리뷰도 꼼꼼하게 진행하고 있고요. 논의가 필요한 부분이 있다면 망설일 필요 없이 언제든지 화상으로 미팅을 요청하고 있습니다. 얼마 전에는 회사에서 이런 재택근무를 코로나 종식 후에도 지속해서 운영한다는 발표가 있었는데요. 개인적으로 재택 기간 동안 아이들 어린이집도 보내고 여유 있게 근무를 시작하던 입장에서 이런 제도가 생긴 걸 무척이나 기쁘게 생각하고 있어요. 하지만 재택 기간이 길어지면 팀원 간에 대화도 줄어들고 서먹해질 우려도 있을 겁니다. 이러한 이유로 저희는 온라인상에서 같이 자주 이야기하는 문화를 만들어 가고 있습니다. 특히 최근에는 주기적으로 티타임을 가지고 있는데, 이 시간에는 팀 운영비를 사용하여 구매한 간식을 즐기며 특별한 주제 없이 다양한 이야기를 서로 나누고 있습니다. 또 과제가 종료될 때마다 회고 시간을 가지며 서로 간의 업무 수행 방식에 대해서도 논의하는 시간을 통하여 팀이 더 나은 방향으로 나아간다는 느낌을 받고 있습니다. 마무리하며 우아한형제들의 백엔드 개발자가 되고자 하는 분들에게 응원의 한 말씀 부탁드립니다. 배달의민족은 꾸준히 지속해서 성장하는 서비스입니다. 특히 주문시스템을 통하여 일어나는 거래량은 매년 두 배 가까이 성장하고 있는데요. 이러한 이유로 저희 팀에는 다른 커머스에서 만나기 힘든 대량의 트래픽과 데이터 규모를 수용하기 위한 여러 가지 도전과제들이 주어지고 있습니다. 그리고 우리는 소수의 스타 개발자에 의지하기보다는 팀원들이 주도적으로 같이 고민하고 논의하는 과정을 통해 문제를 해결해 나가고 있습니다. “다 때가 있다” 지금 저희와 함께하신다면 좋은 동료들과 함께 개발자의 도전 의식을 불러일으키는 미션들을 끊임없이 만나보실 수 있습니다. 성장에 목말라 있는 개발자분들과 함께 할 수 있기를 기대합니다. 개발직군 모집공고 바로가기 콘텐츠 저작권은 우아한형제들에 있으며, 무단 배포를 금지합니다.
더 보기
이미지
인터뷰
2021 우아한형제들 경력 개발자 인터뷰 ②
박예준 / 프론트엔드 개발자
좋은 것을 더 좋게! 우아한형제들의 도전은 오늘도 계속됩니다. 우아한형제들의 서비스를 더 가치있게 만들기 위해 대용량 트래픽과 대규모 인프라를 관리하며 도전하는 우아한형제들의 개발자분들, 그 중 다섯분을 인재영입팀에서 만나봤습니다. 들어가기 전에 안녕하세요 인재영입팀 입니다. 이번 직무인터뷰 과정을 통해 우아한형제들의 개발자는 어떻게 일하고 있으며, 또 어떤 도전 과제들을 수행하며 성장하고 있는지 그들의 성장 과정을 엿볼 수 있었습니다. 배민 개발자로서의 생활과 면접 꿀팁은 덤! ‘좋은 음식을 먹고 싶은 곳에서’ 의 서비스 가치를 만들어가는 개발자 다섯분의 이야기를 소개합니다. ∙ 금번 직무인터뷰는 방역 수칙을 철저히 준수하여 진행되었습니다. 팀 내에서 맡으신 역할과 담당 업무를 소개해 주세요. 안녕하세요, 저는 배민서비스개발팀의 4년차 웹프론트 개발자 박예준입니다. 배민에서 서비스하고 있는 각종 웹사이트와 배민 앱 내 웹뷰를 개발하는 일을 담당합니다. ‘배민은 앱인데 웹 프론트 개발자가 왜 필요해?’라는 질문을 종종 받고, 제 소개를 보신 분들 또한 의아해하실 수 있는데요. 배민의 많은 서비스는 웹으로도 만들어 제공되고 있으며, 앞으로 더 많은 제품들을 웹으로 개발해나갈 계획도 있습니다. 담당업무 소개 최근에 일하며 보람을 느꼈던 순간과 리뷰, 공유 문화를 어떻게 실천하고 있으신지 알려주세요. 제가 소속된 배민서비스개발팀 웹프론트파트의 문화에 대해 소개 드릴게요. 저희 파트의 경우 모든 코드들에 대해 함께 리뷰를 진행하고 있는데, 이 과정에서 과반 이상의 승인을 받지 못하면 서비스를 진행할 수 없도록 하는 ‘코드 리뷰룰’을 잘 지켜나가고 있어요. 또한, 코드 리뷰봇처럼 기계적으로 보고 승인하는 코드 리뷰는 하지 않습니다. 클린 코드의 정신에 의거해서 정말 꼼꼼히 서로의 코드를 리뷰하고 의견도 공유하고 있고 이를 위해서 클린 코드 책으로 스터디도 함께 진행할 정도였어요. 바쁜 과제 일정으로 모든 리뷰에 대해서 바로 개선할 수 없을 때도 있지만 이는 추후에라도 개선하기 위한 노력을 하고 있습니다. 한 번은 저희 파트 동료가 한 이벤트 개발을 담당하셨는데요, 이벤트가 종료되었는데도 일정으로 미처 리뷰를 반영하지 못한 코드들에 대한 리뷰를 요청 주셨던 적이 있었습니다. 이런 리뷰 문화가 자리 잡히면서 ‘동료의 성장이 곧 나의 성장이 된다’라는 말의 진정한 의미를 깨닫게 되었던 것 같아요. 일하면서 보람을 느꼈던 순간은 배민은 워낙 많은 사용자가 있는 서비스다 보니 새로운 기능이나 제품이 나왔을 때 사용자들의 반응이 항상 뜨겁습니다. 때론 여론의 질타에 의기소침 해질 때도 있지만, 배민 선물하기나 가족 계정과 같은 새로운 서비스를 제공했을 때 긍정적이고 좋은 피드백들이 많아서 ‘아 고생한 보람이 있구나!’ 싶고 뿌듯하더라고요. 특히 이 과제들은 성공적인 프로젝트를 위해 동고동락한 동료들과의 업무 호흡이 너무나도 잘 맞아서 뿌듯한 마음이 배가 된 것 같았습니다. 과제 수행 과정 프론트엔드 개발자로 일하시면서 도전적인 과제를 수행하신 대표적 사례를 소개해 주실 수 있나요? 폭발하는 트래픽 감당하기 이전에 엔드게임이라는 이벤트에 프론트엔드 개발 담당자로 참여한 적이 있습니다. 최대 만 원 정도의 쿠폰을 랜덤으로 특정 시간 동안만 발급받을 수 있다 보니 정말 많은 사용자분들이 참여했어요. 이벤트 시작 시간이 다가오면 카운트다운이 진행되고 이벤트 발표 시간에 짠! 하고 참여 화면으로 넘어갈 수 있는 그런 플로우를 계획했었죠. 헌데, 너무 많은 사용자가 참여하다 보니 이벤트 시간에 짠! 하고 흰 화면이 나오더라고요. 아직도 그 순간이 기억나네요.. 그 순간에는 아마 제 얼굴도 백지가 됐을 거예요. api 서버도 프론트엔드 리소스를 불러오는 cdn도 한 번에 몰리는 트래픽으로 인해 서비스가 불가능한 상황이 된 것이었죠. 결국 3일 동안 계획한 이벤트 기간 중 첫날은 이벤트를 진행하지 못했어요. 둘째날 이벤트를 무사히 진행하기 위해 몰리는 트래픽을 감당할 수 있도록 리소스와 웹 어플리케이션의 최적화를 밤새 진행했던 기억이 생생합니다. 동료들의 많은 아이디어와 조언 그리고 응원 덕분에 둘째날 이벤트는 성공적으로 진행할 수 있었어요. 이벤트 시간에 짠 하고 화면이 떴을 때 사무실을 꽉 채운 박수소리가 지금도 귓가에 들려오는 듯하네요. 높은 트래픽을 잘 이겨내어 좋은 사용자 경험을 제공하기 위해 보다 더 꼼꼼하게 개발을 하게 된 계기가 되었습니다. 원인 파악이 어려운 장애 극복하기 2020년 초 당시 저희 팀에서 담당하고 있던 node 서버에서 반복적인 장애가 일어났습니다. 정말 어떠한 병목도 없어 보였는데 갑자기 부하가 일어나면서 서버가 다운 되었어요. 코드를 아무리 살펴봐도 로직엔 문제가 없어 보이는데 말이죠. 이 장애로 인해 큰 스트레스를 받았어요. 배민에서 상당히 중요한 웹뷰를 제공하는 서버였기 때문이었죠. 서버를 늘려봐도 동일한 현상이 반복되었었고, SRE 담당자분들의 지원을 받아 모니터링 환경도 구성하면서 함께 정말 많은 로그들을 살펴보았던 것 같습니다. 이런 반복적인 상황이 지속되니 동료들도 저도 심적으로도 육체적으로도 정말 많이 지쳤던 것 같아요. 그래도 계속 원인을 파악하기 위해 포기하지 않고 이것저것 참 많이 시도를 해봤던 것 같아요. 결국 끈질긴 사투 끝에 메모리릭을 발생시키는 원인을 파악하게 되었고 그 지옥의 장애 게이트에서 벗어날 수 있었습니다. 지금 와서 생각해 보면, 장애는 개발자의 능력을 스텝업 시켜준다는 말이 정말 맞는 말 같습니다. 이런 트러블 슈팅들을 겪으면서 배운 것들이 제 스스로에게 너무 소중한 자산이 된 것 같습니다. 역량에 대한 생각 우아한형제들의 프론트엔드 개발자로서 익혀두면 좋은 기술을 몇 가지만 알려주세요. 웹프론트엔드 분야가 워낙 트렌드가 빠르게 바뀌어서 구체적으로 말씀드리긴 어려운 것 같아요. 그렇기 때문에 변화하는 트렌드를 이해하는 것이 제일 중요한 것 같습니다. 새로운 기술, 흐름, 트렌드가 왜 핫해진 건지 이해하는 지식의 차이가 크게 작용하는 분야가 프론트엔드 입니다. 트렌드를 무작정 따라가고 신봉하기보다는 그런 트렌드가 생긴 흐름과 원인에 집중해보면 인사이트를 키우는데 많은 도움이 되리라고 생각됩니다. 두번째로, 웹 프론트 외 분야들에 대해서도 공부를 해보시면 참 많은 도움이 되실 거예요. 백엔드, 모바일과 같은 기술 분야는 물론, UI/UX 디자인과 같은 기술 외적인 분야를 포함해서요. 프론트엔드 개발자는 참 많은 직군의 동료들과 일하게 됩니다. 함께 제품을 만들어갈 동료들의 직무에 대한 기본적인 이해는 서로의 견해를 이해하고 의견을 나누는데 정말 많은 도움이 되는 것 같습니다. 마지막으로 HTML과 CSS에 대한 공부를 게을리하지 않으셨으면 좋겠습니다. 프론트엔드 개발자를 지망하시는 분들이 마크업과 스타일 부분에 지루함을 느끼곤 하시지만, HTML과 CSS는 웹 프론트엔드 개발자의 작업의 최종 결과물이자 근본이라고 생각합니다. 이에 대한 기초 지식들은 높은 접근성과 좋은 사용자 경험을 제공해 주는 제품을 만드는 발판이 될 것입니다. 우아한형제들의 개발문화 우아한형제들의 개발 문화와 배민서비스개발팀만의 매력은 무엇인가요? 배민서비스개발팀은 파트별로 담당하는 업무 내에서 많은 권한과 자율을 부여받습니다. 담당 도메인/제품에 있어서 주도적이고 능동적인 업무가 가능하죠. 그래서 기술 스택이나 아키텍처 같은 부분에서 리더가 결정을 내리는 것이 아닌, 실무자가 직접 결정하는 것이 당연하다는 인식을 가지고 있습니다. 이런 환경에서 근무하기 때문에 새로운 기술에 대한 도전이나 다양한 시도들이 가능합니다. 또한, 팀 구성원들이 서비스의 고도화, 업무 비효율의 타파를 위해 의견을 적극적으로 내는 편입니다. 실제로 얼마 전에 저희 파트에서 담당하는 한 도메인에서 단순 반복되는 업무들이 있어, 이를 해결할 수 있는 시스템을 만들면 좋겠다는 의견을 낸 적이 있습니다. 이에 대해 구성원분들도, 팀장님도 공감을 해주시면서 실제로 하나의 프로젝트로 진행하게 되었습니다. 팀내 서버개발자 분들은 물론, 타팀의 기획, 품질 담당자분들의 지원까지 받으면서요. 이렇게 주도적으로 일하는 환경이 되다 보니 일에 대한 오너십이 강해지는 것 같아요. 저희 팀은 정말 성장하기에 좋은 환경을 가지고 있다고 생각합니다. 우선 리뷰, 가게노출, 회원과 같이 트래픽이 많은 도메인들을 담당하다 보니 다른 곳에서는 경험할 수 없는 다양한 경험을 할 수 있는 것 같습니다. 또 팀 내에서 스터디나 개인의 역량 발전을 위한 도전들을 많이 장려하는 편이에요. 개인과 조직의 성장에 관한 고민에 대해 조언을 구할 수 있는 리더가 이끄는 팀이라는 점이 특히나 매력적이라고 생각합니다. 마무리하며 프론트엔드 개발자로서의 삶을 꿈꾸는 개발자 분들에게 응원의 한 말씀 부탁드립니다. 근래 몇 년 사이에 프론트엔드 개발자에 대한 수요가 폭발적으로 성장했습니다. 이에 따라 많은 취업 준비생, 타분야 종사자분들이 프론트엔드 개발자 취업시장에 많이 뛰어들고 있습니다. 경쟁이 치열해지고 있는 상황 속에서 다른 경쟁자와 한 끗 차이의 비교우위를 만들어 내는 건 이 분야에 대한 애정이 아닐까라는 생각이 듭니다. 정말 이 분야를 사랑하시는 분이라면 분명히 멋진 프론트엔드 개발자가 되실 수 있으리라 믿습니다! 개발직군 모집공고 바로가기 콘텐츠 저작권은 우아한형제들에 있으며, 무단 배포를 금지합니다.
더 보기
이미지
인터뷰
2021 우아한형제들 경력 개발자 인터뷰 ③
강선구 / 데이터 엔지니어
좋은 것을 더 좋게! 우아한형제들의 도전은 오늘도 계속됩니다. 우아한형제들의 서비스를 더 가치있게 만들기 위해 대용량 트래픽과 대규모 인프라를 관리하며 도전하는 우아한형제들의 개발자분들, 그 중 다섯분을 인재영입팀에서 만나봤습니다. 들어가기 전에 안녕하세요 인재영입팀 입니다. 이번 직무인터뷰 과정을 통해 우아한형제들의 개발자는 어떻게 일하고 있으며, 또 어떤 도전 과제들을 수행하며 성장하고 있는지 그들의 성장 과정을 엿볼 수 있었습니다. 배민 개발자로서의 생활과 면접 꿀팁은 덤! ‘좋은 음식을 먹고 싶은 곳에서’ 의 서비스 가치를 만들어가는 개발자 다섯분의 이야기를 소개합니다. ∙ 금번 직무인터뷰는 방역 수칙을 철저히 준수하여 진행되었습니다. 소속 조직의 구성과 선구님께서 맡고 있는 역할에 대해 소개해 주세요. 안녕하세요, 데이터플랫폼팀의 데이터 엔지니어 강선구입니다. 우아한형제들이 서비스를 만들고 개선하는데 필요한 데이터를 분석하고 활용할 수 있는 환경을 개발하고 있습니다. 데이터 엔지니어는 회사에 ‘데이터’라는 세 글자만 들려도 출동한다고 표현할 수 있을 정도로 데이터와 관련된 다양한 일을 하고 있지만, 아래의 세 가지 역할을 주로 맡고 있다고 보시면 될 것 같습니다. 첫째는 배달의민족 서비스 데이터를 수집하고 분석할 수 있는 빅데이터 인프라를 구축합니다. 둘째는 수집된 데이터를 쉽게 분석할 수 있는 환경을 개발하고 제공합니다. 마지막으로 사내의 데이터 분석가, 과학자들과 협업하여 우아한형제들에 필요한 데이터를 직접 개발합니다. 그리고 현재 데이터플랫폼팀의 리더 역할을 맡으며, 회사에 더 나은 데이터 환경을 제공하기 위한 프로젝트를 제안하고 관리하는 역할을 겸하고 있습니다. 담당업무 및 협업과정 데이터를 관리하고 활용하시는 방법과 타 부서와의 협업 과정이 궁금합니다. 우아한형제들은 서비스를 만들고 개선하는 과정에서 다양한 방법으로 데이터를 분석하고 활용하기 때문에, 데이터와 서비스의 중심에 데이터 엔지니어의 역할이 큰데요. 이전 질문에서 답변한 3가지 업무 역할을 토대로 소개 드릴게요. 가장 먼저는 데이터의 수집과 관리입니다. 데이터 엔지니어들은 분석 활용이 가능한 모든 서비스 데이터를 수집하고 관리합니다. 주문이나 음식 메뉴 정보 같은 데이터 외에도, 배민 앱에서 발생하는 버튼 클릭, 페이지 이동 등 다양한 사용자 행동 기록을 실시간으로 수집하고 활용합니다. 배민 서버들이 대용량 트래픽을 처리하는 만큼, 저희 데이터 엔지니어들은 그 이상의 대용량 데이터를 견뎌내고 분석할 수 있는 시스템을 만들어야 합니다. 매년 서비스가 성장하는 만큼 더욱 높은 수준의 기술력이 요구되고 있어요. 데이터 수집, 관리 과정에서 담당 개발팀과 소통하여 서비스 부하를 만들지 않도록 신경 쓰고 있고, 정보보안팀과 소통하여 안전한 데이터와 환경을 제공하는 노력을 하고 있습니다. 두번째로는 데이터 분석 환경을 제공하는 일인데, 저희가 제공하는 분석 환경의 사내 고객은 다양합니다. 일반적으로 데이터 분석가나 개발직으로 한정되는 회사들이 많지만 저희는 사업, 서비스기획, 영업, 디자이너 등 거의 모든 직군의 구성원들이 데이터 기반으로 업무를 진행하고 있어요. 다양한 고객과 데이터를 대상으로 하는 만큼, 손쉽게 데이터를 접근하고 분석할 수 있도록 지원합니다. 예를 들어, Hadoop 시스템에 저장된 파일들을 SQL로 조회하거나 대시보드를 직접 생성할 수 있는 다양한 툴들을 제공합니다. 개발 직군 구성원들에게는 직접 빅데이터 통계나 머신러닝 등을 개발할 수 있는 환경도 제공하고요. 오픈소스를 많이 활용하지만, 사내 니즈에 맞춰서 직접 개발하는 경우도 흔해요. 또한, 구성원들이 데이터를 잘 이해할 수 있도록 돕는 웹 어드민도 같이 개발하거나, 복잡한 시스템의 데이터 구조를 분석에 용이하게 데이터 마트를 생성하여 제공하는 역할도 하고 있어요. 세번째로 데이터를 활용한 고객의 경험 개선입니다. 배민의 데이터는 실제 고객 경험 개선을 위한 기능들로 재생산되어 서비스에 활용되고 있습니다. 배민 앱 고객에게 제공되는 배달 예상시간, 맛집 랭킹, 상품 추천 등의 기능들이 있으며, 사장님 고객들을 위한 각종 리포트와 AI 기반의 챗봇까지 정말 다양하게 활용되고 있어요. 서비스에 직접 활용되는 데이터인 만큼 기획자들과 함께 기능을 설계하며, 실제 개발 작업은 같은 데이터서비스실에 속한 데이터 분석가, 과학자 동료들과 함께 합니다. 데이터 엔지니어들은 담당 분석가, 과학자들이 설계한 로직이나 모델링 코드가 실제 서비스에서 안전하게 동작할 수준으로 구현 가능한지 검토하고, 이를 성능적으로 가장 최적화된 형태로의 데이터 파이프라인을 구현하는 역할을 맡습니다. 또한 생산된 데이터를 저희 팀에서 개발한 플랫폼을 통해 서비스 노출 시스템이 받아 가도록 안내하거나, 직접 실시간 API를 개발해서 서빙하기도 합니다. 이렇게 만들어진 기능들은 다시 저희 시스템을 통해 데이터가 수집되고 분석되며, 이후 기능 개선으로 이어지는 순환 구조를 가지게 됩니다. 성장에 관한 경험 우아한형제들에서 경험했던 것 중에서 가장 기억에 남는 에피소드를 이야기 해주세요. ‘배민장부’ 서비스에는 사장님들에게 매일 리뷰 감성분석 통계를 제공하는 기능이 있습니다. 저희 실 데이터 과학자 동료가 오랜 기간 딥러닝을 활용한 자연어처리 모델을 개발하여 사용자 리뷰의 긍정/부정 여부를 예측할 수 있게 되었고, 이를 서비스에 통계로 제공하여 바쁘신 사장님들이 고객을 더욱 잘 이해할 수 있도록 돕고자 과제를 진행하게 되었어요. 당시에는 딥러닝이란 기술을 사내에서 처음 서비스로 도입하는 사례였기 때문에 정말 많은 고민과 준비를 했습니다. 시스템 구조, 모델의 예측 속도, 시스템 확장성 등 기술적인 요소들 외에도 예측한 데이터에 대한 검증 프로세스나 불확실한 결과가 나올 경우에는 어떻게 서비스에 노출할 건지 등 다양한 고민을 함께 하며 만들었습니다. 지금 돌이켜보면 부족했던 점도 많았지만, 유사 프로젝트들이 사내에서 빠르게 진행될 수 있는 좋은 밑거름이 되었고, 무엇보다 기존에는 제공하지 못했던 유형의 가치를 고객들에게 새로 제공했다는 점에서 가장 기억에 남습니다. 역량에 대한 생각 우아한형제들의 데이터 엔지니어가 되기 위해서는 어떤 역량이 필요할까요? 데이터 엔지니어의 채용 과정에도 참여하고 있어서, 제가 고민해 본 질문인데요. 현재 데이터서비스실 내의 여러 팀이나 파트 내에서 분업화되어 운영되고 있어 맡은 업무 유형에 따라서 필요한 역량도 조금은 달라질 수 있겠지만, 공통적으로 데이터 엔지니어 직군으로써 필요한 역량들을 말씀드릴게요. 첫째로, 데이터의 특성과 흐름을 명확하게 이해할 수 있어야 합니다. 저희 서비스는 배달이라는 고유한 도메인을 가지고 있고, 모든 서버 시스템이 MSA로 구성된 만큼 복잡도가 다소 높습니다. 데이터를 잘 이해할수록 최적화된 데이터 파이프라인을 개발할 수 있고, 특히 불필요한 개발 요소를 쉽게 제거할 수 있습니다. 여기서 면접 팁을 드리면, 인터뷰 과정에서도 배달 도메인에 대한 이해보다는 기존에 다뤄오신 데이터에 대한 이해도를 검증하고 있습니다. 둘째로, 빅데이터 처리 기술에 대한 충분한 이해도가 필요합니다. 다양한 데이터와 이슈를 다루기 위해서는 저희가 활용하는 기술에 대한 이해도와 경험이 중요합니다. 기본적으로는 Hadoop, Spark 환경에 대한 이해도를 기반으로 다양한 데이터와 이슈를 다루는 업무가 많습니다. 그 외에도 Kafka, Presto, Structured Streaming, Airflow, Tensorflow 등 다양한 기술 스택이 업무에 활용되는데요. 꼭 동일한 기술이 아니더라도 유사한 방식의 데이터 인프라 및 파이프라인 개발 경험과 이해도가 요구됩니다. AWS 클라우드를 주력으로 활용하지만, On-premises로 구축한 클러스터도 하이브리드로 운영하기 때문에 관련한 지식도 중요하게 생각하고 있습니다. 마지막으로, 커뮤니케이션 능력이 중요합니다. 어떤 업무를 맡아 진행하든 항상 여러 부서와 소통하고 함께 만들어가는 편입니다. 비개발직군과 소통하는 업무도 많고, 같은 개발직군이라도 빅데이터 처리에 대한 설명이 필요한 경우도 있습니다. 복잡한 영역을 다루는 만큼 쉽고 명확한 의사소통 역량이 필요합니다. 우아한형제들의 개발문화 우아한형제들의 개발 문화를 자랑해 주세요! 회사 내에서도 정말 다양한 개발팀이 존재하다 보니 팀마다의 고유문화도 조금은 다를 수 있습니다. 다만 제가 우아한형제들에 합류하고 항상 일관되게 느끼는 점이 있는데요. 우아한형제들의 개발자들은 항상 변화에 적극적으로 대응하고 시스템을 개선하고자 노력합니다. 그리고 이를 위한 학습과 성장에 대한 욕심도 정말 강합니다. 배달의민족은 벌써 오픈한지 10년이 지난 서비스입니다. 하지만 서비스 측면에서도, 기술 측면에서도 정말 많은 변화가 빠르게 이루어지고 있어요. 입사했던 3년 전과 비교하면 가끔 같은 회사의 시스템이 맞는지 의구심이 들 정도입니다. 데이터 조직에 소속되어 있으면 전체적으로 서비스와 시스템들이 어떻게 변하는지, 개발자들이 어떤 고민과 논의를 하는지 직접 보고 듣게 되는데요. 누가 시키지 않아도 늘 열정적으로 함께 고민하고 만들어나가는 동료들의 모습을 쉽게 볼 수 있습니다. 그리고 그 과정에서 학습한 내용들을 전체 기술 조직에 공유하는 노력도 게을리하지 않습니다. 개발자로서의 당연한 모습이라고 이야기할 수도 있겠지만, 수백 명의 개발자들이 함께하는 조직에서 이렇게 한결같은 모습을 유지하는 건 쉽지 않다고 생각합니다. 서비스의 빠른 성장도 개발자들이 이런 문화를 유지할 수 있는 큰 원동력입니다. 코로나 이전에도 저희 서비스는 역대 최고 트래픽을 자주 갱신하고 있었고, 매년 더 높은 수준의 기술력이 요구되고 있습니다. 제가 맡고 있는 시스템도 입사 당시와 비교하면 10배 이상의 처리 성능을 필요로 하는데요. 결국 서비스의 성장이 개발자들의 성장을 요구하기도 합니다. 이런 상호보완적인 관계가 우아한형제들의 개발 문화를 함께 만들어간다고 생각합니다. 마무리하며 선구님과 같은 데이터엔지니어로서의 커리어를 계획하는 분들에게 응원의 한 말씀 부탁드립니다. 제가 구직자 입장이었던 시절에도 데이터 엔지니어라는 직군은 각 회사에서 어떠한 일을 어떻게 하는지 정보를 찾기가 어려운 편이었습니다. 회사에서 채용을 하는 입장이 되어서도 채용공고나 짧은 인터뷰 시간에 충분한 설명을 드리지 못하는 점이 늘 아쉬웠는데요. 이번 기회를 통해서 지원자분들에게 조금이나마 도움이 되길 바래봅니다. 종종 업계 후배들에게 이런 질문을 받습니다. “어느 정도 크기의 데이터를 다뤄봐야 배민에서 데이터 엔지니어로 충분할까요?” 저도 ‘빅데이터’라는 표현을 종종 사용하지만 사실 그 정의에 대해서는 논란의 여지가 많습니다. 업계에는 우아한형제들보다 더 큰 데이터를 다루는 곳도 있고, 적은 곳도 있을 텐데요. 큰 데이터를 다룰수록 자연스럽게 하는 경험이나 고민도 있지만, 데이터 크기와 상관없이 고민하고 해결해야 하는 본질적인 문제들을 다루는 게 더 중요하다고 생각합니다. 특히 우아한형제들처럼 지속적으로 서비스가 성장하는 환경에서는 더욱 그렇습니다. 혹시라도 저와 비슷한 고민을 하시는 분이라면 지원하시면 좋겠습니다. 개발직군 모집공고 바로가기 콘텐츠 저작권은 우아한형제들에 있으며, 무단 배포를 금지합니다.
더 보기
이미지
인터뷰
2021 우아한형제들 경력 개발자 인터뷰 ④
김민영 / iOS 개발자
좋은 것을 더 좋게! 우아한형제들의 도전은 오늘도 계속됩니다. 우아한형제들의 서비스를 더 가치있게 만들기 위해 대용량 트래픽과 대규모 인프라를 관리하며 도전하는 우아한형제들의 개발자분들, 그 중 다섯분을 인재영입팀에서 만나봤습니다. 들어가기 전에 안녕하세요 인재영입팀 입니다. 이번 직무인터뷰 과정을 통해 우아한형제들의 개발자는 어떻게 일하고 있으며, 또 어떤 도전 과제들을 수행하며 성장하고 있는지 그들의 성장 과정을 엿볼 수 있었습니다. 배민 개발자로서의 생활과 면접 꿀팁은 덤! ‘좋은 음식을 먹고 싶은 곳에서’ 의 서비스 가치를 만들어가는 개발자 다섯분의 이야기를 소개합니다. ∙ 금번 직무인터뷰는 방역 수칙을 철저히 준수하여 진행되었습니다. 민영님의 하루 일과 중 iOS개발팀의 리더로서의 업무를 소개해 주세요. 배민iOS개발팀에서 배달의민족 앱과 가게 사장님들이 이용하시는 배민주문접수앱을 맡고 있는 김민영입니다. 얼마 전부터 팀 매니징 역할을 수행하게 되면서 하루 일과가 조금 달라졌는데, 간략히 소개 드릴게요. 저희 팀은 슬랙으로 스탠드업 미팅 내용을 작성하며 하루를 시작합니다. 할 일을 정리하고 난 후에는 주로 팀 업무를 확인하거나 재정립하고, 앱 업데이트 사항들을 논의하는 기획 리뷰 미팅에 참석합니다. 기획서를 확인하면서 개발을 수행하거나 중간중간 협업 부서와 온라인 미팅을 하기도 하고, QA 기간 중에는 버그 티켓이 있는지 확인하고 처리합니다. 개발 업무와 코드 리뷰도 시간 날 때마다 하려고 노력하고 있습니다. 이 외에도 메일이나 슬랙을 통해 필요한 업무들을 확인하거나 코드 리뷰를 진행하고 배포된 앱을 모니터링하는 일을 수행합니다. 담당업무 및 협업과정 iOS개발자로서 타부서와의 협업은 어떻게 이루어지고, 그 과정에서 가장 중요하게 여기시는 것은 무엇인지 궁금합니다. 협업에서 가장 중요한 건 공동의 목표 달성을 위해 서로의 눈높이를 맞추는 과정이라고 생각합니다. 그래야만 효율적으로 시간을 관리하여 목표를 정확히 설정하고 달성할 수 있어요. iOS 개발자는 주로 안드로이드, 서버, 기획, 디자인, QA 부서와 협업하고 있습니다. 배달의민족 앱의 경우 2주에 한 번씩 정기적으로 앱 업데이트와 릴리즈를 하고 있어서, 업데이트 버전에 따른 과제 논의를 위한 ‘어싸인데이’라는 회의를 매주 진행합니다. 이 회의에서 안드로이드, 서버, 기획, QA 개발자분들과 함께 백로그에 있는 업무들을 검토하면서 업데이트 일정을 논의합니다. 이후에 팀에 신규 프로젝트를 공유하고 적합한 분에게 업무를 분배해 담당자가 정해지면, 슬랙의 프로젝트 채널에 모여 일을 시작합니다. 프로젝트별 채널에는 해당 프로젝트를 진행하는 클라이언트, 백엔드 개발자, 기획자, 디자이너, QA 등 다양한 부서가 함께 참여하고 대부분의 논의는 이 채널에서 진행이 됩니다. 여기서 기획과 디자이너 동료들과 리뷰를 진행하면서 개발 일정을 협의하기도 하고 TC 리뷰나 백엔드 개발자와 스펙 협의 등을 하면서 개발하고 있어요. 개발이 끝난 단계에서는 QA 부서의 검증 과정을 거치게 되고 해당 기능이 앱으로 출시됩니다. 출시 후 보이는 건 앱 안에 작은 기능이고 고객에게 보다 좋은 서비스 경험을 제공하는 일 중에 하나지만 그 안에는 많은 동료들이 협업하며 이슈들을 함께 고민하고 해결해 나가는 과정이 있는 것 같아요. 그렇다 보니 다른 직무 담당자들과 눈높이를 맞추기 위한 커뮤니케이션 역량도 필요합니다. 커뮤니케이션을 잘 하기 위해서는 다른 부서의 업무 내용이나 일하는 방식에 대해서도 이해하려는 노력과 마음가짐도 물론 중요하지요. 과제 수행 과정 iOS 개발자로 일하시면서 도전적인 과제를 수행하신 대표적 사례를 소개해 주실 수 있나요? 작년에 배달의민족 메뉴 지면을 개편하면서 우버에서 만든 RIBs라는 프레임워크를 도입했던 것이 가장 기억에 남는 것 같습니다. 먼저 도입 배경을 소개 드리면, 배민 앱 iOS를 개발하는 인원이 불과 2년여 만에 두 배 이상으로 늘어나게 되었어요. 회사의 코드 리뷰 문화도 있지만 배민iOS개발팀 내부에서 정한 룰 중에 하나는 ‘코드 리뷰에서 2명 이상이 승인하는 경우에만 코드를 머지 할 수 있다’라는 것인데요. 이전에는 인원수가 많지 않아서 서로의 코드를 대부분 이해한 상태에서 코드 리뷰를 할 수 있었지만, 인원이 늘어나면서 팀 구성원들의 코드를 모두 이해하기가 힘들어졌습니다. 그렇다고 과반수가 동의하도록 룰을 바꾼다면 그로 인한 비효율도 고려 사항이었어요. 통일된 관점과 방식으로 작업을 해야 할 필요성이 느껴졌고, 또 여러 명이서 작업하는데 효율적인 구조도 필요했지요. 그래서 저희 팀에서 통일된 아키텍처 도입을 고민하기 시작했습니다. 우리 앱이 가지고 있는 구조와 특성을 고려하여 여러 가지 대안을 가지고 테스트해보면서 최종적으로 RIBs를 도입하기로 결정했고 그 첫 결과물이 바로 배달의민족 메뉴 지면이었죠. 사실 기존의 레거시 코드 위에서 RIBs를 도입하는 과정이 쉽지만은 않았습니다. 볼 수 있는 자료가 풍부하지 않은 상황이었기 때문에, 개발하면서 발생했던 대부분의 문제들을 스스로 해결해야 했습니다. 이 작업은 동료 개발자와 함께 진행했는데 재택근무를 하는 상황에서 원격으로 페어 프로그래밍 하며 하나씩 해결해 나갔고, 새로운 기술을 재택 상황에서도 빠르게 적용했을 때의 뿌듯했던 기억이 가장 오래 남는 것 같아요. 물론 앞으로 남은 과제들도 많이 있습니다. 프레임워크를 빠르게 도입할 수 있도록 하기 위해서 두 명이 먼저 선 진행을 하고, 이후에 진행되는 작업들은 그 둘이 각각 또 다른 동료와 함께 하면서 점점 업무 영역을 확대하려고 하고 있고 꾸준히 조금씩 진행하고 있습니다. 이 과정이 은탄환(Silver Bullet)이 아니라는것을 알고 있기 때문에 잘 운영할 수 있도록 앞으로도 지속적으로 노력해 나갈 생각입니다. *은탄환: 소프트웨어 개발의 복잡성을 한번에 해소할 수 있는 마법같은 솔루션 기술에 관한 의견 우아한형제들의 iOS 개발자로서 익혀두면 좋은 기술을 몇 가지만 알려주세요. 현재 자신이 사용하고 있는 기술에 대해서 잘 이해하고 개발하는 것은 꼭 필요한 역량입니다. iOS 개발자라면 사용 중인 언어(Swift)에 대해서 잘 아는 것이 무엇보다 중요한 것 같아요. 그리고 애플에서 매년 WWDC를 개최하고 OS 버전도 업데이트하는데, 여기서 발표된 새로운 기술이나 업데이트가 필요한 부분들을 파악하고 대응을 할 수 있도록 꾸준히 관심을 기울이는 것도 필요합니다. 그 외에도 필수적인 부분은 아니지만 앱을 운영해본 경험과 테스트나 배포 자동화에 대한 이해, Reactive Programming이나 패턴에 대한 지식, 앱 최적화 경험이나 Localization에 대한 경험 등이 있으면 좋습니다. 대부분의 앱 개발은 서버, 기획, 디자인 파트 등 다양한 부서와 밀접하게 협력하며 업무를 진행하기 때문에 네트워크에 대한 기본적인 이해나 데이터 처리와 같은 부분의 지식도 필요해요. 마지막으로 사용자에게 전달되는 최종 단계인 UI 개발을 담당하고 있다 보니 언제나 꼼꼼하게 디테일을 놓치지 않고 개발하는 습관과 사용자 경험에 대한 관심을 가지는 것도 꼭 필요한 역량 중에 하나라고 여겨집니다. 우아한형제들의 개발문화 미래의 동료들에게 회사와 팀 자랑을 해주세요! 팀 자랑을 먼저 하고 싶어요. 무엇보다도 역량이 뛰어나고 성장하기 위해 끊임없이 노력하는 좋은 동료들과 함께 일하고 있다는 것이 가장 좋은 것 같아요. 다들 비슷한 것 같으면서도 각자 다른 특징들을 가지고 있는데, 그로 인해 서로를 채워주는 점이 있습니다. 내 옆의 동료들을 보면서 많이 배우기도 하고 감탄하기도 하고 끊임없이 자극이 되는 것 같아요. 회사에서 ‘우아톤’이라고 부르는 사내 해커톤을 재작년과 작년 두 번 개최했었는데요. 배민iOS개발팀 동료들이 함께한 팀이 모두 대상을 차지했답니다. 역시 우리팀! (웃음) 그리고 회사에 대해서는 제가 아이를 키우고 있는 워킹맘이다 보니 관련 복지에 초점을 맞춰서 말씀드릴게요. 먼저 임신기간 중 매일 두 시간씩 단축근무를 할 수 있고, 임신 주차에 따라 정기검진 휴가가 부여됩니다. 예비아빠의 경우에도 임신한 아내의 정기검진 일자에 맞춰 병원에 함께 다녀올 수 있는 휴가가 부여되고 그 외의 시간에는 재택근무 가능하고요. 법적으로 정해진 출산 전후휴가나 육아휴직은 물론이고 본인이나 아내가 출산을 하는 경우 산후조리원비도 300만 원이 지급됩니다. 만 2년 이상 근속하고 초등학교 2학년 미만의 자녀가 있는 구성원의 경우에는 1개월의 특별 육아휴직이 주어집니다. 물론 월급도 지급되지요. 또 자녀의 입학식, 졸업식, 운동회, 학예회, 재롱잔치에 참석할 수 있도록 학부모 특별 휴가도 있고 이외에도 본인, 배우자, 양가 부모, 자녀의 단체상해보험도 가입됩니다. 여러모로 일과 가정의 양립을 위한 많은 제도들이 시행되는 점이 정말 좋은 것 같아요. 마무리하며 iOS 개발자로서의 삶을 꿈꾸는 개발자 분들에게 응원의 한 말씀 부탁드립니다. 처음 개발을 시작했을 때는 공부하면서 배우는 과정이었기 때문에 정말 재미있었고 적성에 잘 맞는다고 생각했어요. 학교를 졸업하고 취업을 했는데 실제 직장인으로서 하는 개발은 책임감의 무게가 커져 스트레스도 받았습니다. ‘왜 더 잘하지 못할까’라고 자책도 많이 하게 되고 지치더라고요. 그래서 나아질 수 있는 업무 노하우와 방법을 고민하는 동시에 균형잡힌 일과 삶을 위한 나만의 스타일을 찾으려고 노력한 것 같아요. 일이나 공부를 하다 보면 당연히 지치고 힘든 순간도 찾아오는데요. 자신만의 노하우와 스타일을 찾아가다 보면 본인이 꿈꾸는 개발자의 삶을 살며 만족할 수 있을 거라 생각됩니다. 개발직군 모집공고 바로가기 콘텐츠 저작권은 우아한형제들에 있으며, 무단 배포를 금지합니다.
더 보기
이미지
인터뷰
2021 우아한형제들 경력 개발자 인터뷰 ⑤
윤효정 / 안드로이드 개발자
좋은 것을 더 좋게! 우아한형제들의 도전은 오늘도 계속됩니다. 우아한형제들의 서비스를 더 가치있게 만들기 위해 대용량 트래픽과 대규모 인프라를 관리하며 도전하는 우아한형제들의 개발자분들, 그 중 다섯분을 인재영입팀에서 만나봤습니다. 들어가기 전에 안녕하세요 인재영입팀 입니다. 이번 직무인터뷰 과정을 통해 우아한형제들의 개발자는 어떻게 일하고 있으며, 또 어떤 도전 과제들을 수행하며 성장하고 있는지 그들의 성장 과정을 엿볼 수 있었습니다. 배민 개발자로서의 생활과 면접 꿀팁은 덤! ‘좋은 음식을 먹고 싶은 곳에서’ 의 서비스 가치를 만들어가는 개발자 다섯분의 이야기를 소개합니다. ∙ 금번 직무인터뷰는 방역 수칙을 철저히 준수하여 진행되었습니다. 현재 효정님이 우아한형제들에서 맡고 있으신 역할과 프로젝트를 소개해 주세요. 안녕하세요, 배민Android개발팀에서 배달의민족 안드로이드 앱과 배민주문접수 안드로이드 앱을 개발하고 있는 윤효정입니다. 배민주문접수 앱에 대해 소개드리면 배민 서비스를 이용하시는 가게 사장님들이 주문을 접수하고 잘 관리하실 수 있도록 지원하는 서비스입니다. 최근에는 배민Android개발팀 팀장을 맡게 되어, 신규 프로젝트의 기술검토부터 안정적으로 기능을 배포할 수 있도록 챙기는 역할을 하고 있습니다. 담당업무 소개 최근에 일하며 보람을 느꼈던 순간을 이야기 해주세요. 사실 프로젝트가 생성되는 단계에서 서비스 방향과 개발 방안에 대해 논의하고, 여러 프로젝트들이 병렬로 잘 수행되도록 관리하는 순간들이 모두 의미 있는 것 같습니다. 최근에 팀장을 맡게 되면서 개발 업무와 병행하는 플레잉 코치 역할을 하고 있는데요. 팀에서 어려운 과제를 수행하며 동시에 코틀린 변환, 리팩토링, 구조 개선 등의 실행 방안을 팀원들과 논의하고는 하는데, 저희 팀원 모두 능동적이고 실행 의지가 강한 탓에 일이 순조롭게 진행되는 편입니다. 이럴 때 저희 팀이 잘 운영된다는 생각에 보람을 느끼는 것 같아요. 또한 동료 개발자와 서비스 방향과 과제를 논의하는 과정에서 제가 제시한 의견에 대한 긍정적인 반응이 있을 때도 보람을 느낍니다. 한 번은 배민플랫폼실 TF에서 진행하는 큰 프로젝트에 주문접수앱 개선 업무를 담당했는데, 함께 일 한 동료로부터 감사 인사를 받았을 때 “신뢰받는 사람이구나”라는 생각에 뿌듯하더라고요. 함께 일하는 동료들에게 긍정적인 피드백을 받을 때 보람을 느끼고 또 제가 일을 즐겁게 하는 원동력이 되는 것 같아요. 마지막으로 안드로이드 개발 일을 할 때에도 보람을 느끼는 순간들이 많은데요. 배민앱에 주문내역 웹뷰에서 원인이 불명확해 오래 묵혔던 버그를 클리어하게 해결했을 때 잔잔한 만족감이 오래갔습니다. 개발자다 보니 잘 짜인 코드와 안정적인 서비스로도 심적 힐링이 될 때가 있는 것 같아요. (웃음) 기술 성장 과정 개발자 동료들과 함께 개발하고 성장하는 과정에서 안드로이드 개발자로서의 기술 습득은 어떻게 하셨는지요? 저는 좋은 시니어 개발자와 함께 일하면서 기술을 습득하고 성장한 것 같습니다. 처음에 신입으로 입사했을 당시에는 주니어 개발자지만 크고 작은 미션을 혼자서 수행하는 일도 있어서 많은 실패를 경험했어요. 개발자는 일정 내 기능을 구현하는 것이 최우선 목표이다 보니, 일정을 맞추는 것도 빠듯한 실력이어서 버그가 많았던 것으로 기억합니다. 회사가 성장하고 새로운 시니어 개발자와 코드 리뷰를 할 수 있는 기회들을 갖게 되면서 실패를 통해 배울 수 있는 환경에서 일할 수 있게 되었고, 그 과정에서 코드의 네이밍, 가독성, 역할 분리에 대한 고민을 하고 코드를 보다 간결하게 작성할 수 있게 되었습니다. 당시에 간결한 코드를 작성하기 위해 개발 서적을 대거 탐독했고, 사내에 다른 시니어 개발자가 이끌었던 스칼라 빨간책 스터디도 재미있게 참여했어요. 또한 코드 리뷰 프로세스에 시간이 소요되는 단점을 보완하고 개발을 효율적으로 하기 위한 다양한 시도와 노력이 있었는데요. MVP+Repository 조합 패턴 형태를 도입하는 시기에 많은 개발자가 회사에 합류해 동료들과 unitTest 스터디를 함께 하면서 실무에 적용하기도 했어요. 이 패턴을 적용하면서 비즈니스 로직이 분리되긴 했지만, Presenter가 비대해질뿐더러 비지니스 로직의 재사용성이 떨어지는 것도 문제였지요. 레거시 코드에서는 운영 개선과 병행해서 시도하기 힘들었던 점을 보완하기 위해 시니어 개발자가 Android cleanArchitecture+RxJava2 를 채택했고, 팀원들과 스터디 하면서 기술 수준을 맞춰 나갔던 기억이 있습니다. 배민앱, 주문접수앱에 그 경험들을 적용하면서 개발 역량은 꾸준히 성장한 것 같아요. 잘 짠 코드를 많이 봐야지만 저도 더 좋은 코드를 짤 수 있다고 생각해요. 저희 팀원분들 대부분이 시니어 레벨이기도 하고 신규 API를 적용하고자 하는 부분에 있어서는 각자 검토하고 제안하세요. 서로 배울 수 있는 동료들과 함께 일하고 있다는 점에서 기술 습득을 위한 최상의 환경과 조건에서 일하고 있다고 생각합니다. 역량에 대한 생각 우아한형제들의 서비스 가치를 만들기 위해 안드로이드 개발자는 어떤 역량을 갖춰야 할까요? 동료와의 소통 과정에서 즐거움을 느끼고, 안드로이드 개발 업무에 진심이면 된다고 생각합니다. 이번 인터뷰를 하면서 들었던 생각은 “나는 안드로이드 개발자이고, 어떤 개발이든 상관없이 잘할 수 있다”라는 자신감도 좋지만, 배민앱과 서비스에 대한 호기심과 관심에서 나오는 개선 의견이 있는 분이면 더 좋을 것 같아요. 사용자로서 우아한형제들 서비스에 대한 생각들 예로들면 ‘이 기능은 왜 도입을 안 하고 있지?’와 같은 관심이 있어야지만 서비스에도 새로운 가치를 만들 수 있다고 생각합니다. 협업하는 사람들과 지속적인 커뮤니케이션을 하는 것 또한 서비스 가치를 만들기 위해서는 꼭 필요하다고 믿습니다. 제가 믿는다고까지 이야기하는 이유는 하나의 과제 또는 미션을 수행할 때는 기획, 디자인, 서버, iOS, QA 직무를 맡는 동료들과도 긴밀하게 커뮤니케이션을 하면서 과제를 수행하게 되는데요. 각 담당자들의 수행 결과물 즉 현상으로 전달되는 것을 그대로 이행하는 데만 그치면 당초의 의도와 결과가 다르게 일이 진행될 확률이 경험상 높았어요. 한 프로젝트 안에서 각 파트가 가진 목표가 있지만 저변의 의도를 파악하고자 한다면 확실히 모두가 프로젝트를 바라보는 관점이나 목표가 분명해집니다. 과제 의도와 다르게 목표가 설정되는 경우에는 피드백을 통해 디벨롭해 나가야 된다고 생각하고요. 이런 일련의 조율 과정을 유연하게 커뮤니케이션하고 즐길 수 있어야 할 것 같아요. 기술 역량에 대해서도 스스로가 n개의 스킬을 보유했다는 사실도 중요하겠지만 그보다는 서비스 개발을 하면서 어떤 상황적, 개발적 고민이 있었고, 어떻게 극복하고 해결했는지 등의 반복된 훈련을 통해 얻은 판단력이 핵심인 것 같아요. 더불어 안드로이드 개발 트렌드에 대해 민감할 필요는 없지만, 추세나 흐름에 대해서도 놓치지 않으셨으면 좋겠어요. 우아한형제들의 개발문화 ‘배민Android개발팀’만의 문화와 매력은 무엇인가요? 재택근무 초반에 생성한 구글 meets 채널이 있는데 저희 팀에서는 ‘티타임방’이라 불러요. 티타임방을 상시로 오픈해 팀원 간의 업무 공유를 하기 위한 목적으로 운영된다는 점에서 이점이 크다고 생각합니다. 저희는 프로젝트가 병렬로 진행되기 때문에 개발자 간에 즉각적인 논의가 필요할 때가 있는데, 이때 주저하지 않고 대화를 시작할 수 있는 효과가 있어요. 물론 여기서 일 얘기만 하는 건 아니고 사담도 나누다 보니 코로나로 인해 격리된 느낌을 해소해 주기도 하고, 한 공간에 모여서 일한다는 느낌도 들어 팀원들간 결속력을 높이는 것 같아요. 그렇다 보니 티타임방이 의무가 아닌데, 팀원들이 돌아가면서 거의 상주해 있어요. 공동카페 운영의 느낌이죠. 이렇듯 티타임방이 자연스럽게 운영되는 것만으로도 팀원들의 성향과 팀 분위기가 어떤지 아시겠죠? (웃음) 마무리하며 우아한형제들 개발자로서 얻을 수 있는 한 가지가 있다면 무엇일까요! 좋은 동료, 업무 환경, 복지, 개발문화 언급할 수 있는 것들이 많겠지만 한 가지를 꼽아보자면 나를 포함해 가족, 친구, 지인이 일상생활에서 늘 사용하는 서비스 앱을 A부터 Z까지 개발할 수 있다는 사실 그 자체가 매력적이라고 생각합니다. 타 기업의 경우 앱 개발 파트가 구분되어서 경험해 볼 수 있는 도메인이 제한적일 수도 있는데 비해, 우아한형제들의 경우는 모든 도메인에 나의 노력과 손때(?)가 묻어있다는 것이죠. 서비스 개발자로서 도전 과제들이 많은 만큼 성장폭도 크고 자연스레 서비스에 대한 오너십 또한 강해집니다. 개발직군 모집공고 바로가기 콘텐츠 저작권은 우아한형제들에 있으며, 무단 배포를 금지합니다.
더 보기
이미지
인터뷰
우아한형제들의 기술이사 다섯분을 소개합니다.
우아한형제들의 기술이사
Aug 12, 2020 • 송재하 안녕하세요, 우아한형제들 CTO 송재하입니다. 저는 올해 4월 1일에 우아한형제들에 합류했는데요, 그 이후 몇 달간 새로운 환경에 정착하고 또 의욕과 영감을 불러일으켜 준 다섯분의 기술이사님들과 기술이사 제도에 대해 여러분들께 소개하는 것으로 우아한형제들 기술블로그와의 인연을 시작해볼까 합니다. 들어가며 본론으로 들어가기 전에, 제가 우아한형제들에 합류하게 된 얘기부터 먼저 해 보겠습니다. 제가 직전 직장을 떠나 다음 일터를 찾겠다는 결심을 하고 정리를 해 나가던 어느 시점에, 평소 알고 지내던 우아한형제들의 김범준 대표님이 함께 일해보지 않겠냐는 제안을 하셨었는데요, 이제 말씀드리지만 처음에 몇 번을 고사 했었습니다. 그러다가 마음이 움직이기 시작했던 것이, 제 커리어 설계안을 들은 대표님이 매우 도발적이면서도 재기발랄한 질문을 던지면서였던 것 같습니다. 여기 에 그 때의 흔적이 남아 있군요. 저는 원래 도메인을 달리해 가며 3년여 전의 제 전직장 정도 회사에 합류해서 유니콘으로 잘 키워 나가는 경험을 재현하면서 “연쇄 유니콘 메이커”로 성장하는 방향을 잡았었습니다만, 대표님의 “챔피언스리그 우승 도전이 진짜 도전” 이라는 얘기에 마음이 동해서 결국 우아한형제들에 합류하게 됐습니다. 이렇게 보면, 저는 우아한형제들을 최고의 개발 조직으로, “챔피언스리그 우승권”으로 만들어 내는 것이, 입사 이전부터 요구받은 내재적 목표라 할 수 있겠습니다. 이걸 좀 더 구체적이고 체감되게 표현해 보면, 우아한형제들을 네OO, 카OO 등을 포함한 유수한 개발 조직들과 어깨를 나란히, 아니 그보다 앞서야 한다는 얘기입니다. 우아한형제들이 지금까지 쌓아온 업적이 작지 않지만, 앞에서 언급한 다른 클럽들이 가진 긴 업력과 두터운 인적 자원, 총체적 역량을 고려했을 때, 여간 어려운 일이 아닐 것입니다. 하지만, 이 글에서는 언급하지 않는 여러 좋은 여건과 함께, 이번에 소개하는 우아한형제들의 기술이사 제도와 훌륭한 기술이사님들을 통해 내부의 개발자들이 잘 성장하고, 시스템과 인재의 역량을 극대화할 수 있도록 조직화하며, 업계에서 선망하는 개발 조직을 만들어 가는 것이 저 목표를 이루는 올바른 길이라 생각하며, 본론으로 들어가겠습니다. 우아한형제들의 기술이사 우아한형제들은 2020년 들어서며 개발 역량 강화를 위해 개발직군에 대한 별도의 직급 체계를 마련했습니다. 새로운 체계에 따라 개발직군은 TM(Technical Manager) 트랙과 TE(Technical Expert) 트랙으로 이원화하고, 이에 따라 기존의 임원과는 별도 트랙으로 개발직군의 정점에 선 기술이사도 다섯 분을 선임했습니다. 기술이사는 단순히 본인에게 주어진 일만 잘 하는 것이 아니라, 본인이 가진 경험과 역량을 다른 구성원들과 함께 나누면서 발전시키는 역할을 하는 분들로, 소속된 업무조직 내에서의 직책과는 별개입니다. 공교롭게도 이렇게 선임된 기술이사 5분의 직책 분포도 실장 1명, 팀장 2명, 팀원 2명으로, 직군 전문가 역할의 면모를 잘 나타내고 있습니다. 기술이사 제도는 개인의 역량과 역할에 대한 회사의 기대치를 나타낸 것으로, 소속 조직이나 직책과 무관하게 본인이 가진 개발자로서의 경험과 역량에 기반한 역할이라고 생각할 수 있습니다. 우아한형제들의 기술이사 제도와 기술이사 개개인의 면면을 소개하기 위해, 우아한형제들 내부에서 기술이사님들을 소개하기 위해 진행된 DR과 기술이사님들간의 인터뷰를 공유드립니다. 우아한형제들의 기술이사 다섯분을 소개합니다. DR : 안녕하세요 여러분 :) 오늘은 오랫동안 여러분이 받아보지 못하셨을 수 있는 질문으로 시작해볼게요. 어떤 계기로 개발자가 되셨나요? 민태 : 언제 어떤 계기로 개발자가 되기로 결심했는지는 잘 모르겠어요 ㅋㅋㅋ 국민…아니 초등학교 때 국민.. 초등학교 때 이모부 댁에 있는 SPC-1000에서 구동되는 게임과 BASIC 코드들을 신기해하며 만져본 기억은 나지만 그게 촉매제였을까요? 잘 모르겠네요. 기술이사 임정기님 정기 : 저도 초등학교 6학년때 컴퓨터학원에서 Basic 이라는 언어를 처음 접했고, 초중고 학창시절 삼국지등 전략시뮬레이션 PC게임을 매우 좋아했었습니다. 아마 그게 시작이었던 것 같아요. 대학교 과를 정할때 게임을 많이 할수 있지 않을까 라는 생각에 모두 컴퓨터관련 학과로 지원을 해서 컴퓨터학부를 전공하게 되었….ㅋㅋㅋㅋ 기배 : 저는 (어린 시절은 건너뛰고) 고등학생 때 사설BBS를 운영했었어요. 개인이 운영하는 소규모의 나우누리, 천리안 같은 서비스인데요. 이 때는 ANSI 코드로 프론트엔드 개발을 하던 세상이었습니다. 그 후로 인터넷 세상이 오면서 자연스레 Perl, PHP, JavaScript를 하게 되며 밥벌이를 시작하게 되었는데.. (이후 과정은 눈물 없이 들을 수 없는 스토리이기 때문에 후략) 권남 : 대학교 전공이 컴퓨터 공학이었는데, 사실 그냥 별 생각없이 간 편입니다. 졸업하고 났더니 할 수 있는게 이것밖에 없어서 그냥 했습니다. ( DR: 근데 막 하니까 잘한건가요 ㅎㅎㅎ) 하다보니 재밌어서 좀 열심히 하는 편이었습니다. 머리가 나쁘니 배운 내용은 정말 사소한 것들까지 기록으로 남겼었는데, 많은 분들이 그걸 보고 좋다고 해주시니 또 열심히 기록으로 남기기도 하였습니다. (DR : 아…권남님은 칭찬에 약한편 ㅎㅎㅎ) 희송 : Hoxy … 저만 비전공자 인가요? 전공은 컴퓨터공학과 출신은 아니지만 취미로 프로그래밍하는 것을 좋아했습니다. 때문에 C언어 과목을 수강신청해 듣기도 했습니다. 매주 마다 내주는 과제와 시험으로 고생했네요.ㅠㅠ 대학을 졸업한 후에는 평생 직장생활을 해야하니 내가 좋아하는 일을 하자고 마음을 먹고 프로그래머의 길로 들어서게 되었어요. 기술이사 신희송님 DR : 오 ㅎㅎㅎ 한번도 여쭤보지 않았던 질문인데 배경과 계기가 너무 재밌는데요, 그렇게 개발자가 되셔서 각자 다른 시기에 우아한형제들에 입사 하셨는데, 우아한형제들에서 꼭 이뤄내고싶다 하는 일이 있으신가요? 정기 : 사실 아직 정답을 찾지는 못했지만 우아한형제들에서 좋은 동료들과 함께 조금씩 찾아가고 있는 것 같아요. Site Reliability Engineering 업무를 하면서 꼭 이루고 싶었던 목표는 어떠한 이유가 되었던지, 설사 누군가 의도적으로 서비스에 장애를 내려고 하더라도 서비스의 안정성이 유지 될 수 있는 탄탄한 아키텍처를 갖춘 굳건한 시스템을 만드는 일입니다. 그러한 아키텍처 위에서 고객에 가치를 주는 비지니스 픽처들이 더 빠르게 만들어질수 있는 상상도 하고 있습니다. 희송 : 아마 다들 이 질문은 현재 맡고있는 업무에 연관되어 있을 것 같아요. 저는 이커머스플랫폼 시스템을 잘 구축하고 싶어요. 새로운 이커머스 사업을 할 때 비지니스만 올리면 되는 그런 커머스 “플랫폼”을 만들고 싶어요. 새로운 사업마다 재구축을 하면 시간과 리소스가 많이 필요하고 비효율적일 것이라고 생각해서요. 민태 : 맞아요, 저도 그래요. 현재는 “디자인 시스템” 구축이 꼭 이뤄내고 싶은 일입니다. 2018년 말에 생긴 목표인데요, 충분히 가능하다 생각하고 조금씩 기회 될 때마다 여러 가지 시도를 하고 있습니다. 내년엔 구체적인 성과를 보일 수 있는 수준까지 진행되기를… 기배 : 입사 후 시스템들을 들여다 본 후에 세웠던 목표들이 있었는데요. 다양한 프로젝트를 진행하며 많이 달성되었습니다. (달성되었다는 기준은 주관적) 요즘은 다음 레벨의 비즈니스 scalability를 제공하기 위해서 무엇이 필요할 지 다시 고민하고 있습니다. 권남 : 1등은 이미 됐으니, 1년 365일 무장애? (전원 오~~ 눈치) 기술이사 손권남님 DR : 365 무장애라는 목표에 고통받으실 많은 분들이….ㅋㅋㅋㅋㅋ 기술이사가 되셨는데 기술이사는요? 새로운 역할에 어떤 기대가 있으신가요? 권남 : 제가 “기술적으로” 다른분들보다 압도적으로 뛰어나기 때문에 기술이사가 되었다고는 생각하지 않아요. 다만, 뭔가 시스템이 지지부진하고 문제가 있을 때 참고 넘어가지 못하는 경향이 있는데 그런 상황에서 어떻게든 개선책을 찾아보려는 아주 강력한 욕구가 있습니다. 함께 개선해 나가는데 길잡이 같은 역할이 될 수 있을 것 같아요. 정기 : 저도 함께하는 것이 중요하다고 생각해요. 기술이사분들이 기술적인 부분에서 회사의 성장에 맞는 아키텍처 및 기술적 의사결정에 많은 역할을 해야할텐데, 이때 기술이사로서 많은 도메인팀과 더 소통하고 지금 우리가 풀어야 할 기술적 과제를 해결하는데 기여하고 싶어요. 민태 : 제가 생각하는 기술이사의 역할은 지속적으로 개발을 하며 기술에 대한 나눔이나 직업인으로서의 지식 나눔을 후배들에게 실천하는 것이라 생각해요. DR : (눈을 반짝이며) 어떤 실천을 하시고 싶으신가요 ㅎㅎㅎ 테크러닝 2기 가나요….? 기술이사 김민태님 민태 : 실천의 형태는 여러 가지가 있을텐데 회사나 구성원의 상황에 따라 구체적인 모양은 변할 것 같지만 본질은 늘 개발자 선배로서 후배들에게 나누어주는 역할이 아닐까 싶어요. 그래서 어떤 식의 나눔을 받으면 좋을지 많은 의견을 듣고싶네요 ㅎㅎ 기배 : 보통 대부분의 개발자들이 입사 인터뷰 때 본인이 일하게 될 팀이 어떤 팀인지 궁금해 합니다. 좋은 팀에서 좋은 동료들과 일하고 싶다고 얘기하곤 하는데요. 좋은 사람을 맞으려면 우형의 개발 조직들이 더 좋은 팀이 되어야 할 것 같아요. 좋은 팀이 된다는 것에 많은 것들이 필요하겠지만 이런 부분에 더 기여하고 싶어요. 최근 1년 정도는 프론트엔드 워크샵, 컴퓨터 시스템 교육에 시간을 써왔는데요. 이 외에도 제가 필요한 부분이 있으면 알려주셔요. (저희를 찾아주세요~~) 희송 : 첫째는 모든 구성원분들이 좋은 개발자로 성장하는데 돕고 싶습니다. 어떻게 하면 좋은 개발자로 성장할 수 있는지 같이 고민하고 토론하며 방법을 같이 찾아나가면 좋겠습니다. 둘째는 저도 최근에 관심이 생긴 부분인데 좋은 팀웍을 만들어 내는 것이라고 생각합니다. 셋째는 지속적으로 확장하는 서비스를 개발하고 유지하는데 기여하는 것이라고 생각합니다. DR : 깔끔하고 완벽한 마무리 감사합니다. 마지막으로 간단하게 하나만 여쭤볼게요. 우아한형제들 하면 떠오르는 송파구에서 일잘하는 11가지 방법이 있잖아요 ~ 특별히 좋아하는 항목이 있으세요? 권남 : 모두다 의미있는 것들이라서 한 가지만 콕 찝기는 어려운 편입니다. (이렇게 시작하면 되는거죠? ㅋㅋㅋㅋ) 쓰레기는 먼저 본 사람이 줍는다 인데요, 무슨 일이 생겼을 때 누군가 해주겠지 기다리지 않고 스스로 먼저 하는 자세가 필요하다고 생각하고, 혹은 그런게 필요하지 않냐가 직군과 직급을 넘어 먼저 얘기할 수 있는 회사가 좋은 회사라고 생각해서요. 민태 : 저는 가족에게 부끄러운 일은 하지 않는다 입니다. 아이를 키우며 늘 생각하는 것은 정의로운 세상과 정의로움의 가치에 대해 잘 알려주고 싶다는 욕망입니다. 정의롭다는게 지키기 너무 힘들고 정의에 대한 기준을 세우기 어렵지만요. 다만 내 가족이 부끄럽게 생각할 만한 일을 하지 않으면 소시민으로서 지킬 수 있는 정의는 지키며 살아가는 게 아닐까 하는 생각이 들게 하는 문구라서 좋아합니다. 회사가 제 개인적인 가치를 응원해주고 있다는 생각도 들고요. ^^ 기술이사 신기배님 기배 : 모든 일의 궁극적인 목적은 ‘고객창출’과 ‘고객만족’이다. 한국, 미국, 인도네시아에서 10년간 사업을 했습니다. 그리고 한국의 소기업, 중소기업, 대기업, 재벌그룹 등 다양한 규모의 회사에서 일했습니다. 게임, 광고, 검색, 개인화, 교육 등 다양한 도메인에서 다양한 고객들을 만족시키기 위해 노력했는데요. 과정은 고되고 결과가 예상 밖인 경우가 더 많았지만, 그런데도 도전할 수 있었던 이유는 기존 산업을 바꾸거나 새로운 산업을 만들어 내고 싶다는 욕망 때문이었다고 생각합니다. 내가 만들어 낸 결과물이 많은 사람들의 삶을 바꾸고 있을때의 성취감만큼 큰 모티베이션은 없다고 생각합니다. :) 정기 : 오 저도 같은 항목 ! 모든 일의 궁극적인 목적은 ‘고객 창출’과 ‘고객 만족’이다. 예요 ㅎㅎㅎ 다른 항목이 덜 중요하다기보다는 해당 항목이 우리가 일을 하는데 가장 근본적인 이유라고 생각을 해서 제일 좋아해요. 저 뿐만 아니라 같이 업무를 하는 동료분들에게 이런 부분을 강조하기 위해서 극단적인 표현같지만 저는 “조직장은 고객이 아니다” 라는 표현을 간혹 사용합니다. 희송 : 이 질문에서 저희 셋이 통했네요 ㅋㅋ 혁신의 주체는 기술이 아닌 “고객”이라고 생각해요. 고객으로부터 선택을 받지 못하면 그 어떤 기회도 얻지 못할 것이기 때문인데요, 고객으로부터 엄청난 사랑을 받게 되면 이를 버터낼 안정적인 시스템을 구축해야할 기술적인 도전도 생기고, 고객 행동의 데이터를 활용할 수 있는 기회도 열리게 되는 것 같아요. 그래서 일을 잘하는 방법중 좋아하는 항목입니다. DR : 오늘 이렇게 인터뷰에 참여하기 위해 시간내주셔서 감사하고, 말씀하신 것처럼 (그러고보니 이제 기술블로그에도 박제 되었네요 ^^) 지식 나눔을 후배들에게 실천하는 것을 위해 Dev-Rel에서 열심히 찾아뵙고 괴롭히겠습니다 ㅋㅋㅋㅋ 기대해주세용 ~~ 기술이사 5인과 지나가는 길에 붙잡힌ㅋㅋㅋ CTO 송재하님 그리고 우아한테크코스 박재성이사님 콘텐츠 저작권은 우아한형제들에 있으며, 무단 배포를 금지합니다.
더 보기
이미지
인터뷰
[우아한 인터뷰] 신입사원 김용대편
우아한형제들 인터뷰
입사 축하드려요! 앞으로 용대님은 CTO실에서 어떤 일을 담당하게 되나요? 이제 들어온 지 일주일 정도 되어서 인수인계를 받고 있는 중인데요. 방금도 인수인계를 받다 왔네요.(웃음) 저는 IT인프라팀에 배속 받았어요. 저희 팀은 우형의 모든 구성원이 보다 편히 일할 수 있도록 내부 서비스를 개발하고 환경을 구축하는 일을 하고 있어요. 인턴 실습 기간 동안 IT인프라팀에서 구글 스크립트를 활용한 업무 자동화 프로세스를 만든 경험이 있는데 앞으로 맡을 업무들도 그런 업무의 연장선 상에 있을 것 같아요. 배민개발학당 인턴 모집 포스터 촬영 중 용대님은 인턴으로 시작해서 우형에 함께 하게 되었죠? 인턴 기간 중에 특별히 기억에 남는 게 있었어요? 에피소드는 아닌데, *배민개발학당이 저에게는 두 번째 인턴 경험이었거든요. 인턴 제도가 굉장히 잘 되어있는 회사라는 느낌을 받았어요. 교육기간을 거쳐 개인 프로젝트와 그룹 프로젝트, 실무까지 경험해 보니 무척 체계적인 커리큘럼이라는 생각이 들더라구요. 그래서 인턴 프로그램이 8기까지 이어 올 수 있었구나 싶어요. (*배민개발학당 : 우아한형제들 CTO실의 개발인턴 프로그램) 취준생 입장에서 인턴을 두 번하는 것도 쉽진 않았을 것 같은데요. 다른 회사에서 첫 인턴을 마무리하면서 멘토에게 ‘인턴 기간동안 적극성이 부족했다.’는 피드백을 받았거든요. 그 점을 보완하고 싶었어요. 제 개발 실력에 대한 아쉬움도 있었고요. 그래서 ‘아주 큰 대기업과 완전히 작은 벤쳐에서 각각의 아쉬운 점들을 채우고 본격적으로 취준을 해보자!’는 다짐을 했는데 ‘큰, 커져가는 벤쳐’에서 인턴도 하고, 일도 하게 됐죠! 배민개발학당 인턴 생활은 작년 12월의 김용대가 내린 최선의 선택이었다고 생각합니다. 서울사람 김용대 개발의 첫 시작은 언제였어요? 스물 세 살 때요. 저는 문과 출신이어서 미적도 대학교 1학년 때 처음 배웠어요. 전공 수업 때 애들이 hello world 찍고 테트리스 만들면서 흥분할 때도 그 의미를 잘 몰랐죠. 그러다 전역 후에 컴퓨터 공학과에 가면 컴퓨터 수리공 되는거라고 놀리던 친구를 골탕 먹이고 싶어서 해킹 프로그램을 테스트해보기 시작했는데 거기서 재미를 붙였어요. 오…. 위험한 개발자 같은데요. 아닙니다. 지금은 한참 열심히 배워나가는데 집중하고 있어요. 한참 배워서 해킹을…. 아닙니다. (웃음) 언젠가 창업을 해보고 싶은 꿈이 있는데요. 대학 때 멋진 앱을 만들어보려고 기획하는 친구와 디자인하는 친구를 모아서 프로젝트를 진행했었어요. 그런데 아무리 멋진 아이디어와 디자인을 가지고 와도 개발하는 제 능력이 부족하니까 만들 수 있는 게 결국 누구나 생각할 수 있는 평이한 수준 밖에 안되더라고요. 그런 상황이 참 싫었거든요. 그 언젠가를 위해 지금은 개발을 ‘잘’ 하는 사람이 되는 것에 최선을 다하고 싶어요. 그 ‘잘’ 하기 위한 노력 같은 걸 혹시 하고 있다면…? 책을 많이 보고 있어요. 특히 제 경우에, 개발과 관련된 공부는 무턱대고 덤비는 것보다 책을 통해 기초를 만들어놓고 덤빌 때 시간 투자를 효율적으로 하게 되더라고요. 낯선 것을 익힐 때는 이해가 안되더라도 책으로 빠르게 읽으면서 익숙한 느낌을 만들어 놓는 게 도움이 되거든요. 책을 많이 본다니, 우리 회사의 도서지원 혜택을 톡톡히 보겠네요. 맞아요. 그런데 책 구매 자체에 대한 지원보다도 회사 전체적으로 책을 읽는 문화가 자리잡혀 있는 게 정말 좋았어요. 누군가에게 ‘이런 것을 공부해보고 싶다.’고 한 마디 던지면 다들 기다렸다는 듯이 술술 다양한 책들을 권해주시거든요. 제가 지금까지 본 책은 전공책, 서점에서 높은 순위에 있는 추천 도서, 혹은 검색을 통해서 본 게 전부라 저보다 앞서 걸어가는 분들로부터 검증된 책들을 추천받을 수 있다는 게 저에겐 정말 꿀팁 중에 꿀팁이죠. 우형은 푸드테크 회사니까 음식에 관한 이야기도 좀 들어볼까요? 최근에 꽂힌 음식을 꼽아본다면? 치킨입니다!!!!!!!! 조금만 고민하고 대답해주세요.(웃음) 그럼 치킨의 갑오브갑은? B모 사의 핫후라이드 치킨요!!! 순살인가요! 뼈있는 치킨인가요! 치킨은 무조건 뼈가 있어야 합니다!! 순살은 치킨이 아니죠!! 우아한형제들 워크샵 ‘기발한피플샵’ 중 | 팀원의 생일 케익을 꾸미는 중 소신 발언 감사합니다. 우리 치킨 이야기에 조금 흥분한 것 같네요. 회사생활 이야기로 다시 돌아와볼게요. 회사 생활에서 중요한 키워드 3개만 꼽아본다면 뭐가 있을까요? 서비스, 문화, 사람을 꼽고 싶네요. 어떤 일을 하는 회사인지가 일단 중요하고요. 함께 일하는 사람들, 직장 문화 같은 게 중요한 것 같은데 사람과 문화는 서로 영향을 미치는 요소라고 생각해요. 사람들이 문화를 만들고, 문화가 사람들을 만들고. 우리 회사는 특히 자발적으로 행동하는 문화가 잘 잡혀있는 것 같아요. 예를 들면 스스로 자기 자리를 청소하고, 키친을 청소하고, 정리하고 그런 것들요. 구성원들이 스스로 그런 문화를 지키려고 노력하고 있는게 신기해요. 일주일 정도 지내면서 본 CTO실 사람들은 어땠나요? 전체적으로 다들 굉장히 재밌고, 이상한 분들이예요. 아직까지는 제가 제일 정상인 거 같은…? ‘굉장히 재밌고, 이상한 분들’의 소통st 그렇게 생각하는 사람들이 보통 ‘*이상한 사람’이라는 게 함정인데요. (*우형 CTO실에서 ‘이상한 사람’ == 개그욕심 충만, 똘끼 충만, 덕력 충만한 사람을 가리킵니다.) 아 그래요? (웃음) 농담이고, 다들 굉장히 즐겁게, 열심히 일하고 있는 것 같아요. 특히 저는 인턴 시절에 멘토였던 분들을 눈여겨 보게 되더라고요. 저의 내일, 내일 모레의 모습이니까. 그 분들이 각자 자기 자리에서 열정을 가지고 일하고, 공부하는 모습을 보고 내가 가야할 방향들을 보고 있어요. 만약 언젠가 내가 CTO가 된다면 신입 개발자에게 꼭 해주고 싶은 한 마디가 있을까요? 음. 저는 역으로, 인턴 때 CTO님께 어떤 개발자가 되고 싶냐고 물어본 적이 있어요. 그 때 CTO님이 ‘어떤 개발자가 되는 게 중요한 게 아니라…’ …잠시만요. 엄청 멋진 말을 들었는데…. ‘어떤 개발자가 되는 게 중요한 게 아니라…’ ……아… 정말 멋진 이야기였는데 기억이 안나네요……. 그럼 우리 이 질문의 답은 CTO님께 다시 들어보기로 하죠.(웃음) 마지막 질문인데요. 우리 회사 곳곳에 ‘평생직장 따윈 없다. 최고가 되어 떠나라!’는 문구가 붙어있는데요. 언젠가 용대님이 회사를 떠난다면 어떤 개발자가 되어있을까요? 저는 ‘같이 일하고 싶은 개발자’가 되고 싶어요. 그러기 위해서는 유머러스하고, 의사소통도 잘 되는 것도 중요한데요. 사실은 그것보다 개발자로서의 능력을 동료한테 인정 받는 게 가장 어려운 일이라고 생각하거든요. 같이 더 일하고 싶어서, 가지 말라고 붙잡을 만큼의 개발자가 되고 싶습니다. 사진과 글의 저작권은 우아한형제들에 있으며, 무단 배포를 금지합니다.
더 보기
이미지
비즈니스
‘우아한테크코스-웹백엔드’ 2기를 모집합니다
우아한테크코스가 뭔가요?
* 아래 글의 원문은 우아한형제들 기술블로그(http://woowabros.github.io/techcourse/2019/10/14/woowacourse.html)에서 확인하실 수 있습니다. ‘우아한테크코스 - 웹 백엔드’ 2기를 모집합니다. 아무 것도 없는 상태에서 우아한테크코스 1기 모집 글을 쓸 때가 어제 일 같은데 벌써 2기 모집 글을 쓰네요. 1기 모집 글을 쓸 때는 막막함과 약간의 두려움이 있었다면 2기 모집 글을 쓰는 지금은 더 좋은 품질의 교육을 만들고 싶다는 욕심이 크네요. 우아한테크코스가 걸어가려고 하는 지향점은 크게 달라지지 않았기 때문에 우아한테크코스 1기 모집(링크) 글에서 확인해 보면 좋겠습니다. 이 글에서는 우아한테크코스 1기를 진행하면서 변경된 내용과 교육 과정을 공유하면서 약간의 회고도 담아보려고 합니다. 우아한테크코스가 뭔가요? 우아한테크코스는 프로그래밍을 배워 프로그래머로서의 삶을 살고 싶은 사람들을 대상으로 하는 프로그래밍 교육 과정입니다. 한마디로 프로그래머로 취업하고 싶은 사람들을 위한 직업 전문 학교와 같다고 생각하면 됩니다. 2019년에 1기 교육생을 선발해 5월부터 교육을 시작했고, 2019년 12월까지 교육을 진행 중인 상태입니다. 1기 교육을 진행하면서 2기 교육생 선발을 병행하려니 이 또한 새로운 도전이네요. 우아한테크코스는 계속해서 새로운 문제를 만나고 해결하면서 조금씩 전진하고 있습니다. 우아한테크코스가 지향하는 교육은? 우아한테크코스가 지향하는 교육 목표는 1기와 달라진 점이 없지만 중요한 만큼 다시 한번 반복하는 것이 좋겠네요. 우아한테크코스는 일반 사용자용 서비스를 개발하는 회사가 필요로하는 역량을 키우는 것에 집중함으로써 재교육 없이 현장의 업무를 바로 시작할 수 있도록 하는 것이 첫 번째 교육 목표입니다. 학교에서 배우는 내용과 현장에서 필요로하는 역량의 차이가 점점 더 벌어지고 있는 상황이라 이 차이를 극복할 수 있는 교육 과정을 설계하고 운영하는 것입니다. 두 번째 목표는 자기 주도적인 학습 역량을 키우는 것입니다. 우아한테크코스는 프로그래머가 갖춰야 할 역량을 쌓기 위한 기간으로 봤을 때 그리 긴 기간은 아닙니다. 우아한테크코스는 더 많은 지식을 전달하는 것이 목표가 아니라 스스로의 힘으로 성장할 수 있는 근육을 키울 수 있도록 하는 것이 목표입니다. 이를 위해 모든 과정은 미션 기반으로 진행하며, 각 미션에 대해 리뷰 요청을 하면 선배 프로그래머가 피드백을 주는 방식으로 진행합니다. 세 번째 목표는 다른 사람들과 소통하고 협업하면서 같이 성장할 수 있는 인재를 키우는 것입니다. 소프트웨어를 통해 해결해야 할 문제의 난이도와 복잡도가 높아지면서 기술적인 역량도 중요하지만 다른 사람과의 소통과 협업을 통해 문제를 해결할 수 있는 역량에 대한 중요도가 점점 더 높아지고 있습니다. 우아한테크코스는 공동 학습, 짝 프로그래밍, 팀 프로젝트를 통해 의사소통, 협업, 팀워크와 같은 소프트 스킬 역량을 갖춘 인재를 키우는 것을 목표로 하고 있습니다. 우아한테크코스 교육방식과 내용은? 우아한테크코스는 현장형 교육, 자기주도 학습, 소프트 스킬을 갖춘 인재 양성이라는 세 가지 목표를 달성하기 위해 기존의 학습 방식과는 다른 접근 방식으로 도전하고 있습니다. 1기 교육 과정과 결과물을 통해 교육이 어떻게 진행되고 있는지와 커리큘럼을 공유해 봅니다. 우아한테크코스 교육의 중심에는 단계별로 설계된 다양한 미션이 있습니다. 미션을 해결하려면 이론적인 지식이 필요할 수도 있고, 반복적인 연습을 통해 경험을 쌓는 것일 수도 있는데요. 미션을 해결하기 위한 사전 지식을 전달하지 않은 상태에서 미션을 진행합니다. 따라서 미션을 해결하기 위해 필요한 지식을 스스로 찾아 학습하고, 적용하고, 연습하면서 자기주도 학습을 연습하도록 교육 과정을 설계했습니다. 대부분의 미션은 혼자가 아닌 두 명이 같이 해결합니다. 소프트웨어 업계에서는 컴퓨터 한대로 두 명이 같이 문제를 해결하는 방법을 짝 프로그래밍이라고 하는데요. 짝 프로그래밍은 다른 사람과 소통을 연습할 수 있는 가장 작은 단위이고, 모르는 지식을 같이 학습할 수 있는 좋은 방법이라고 생각해요. 초반에는 다소 어색하고 힘들어하는 친구들도 있습니다. 하지만 시간이 지나면서 생각이 다른 사람과의 소통을 통해 사고의 폭이 넓어지는 것을 느끼는 친구들이 많아지는데요. 강의장이 점점 더 시끄러워지고, 더 많은 토론이 이루어지는 모습을 보면서 짝 프로그래밍이 효과가 있음을 피부로 느끼고 있습니다. 짝 프로그래밍을 통해 소프트 스킬을 연습하고 같이 학습하도록 교육 과정을 설계했습니다. 1:1 피드백과 상황에 맞는 적절한 피드백은 프로그래밍 역량을 빠르게 향상할 수 있는 좋은 방법이라고 생각합니다. 미션을 완료한 후 현장 경험을 가진 경력 개발자에게 리뷰 요청을 하면 피드백을 주는 방식으로 진행합니다. 경력 개발자가 직접 리뷰를 함으로써 현장에서 필요하고, 중요하게 생각하는 점을 강조해 피드백하다 보면 자연스럽게 현장형 인재로 성장할 수 있다고 생각합니다. 1:1 피드백과 상황에 맞는 적절한 피드백을 받음으로써 프로그래밍 학습의 즐거움을 느낄 수 있는 효과도 있습니다. 온라인 코드 리뷰를 통해 현장형 인재로 성장하도록 교육 과정을 설계했습니다. 짝 프로그래밍은 가장 낮은 수준의 소프트 스킬 경험을 할 수 있습니다. 짝 프로그래밍을 통해 최소한의 소프트 스킬을 쌓은 후 4~5명 규모로 팀 프로젝트를 진행합니다. 팀 프로젝트를 통해 다양한 생각을 조율하고, 팀의 원칙을 만들고 지키는 것의 중요함을 깨달을 수 있습니다. 더 해결하기 어려운 문제에 봉착하고 이 문제를 해결해 나가며 소프트 스킬을 쌓는 경험을 합니다. 팀 프로젝트를 통해 소프트 스킬 역량을 향상하도록 교육 과정을 설계했습니다. 소프트 스킬을 향상하기 위한 일환으로 글쓰기와 발표하기도 포함되어 있습니다. 1기 과정을 진행하면서 글쓰기와 발표하기의 중요성을 느끼고 추가했습니다. 글쓰기는 레벨별로 한 편의 글을 쓰고, 교육생 사이의 피드백을 통해 완성해 가는 방식입니다. 코드리뷰에서 힌트를 얻어 교육생끼리 리뷰하는 방식으로 진행합니다. 이런 글쓰기 과정을 통해 선정한 레벨별 우수작을 공유해 봅니다. - 레벨1 우수작: 우아한테크코스 : 항해의 시작(링크) - 레벨2 우수작: 우아한테크코스 : 나만의 항로 찾기(링크) 글쓰기 연습을 했으니 다음으로 필요한 것은 말하기 연습이겠죠? 말하기 중에서도 발표하는 경험을 과정이 끝날 때까지 최소 한 번 이상은 하도록 의무화하고 있어요. 우아한테크코스 교육은 고정되어 있지 않습니다. 시대의 흐름에 따라, 현장의 요구에 따라 지속해서 변화 발전해 나갈 것입니다. 변화를 거부하기보다 어떻게 하면 변화를 빠르게 수용할 수 있는 방법을 찾기 위해 노력하겠습니다. 우아한테크코스 커리큘럼 2020년에 진행하는 ‘우아한테크코스 - 웹 백엔드’는 다음과 같이 크게 4개의 단계로 구성되어 있어요. - 레벨1: 프로그래밍 언어를 집중적으로 학습하고, 웹 프로그래밍에 대한 기본적인 경험 - 레벨2: 웹 프로그래밍에 대한 추가 학습을 한 후 팀 프로젝트 경험 - 레벨3: 웹 서버 구현, 프레임워크 구현, 대용량 데이터 처리, 레거시 코드 리팩토링 등과 같이 난이도가 높은 미션을 통해 백엔드에 대한 깊이를 높혀가는 경험 - 레벨4: 팀 프로젝트를 통해 프로젝트 관리, 협업, 배포 자동화 등의 경험 레벨1, 레벨2, 레벨4는 8주의 기간 동안 진행하고, 심화 과정이라 할 수 있는 레벨3는 15주 정도의 기간 동안 진행할 계획입니다. 2기 과정과 1기 과정의 가장 큰 차이점은 레벨3의 레거시 코드 리팩토링 미션이 추가된 것입니다. 현장 소프트웨어의 대부분은 레거시 코드가 존재하며, 프로그래머가 가장 많은 시간을 투자하는 일이 레거시 코드를 개선하는 일이기 때문입니다. 레거시 코드 리팩토링 미션을 추가해 우아한테크코스 교육이 좀 더 현장과 가까이 다가갈 수 있도록 개선했습니다. 우아한테크코스와 함께하고 싶은 사람은? 우아한테크코스에 관심이 좀 생겼나요? 그렇다면 우아한테크코스는 어떤 사람들을 대상으로 교육을 하려고 하는지 이야기해볼게요. 우아한테크코스는 학력과 나이에 대한 제한이 없습니다. 아무런 제한을 두고 있지 않지만 교육과정이 꼭 필요하다고 생각하는 사람들을 우선적으로 선발합니다. 그래서 우아한테크코스의 교육과정이 아니라 다른 곳을 통해서 취업이나 이직이 가능하다고 생각하는 분들은 우선순위에서 밀릴 수 있습니다. 예를 들어 프론트엔드 개발자의 길을 걷고 있는 상태에서 백엔드로 전향하고 싶다면 반드시 우아한테크코스가 아닌 재직자 교육 과정을 통해 전향이 가능하다고 생각합니다. 또는 취업을 전제로 한 인턴 과정을 진행한 경험이 있다면 이 또한 우아한테크코스의 도움이 없어도 추가적인 도전을 통해 취업이 가능하다고 생각할 수 있습니다. 우아한테크코스는 교육 기간이 10개월입니다. 현장 경험을 가진 프로그래머로 키우는데 부족한 시간이기 때문에 프로그래밍에 대한 아무런 지식도 없는 상태에서는 지원하기 힘들고, 프로그래밍에 대한 기본 지식과 경험을 가진 사람들을 선발해 과정을 운영할 계획입니다. 프로그래밍에 대한 기본 지식과 경험에 대해 궁금한 점이 많을 텐데요. 다음과 같은 기준이라고 생각하면 될 것 같아요. - 300라인 정도의 프로그래밍 구현이 가능한 수준 - 함수, 변수, 데이터 타입, 조건문, 반복문을 활용해 프로그래밍 구현이 가능한 수준 - 구현한 소스 코드를 git과 같은 소스코드 관리 도구에 추가할 수 있는 수준 위 기준은 프로그래밍에 대한 최소한의 기준을 정리한 것이고요. 교육 과정을 소화하려면 프로그래밍에 대한 역량도 중요하지만 힘든 과정을 포기하지 않고 지속할 수 있는 동기, 성실성, 간절함도 중요하게 생각합니다. 시작하는 시점의 역량은 다른 친구들에 비해 부족했지만 힘든 미션을 만나도 포기하지 않고 도전하는 친구들이 빠르게 성장하는 모습을 많이 봤기 때문입니다. 또 하나 중요하게 생각하는 점은 프로그래밍을 학습하고 싶은 이유입니다. 프로그래밍을 배워 무슨 일을 하고 싶은지에 대한 동기도 교육 과정을 지속하는 데 중요하다고 생각합니다. 우아한테크코스 모집 절차는? 우아한테크코스 지원은 2019.10.25(금) ~ 11.5(화)에 우아한테크코스 홈페이지(링크)에서 지원할 수 있습니다. 우아한테크코스 모집 과정의 시작은 온라인 코딩 테스트입니다. 우아한테크코스에 지원한 누구나 참여할 수 있습니다. 온라인 코딩 테스트는 프로그래밍 언어에 대한 제약 사항은 없으며 자신이 가장 자신 있는 언어로 참여하면 됩니다. 자기소개서와 온라인 코딩 테스트 결과를 종합해 프리코스에 참여할 사람을 1차 선발합니다. 프리코스는 본 과정을 미리 경험해 보는 단계로 3주 동안 온라인으로 진행합니다. 본 과정과 같이 매주 미션을 하나씩 구현하고 제출하는 방식으로 진행합니다. 이 과정을 통해 지원자는 본 과정을 미리 경험해 보면서 교육의 참여 여부를 결정할 수 있고, 저희는 본 과정을 소화하는 데 어려움이 없는지 판단할 수 있는 기간이 될 수 있을 것 같아요. 목적의식 있는 연습을 통한 효과적인 학습(링크) 글을 통해 프리코스 진행 과정을 간접 경험해 볼 수 있습니다. 온라인 프리코스를 3주간 진행한 후 마지막으로 오프라인 코딩 테스트를 진행합니다. 오프라인 코딩 테스트는 한 공간에 모여서 3주간 진행한 미션과 비슷한 난이도의 문제를 일정 시간 동안 구현하는 방식으로 진행할 계획입니다. 3주간의 프리코스를 성실하게 잘 마무리 했다면 오프라인 코딩 테스트도 무리 없이 진행할 수 있을 것으로 예상합니다. 오프라인 코딩 테스트까지 마무리하면 자기소개서, 3주간의 프리코스 활동, 오프라인 코딩 테스트를 종합해 최종 합격자를 결정할 계획입니다. 최종 선발하기 전에 별도의 오프라인 면접은 없습니다. 프로그래밍을 통해 무엇인가를 만드는 즐거움을 느끼고 싶은가요? 다른 사람과 같이 학습하고 성장하는 경험을 하고 싶은가요? 현장의 프로젝트와 비슷한 개발 문화와 협업 경험을 하고 싶은가요? 프로그래밍 학습을 통해 지금까지 자신의 공부법에 변화를 주고 싶은가요? 우아한테크코스가 여러분이 하고 싶은 경험을 할 수 있는 좋은 기회의 장을 만들어 드릴 수 있습니다. FAQ 우아한테크코스와 관련해 궁금할 것 같은 질문에 대한 답변을 정리해 봤어요. 추가로 궁금한 점이 있다면 [email protected] 으로 이메일을 보내거나 카카오톡 채널로 문의해 주세요.   우아한테크코스 참여시 교육 비용은 어떻게 되나요? 우아한테크코스는 4주 기준 100만원 수준의 강의료를 책정하고 있습니다. 단, 강의료 전액을 우아한형제들이 지원합니다. 우아한테크코스 참여시 실습할 장비는 지급하나요? 우아한테크코스는 별도의 장비를 지급하지 않습니다. 개인 실습 장비는 각자 준비해야 합니다. 우아한테크코스 교육 시간과 장소는? 공식적인 교육 시간은 월요일 1시 ~ 6시, 화~금 10시 ~ 6시로 진행합니다. 장소는 오프라인 교육장(루터회관)이 마련되어 있습니다. 대부분의 교육을 온라인 피드백으로 진행하지만, 교육은 오프라인 공간에 모여 같이 학습하고 협업하는 방식으로 진행합니다. 공식적인 교육 시간 외에도 정해진 시간 내에 오프라인 교육장을 자유롭게 사용할 수 있습니다. 웹 백엔드에 사용하는 프로그래밍 언어는? 웹 백엔드의 경우 자바, 파이썬, 자바스크립트 등 다양한 언어로 구현이 가능한데요. 우아한테크코스는 자바를 웹 백엔드 주 언어로 사용합니다. 우아한테크코스 교육을 수료한 후 제약사항이 있나요? 교육을 끝까지 수료한 후 “우아한형제들에 입사해야 한다.”와 같은 강제사항은 없습니다. 자신이 지원하고 싶은 회사 어느 곳으로 취업 및 창업이 가능합니다. 수료의 기준이 어떻게 되나요? 우아한테크코스는 4개의 레벨로 구성되어 있는데요. 4개의 레벨을 모두 수료해야 최종 수료할 수 있습니다. 우아한 테크캠프와 다른 점이 무엇인가요? 우아한 테크캠프는 인턴 과정으로 현장에서 필요로하는 역량을 쌓기 위해 두 달 동안 진행하는 교육 과정이라면 우아한테크코스는 최소한의 프로그래밍 지식과 역량을 가진 상태에서 현장에서 업무가 가능한 상태의 개발자를 키우는 것이 목표라는 점이 다릅니다. 즉, 교육을 마치는 시점의 역량은 같지만, 교육을 시작하는 시점의 역량과 교육 기간이 다릅니다. 관련글: “배달의민족, 현장이 원하는 개발자 교육에 나선 이유: 박재성 우아한테크코스이사 인터뷰”(링크)
더 보기
등록된 복지정보가 없습니다.
이 기업의 직원이신가요?
복지를 등록/평가해 주세요.
복지 등록하기
건강검진 지원 (본인/배우자)
3.8

기업리뷰를 써야 하는 이유

  1. 1. 리뷰 하나로 열람권 획득 리뷰 하나만 써도 모든 기업 리뷰를 승인된 날로부터 1년간 볼 수 있습니다.
    잡플래닛은 당신이 가장 만족스러운 직장을 고를 수 있도록 도와줍니다. 몇분만 투자하세요!
  2. 2. 매일 수백개의 기업에 대한 새로운 리뷰 지금 이순간에도 수백명의 회원들이 기업리뷰를 남기고 있습니다. 그리고 당신의 친구, 직장 동료, 경쟁자들은 벌써 이런 정보를 보고 있을지도 모릅니다. 뒤쳐지지 마세요!
  3. 3. 운영팀도 모르는 익명성 리뷰를 검토하는 운영팀조차도 작성자가 누구인지 모릅니다. 모든 개인 정보는 암호화되며 어디에도 노출되지 않습니다. 심지어 작성자가 드러날 것만 같은 리뷰는 거절된답니다. 걱정마세요!

정보 등록 정책

  1. 기업리뷰의 신뢰성을 높이고 고의적 기업 평점 조작을 방지하기 위해, 작성된 모든 정보는 잡플래닛의 자체적인 검토 과정을 거쳐 등록됩니다.
  2. 등록이 거부되는 이유 1. 기업을 이해하는데 도움이 안 되거나 항목과 상관없는 내용 2. 부서, 직급 등 개인을 특정 지을 수 있는 정보나 폄훼, 비방성 표현 3. 욕설, 비속어, 은어 및 공격적인 언어 4. 기업 비밀에 해당하는 내용 5. 존재하지 않거나 명확하지 않은 기업명
  • "어디로 갈지 결정해야 할 마지막 순간에 잡플래닛의 기업리뷰가 큰 도움이 되었다. 덕분에 나에게 잘 맞는 회사를 선택할 수 있었다."
  • 당신의 리뷰로 더 나은 삶을 살게 될 미래의 직장인
  • "선배에게 물어봐도 말 안해주는 이야기들. 하지만 결정을 위해 알아야만 하는 것들. 잡플래닛이 유일한 솔루션이었다."
  • 당신이 1분을 투자하고 구해낸 미래의 직장인
  • "복지제도가 있다 없다 하는 것보다 중요한건, 정말 혜택을 볼 수 있는건가 하는 거 잖아요. 그런데 그런정보는 구하기가 어려웠으니까요."
  • 당신의 리뷰로 현실을 알게 된 미래의 후배
  • "일년만 더 빨리 오픈하지! 그랬으면 이곳에 취업해서 6개월이나 허비하지 않아도 되었을텐데.. 뭐 그래도 이제는 도움 좀 받겠어요."
  • 당신이 쓴 리뷰로 재취업의 방향을 결정하려는 미래의 취업준비생

수준이 다른 잡플래닛의 연봉정보

  1. 1. 직급/직종 별로 보는 정확한 연봉 후회하지 않으려면 직급에 따라, 그 속 에서도 직종에 따라 달라지는 연 봉정보를 알아야 합니다. 회사 평균 연봉 같은 숫자에 당하지 마세요.
  2. 2. 날마다 새로워지는, 가장 현실적인 연봉 잡플래닛에서는 하루 수백건의 연봉 정보가 추가됩니다. 눈 뜨면 달라지 는 상황 속에서 언제까지 구체적 이 지도 않은 작년 연봉정보를 기준으 로 인생을 결정할 순 없으니까요.
  3. 3. 친구도 안가르쳐 주는 정보 멀지 않은 미래에 연봉을 좀더 구체적으로 볼 수 있는 기능이 적용 됩니 다. 누군가는 기본급에, 누군가는 상 여금에 더 큰 비중을 두니까요. 친구에게도 물어보기 어려운 정보를 기다리며, 잠깐만 투자하세요.

정보 등록 정책

  1. 연봉정보의 신뢰성을 높이기 위해, 작성된 모든 정보는 잡플래닛의 자체적인 검토 과정을 거쳐 등록됩니다.
  2. 등록이 거부되는 이유 1. 존재하지 않거나 명확하지 않은 기업명 2. 기존에 입력된 연봉 정보와 비교했을 때, 지나치게 큰 차이가 나는 금액 3. 직급/직종을 고려했을때 상식을 벗어난 신뢰하기 어려운 금액

이것만 기억하세요.

  1. 1. 인턴에서 이직까지. 잡플래닛의 원스톱 정보 제공 서비스 노력하면 찾을 수 있는 공채 족보뿐 만 아니라, 선배한테 매달려야 알려주는 인턴 합격수기부터 그 어디에 도 없는 경력직들의 이직 면접 팁까 지. 당신의 모든 '지원'이 합격으로 끝나는 방법이 잡플래닛에 있습니다.
  2. 2. 잠깐! 기업 리뷰도 보고 싶으신가요? 면접후기를 제출하면 합격을 부르는 수만개의 꿀팁이 열립니다. 기업 리뷰도 보고 싶으시다면 기업 리뷰를 제출해주세요. 열려라 참깨! 의 비밀은 '기브 앤 테이크' 입니다.

정보 등록 정책

  1. 면접후기의 신뢰성을 높이고 고의적 기업 평점 조작을 방지하기 위해, 작성된 모든 정보는 잡플래닛의 자체적인 검토 과정을 거쳐 등록됩니다.
  2. 등록이 거부되는 이유 1. 존재하지 않거나 명확하지 않은 기업명 2. 기업 기밀에 해당하는 내용 3. 욕설, 비속어, 은어 및 공격적인 언어 4. 부서, 직급 등 개인을 특정 지을 수 있는 정보나 폄훼, 비방성 표현 5. 기업을 이해하는데 도움이 안되는 상관 없는 내용
  • "예상질문을 준비했지만, 실제 면접에서는 전혀 다른 질문으로 몇번의 고비를 마셨습니다. 하지만,잡플래닛에서 먼저 합격한 선배들의 노하우를 보고 면접을 봤더니 바로 합격통보!소원성취!"
  • 당신이 알려준 면접 노하우를 보고 취업 성공한 미래의 후배
  • "외국계 기업의 영어 면접을 포기하고 있었습니다. 하지만 실제 면접 후기를 들어보니 영어에 까다롭지 않다고 하더군요. 그래서 자신있게 지원을 했고, 현재 이곳에서 일하고 있습니다."
  • 실제 면접과정을 알고 도전해, 이직을 성공한 직장

정보 등록 정책

  1. 면접후기의 신뢰성을 높이고 고의적 기업 평점 조작을 방지하기 위해, 작성된 모든 정보는 잡플래닛의 자체적인 검토 과정을 거쳐 등록됩니다.
  2. 등록이 거부되는 이유 1. 존재하지 않거나 명확하지 않은 기업명 2. 기업 기밀에 해당하는 내용 3. 욕설, 비속어, 은어 및 공격적인 언어 4. 부서, 직급 등 개인을 특정 지을 수 있는 정보나 폄훼, 비방성 표현 5. 기업을 이해하는데 도움이 안되는 상관 없는 내용

기업리뷰가 제출되었으며, 리뷰심사가 통과 시
노출됩니다.
지금부터 모든 기업리뷰를 제한 없이 볼 수 있습니다.
단, 리뷰심사에서 승인 거절 시 다시 제한이 됩니다.

신고하기

close