성장하는 기술 조직을 위한 사내 문화
우아한형제들(배달의민족) 에서 제공하는 기술 조직에서는 어떻게 일하고 어떻게 성장할까. 부장님으로부터 추천을 받은 세미나를 보며, 사내에도 함께 공유하고 문화적으로 만들어가면 좋을 것 같아 정리하게 되었다.
스터디
같은 목표로 함께 하는 스터디
- 인사이트 /동기부여를 통한 성장하기 위함
- TIL (Today i learn)
- TIL을 운영: 매일 내가 어떤 것을 하고 어떤 것을 경험했는지 작성하는 채널을 운영
예시: TIL Today I learned(출처:adore_voy)
예시: 나는 오늘 무엇을 배웠나?(출처:달랩)
스터디 주제 선정
- 프로그래밍 서적을 1권 완독 독파를 하며 실습과 토론을 하며 운영
우아한테크 세미나 프로그램 기획하게 된 것은
- 실제로 많은 개발자분들이 스터디를 하고 싶어 한다. 원하는 주제의 부재 / 팀에서 같이 하지 못해서 하지 못하는 경우가 많다. 이런 원하는 스터디를 찾는 것, 나를 스터디 할 사람을 구하는 연결고리의 역할을 하기 위해서 시작
- 자연스럽게 성장할 수 있는 스터디, 인원들의 교류의 장을 만들기 위함
웹 프론트엔드 글쓰기 운영
- 자유로운 주제 / 기술 블로그 포스팅을 목표로 2편의 글을 쓰는 것
- 작은 글쓰기 워크샵
- 서로의 글을 피드백하는 그룹 토의 진행
- 전사 개발자를 위한 글쓰기 교육 진행
테크레인져스 운영
- 기술 조직의 발전을 위해 고민하여 4가지 테마를 가지고 활동을 하는 개발자 그룹
- 외부 발표
- 블로그 글쓰기
- 사내 커뮤니케이션
- 멘토링 & 개발교육
개발자가 공부하고 성장하는 노하우
개발 방법론과 타 직군에 대한 이해 높이기
Q1. 나 혼자 성장하는 것과 같이 성장하는 것 중에 어떤 것이 본인이 성장하는 것에 더 도움이 될까?
- 함께 성장하는 것이 좋다. 성장은 업적이 아니다. 지식의 공유로 인한, 공유함으로 인한 내 안의 단단함을 가져가는 것.
- 서로 간의 스터디, 코드 리뷰에서 나누려고 하는 순간에 얻어 가는 것이 많다.
Q2. 내가 계속 성장하고 공부해야 하는 이유
- 남들이 내게 바라지 않는 것을 알아가는 것
- 계속해서 나의 커리어를 발전시키고 도태되지 않기 위하여
- 3년 주기로 이직을 하며 나의 상승을 일으켜야 한다. 잡은 물고기에는 밥을 주지 않기 때문.
- 이는, 기술이 굉장히 빠르게 변하고 있기 때문에, 시장에서 '나를 찾는가?'를 알아야 한다. 시장의 흐름에 따라서 나의 가치를 증명과 챌린지 하여야 한다는 것이며, 시장에서 수요/ 요구를 가지는 스택을 내가 가지고 있는가에 대해서 판단하고 성장할 수 있어야 하기 때문이다.
Session
- Rust 언어에 대한 학습과 프로젝트 진행
- 개발자의 글쓰기에 관하여
- 공부하고 성장하는 노하우
- 매력적인 개발자가 되는 것은 어떤 것일까?
- 질의응답
- 나쁜 개발자에 대하여
- 블로그 외의 공부 방법
- 성장하는 조직의 좋은 팀장이란?
- 개발 공부를 할 시 재미를 느끼며 공부하는 것
- 배민 개발자에게 기획자란?
Rust 언어에 대한 학습과 프로젝트 진행
- 다양한 언어 사용에서도 이해하려는 노력
- 이해도의 다양성으로 인원 배분
- 한 언어에 대한 경험만 있는 사람
- 여러 프로그래밍 언어에 대해 능통한 사람
- 시간 투자를 하고 공부 후에 토론을 진행
--> 이해도가 있는 사람이 이끌어가는 방향
--> 궁금증이 있는 초보자가 질문을 여러 방향으로 진행
개발자의 글쓰기에 관하여
- 글쓰기
- 한 달 반을 주기로 글을 쓰는 모임을 진행
- 일주일(7일) 단위로 글을 써오고 일주일 안에 글을 작성하지 않으면, 내부의 리뷰를 받지 않도록 함
- 데드라인을 목표로 글을 써야지, 집중이 된다.
- 개발자에게 중요해진 글쓰기 역량, 어떻게 다지게 되고 좋나?
- 내 생각을 정리할 수 있는 시간을 가질 수 있다. 논리적으로 남을 이해시킬 수 있는 글을 가지게 된다.
- 비 개발자가 보았을 시, 이해가 되고 재밌게 볼 수 있는지가 중요하다. 아무것도 모르는 사람이 하나라도 이해하는 부분이 있어야지 나랑 같이 일하는 사람도 이해시킬 수가 있다.
- 글을 시작할 시, 장황하고 길게 쓰지 않고, 나의 문체로 한 장 두 장으로 짧게 정리할 수 있어야 한다.
제텔 카스텐
- 매일 매일 메모를 모아서 1000개를 모으면, 많은 글쓰기가 가능하다.
- 나의 말로 정리하는 것. 글을 잘 쓰게 되면 히스토리 관리에도 도움이 된다. 미래의 내가 이해할 수 있도록 글을 쓰자.
참조: 글쓰기를 위한'두번째 뇌 만들기' (feat. 제텔카스텐)
참조: 제텔카스텐이란?
개발자에게 글쓰기란 무엇인가?
- 호구지책
- 나의 성장을 위해서, 나의 발전을 위해서 나를 편하게 만들어주는 도구
- 글을 잘 쓸 때와 못 쓸 때의 차이점은 확실하다. 나의 생각을 비대면으로 전달할 수 있다는 것.
- 아는 상태에서 해결하는 것과 모르는 상태에서 해결하는 것과 동일하게, 글로 정리되지 않는 것은, 내가 아는 것이 아니다.
- 글쓰기는 생활화되어야 한다.
- 공부를 했는데, 기억을 하지 못했을 때는 보고 느끼고 끝났기 때문이다. 글쓰기는 나의 기억을 길게 유지할 수 있는 장치이다.
- 개발뿐만이 아니라, 다른 팀과 커뮤니케이션을 할 수 있도록 비용을 줄일 수 있는 도구라고 생각한다.
- 오프라인에서 대화로도 모두 해결할 수 있겠지만, 언제나 대화/대면으로 해결할 수 없기에, 나의 생각을 문서화&의견의 결론화를 통해서 내보낼 수 있는 소통의 수단이라고 생각한다.
공부하고 성장하는 노하우
기타 사항, 매력적인 개발자가 되는 것
- 근거를 잘 대자
- 상황에 맞고, 객관적이고 타당한 근거를 잘 대자
- 정보 전달용 글
- 객관적인 정보를 담은 정보 전달을 위한 글들은 두괄식으로 글을 쓴다.
- 개발자라면 가지고 있어야 하는 것
- 문제를 정의하고 가설을 세우고, 피드백 받는 것을 할 줄 알아야 한다.
- 하나의 문제를 다양한 관점으로 볼 수 있는 것.
- 프로그래밍에는 여러 가지의 해결 방법이 있다. 인적~ 툴적~ 기술적~ 다양한 해결 방법이 있으나, 거기서 슬기롭게 어떤 방법을 선택하고 근거를 댈 수 있는 사람. 개발의 스콥에서 확인할 시는 다방면을 생각할 수 있는 것.
- 문제 해결
- 문제가 원인이 어떤 것인지, 명확히 아는 것에 집중한다.
- 상위 직급(팀장)에게 문의할 시 겁을 내지 않는다.
- 팀장은 나를 잡아먹지 않는다. 문의를 한다고 혼을 내지 않는다.
- 원활한 소통을 위한 말하기 스킬
- 내가 말하는 것이 맞는 내용일까? 하는 두려움을 없애기 위해서 '이 사람이 나에게 무엇을 원하고 있는거지?'라며 생각을 하고 고민하였다.
- 사전에 이야기를 하기 전에 글쓰기로 나의 생각을 정리하고, 직접 입으로 말하며 훈련을 하였다.
- 지식을 알지 못하는 사람에게 설명을 한다.
- 내가 직접 설명을 할 수 있는 내용을 정리. 쉽게 설명하려고 노력한다.
질의 응답
나쁜 개발자 & 좋은 개발자
- 혼자 고민하고, 아무것도 보고하지 않는 개발자
- 어떤 과제를 수행하였을 시, 어떻게 만들었나 보다 -> 어떻게 수행하고 있다, 나의 가설과 증명은 이것이다라면서 확인할 수 있도록 해주는 것이 좋다.
- 냉소적인 사람
- 사람을 무시하고, 냉소적이게 대하는 사람. 사람을 찍어누르는 사람으로 인해서 프로젝트가 망하며, 다른 사람들이 눈치 보게 만든다.
- 아담 그랜트: 기술적인 것은 학습으로 성장이 가능하나, 그가 가지고 있는 도덕성과 인격은 학습이 되지 않는다.
개발을 하다 보면 물경력이 되고 있지 않나? 하는 고민이 들고 있을 시 블로그 외의 공부를 하고 있는 방법은 어떤 것이 있나?
- 토이 프로젝트를 진행해 본다.
- 나의 사외 프로젝트를 구성해 보기도 하고, 인원 부족은 발생하지 않는다. 오픈 카톡~ 인터넷상에는 정말 많은 개발자 등이 있다.
- 프로젝트 하나의 3~4년의 운영을 진행 시, 다수의 QA를 경험하며 불편함을 지워가야 한다. 지구력을 가지고 기술적인 문제가 생겼을 시를 대비하여 기본기를 많이 준비하여야 한다.
성장하는 조직은 팀장의 비중도 많이 차지한다. 어떤 역할을 잘 지원해 주는 팀장이 좋은 팀장일까?
- 개발자에게 좋은 리드란, 주니어가 어려운 경험을 해결해 주는 것이 아닌, 그 어려움을 해결하기 위한 학습하기 위한 팀과 문화를 만드는 것.
- 어떤 사람이 어떤 부분에 취약하다 -> 챌린지를 계속 시키면서 성장시킬 수 있는 리드. -> 성장하지 못하였다고 비난하지 않는 것.
- 칭찬은 공개적으로 하나, 비판은 개인적으로 할 수 있는 사람.
- 안정감을 느낄 수 있는 팀 - 새로운 것을 개발하였을 시 지지받을 수 있는 분위기의 조성
개발 공부를 할 시 재미를 느껴 공부를 하는 노하우가 있을까?
- 필요에 의한 공부보단 하고 싶은 것을 한다.
- 내가 좋아하는 것(흥미)을 직접 만들어 가는 것.
- 내가 좋아하는 야구팀/축구팀의 성적을 직접 받아볼 수 있는 자동화 로직의 구축 등
배민 개발자에게 기획자란?
- 개발에 관여하는 모든 사람이 개발자이다. 나와 함께 Product를 만들어간다. 서로의 빈틈을 메워주며 같이 만들어가는 동료이다.
출처: [토크쇼] 우아한 형제들 개발자가 푸는 공부하고 성장하는 노하우