* 이 글은 Wanted Con. 개발자가 일 더 잘하는법 영상을 보고 내용을 정리한 글입니다. 보다 자세한 내용은 원티드콘 영상을 참조하세요.
Part1. 개발 문화에 대한 오해 바로잡기
개발 문화의 상위 개념은 결국 좋은 기업 문화 입니다. 아래와 같이 비교해서 생각해 볼 수 있습니다.
- 업을 수행하기 위해 조직의 일하는 방법
= 업을 수행하기 위해 개발조직의 일하는 방법 - 우리는 기업의 업을 실현하기 위해 함께 모여있습니다. 그렇기 때문에 일을 잘하기 위해 문화를 만들고자 하고 있습니다.
= 큰 차이가 아니기 때문에, 대다수의 좋은 개발문화를 위한 방법은 좋은 기업문화를 위한 방법이기도 합니다.
좋은 개발 문화에 대한 오해
- 여유있는 회사나 할 수 있습니다.
시간을 별도로 내어 좋은 개발 문화를 만드는 것이 아닙니다.
개발 일정을 여유롭게 하여 개발 문화를 만드는 것이 아닙니다.
좋은 문화를 "여유"를 투자해서 만드는 것은 추천하지 않습니다.
좋은 개발 문화는 바쁜 일정 안에서도 조직원들이 집중하며 더 훌륭한 산출물을 만들어 갈 수 있도록 돕습니다.
- 훌륭한 개발자가 많아야 할 수 있습니다.
훌륭한 개발자가 많을 수록 좋은 개발 문화를 만들어가기 좋은것은 사실이지만, 소수의 훌륭한 개발자에 의존하는 개발 문화는 좋은 개발 문화가 아닙니다.
다만 조직 내 좋은 개발 문화를 만들어가고자 하는의지는 필요합니다.
개발 경험이 부족해도 충분히 가능합니다.
- 돈이 많이 필요합니다.
좋은 개발 문화를 구축하는데 돈을 투자한 기억이 별로 없습니다.
좋은 문화에 기여하는 지출이 분명 존재하긴 하지만 모두 분명한 사업적 이유가 주목적으로 있었습니다. (예를들어, 생산성 향상을 위한 도구/서비스 도입, 원티드를 통한 빠르고 효과적인 인재 매칭)
때로는 돈을 쓰는 것이 좋은 개발 문화를 형성하는데 방해가 되기도 합니다.
- 복지 제도입니다.
좋은 개발 문화는 복지와 같이 여겨질 수 있지만, 그 이상입니다.
복지가 목표인 모든 제도들은 언젠가 회사의 비용 절감의 대상이 될 것입니다.
이는 문화를 꾸준히 키워가기 어렵게 합니다.
좋은 개발 문화는 기업의 생산성 향상과 목표 달성을 주 목적으로 여깁니다.
- 경영 의사 결정입니다.
경영 의사 결정으로서 좋은 개발 문화 형성을 지지받는다면 물론 큰 도움이 됩니다.
하지만 대다수의 개발자 출신이 아닌 경영자는 좋은 개발 문화에 관심이 없고, 앞선 오해 때문에 반감을 가지기도 합니다.
그럼에도 불구하고, 적어도 조직 내 2명 이상이 의지가 있다면 작게라도 해볼 수 있는 것이 많습니다.
위 내용을 바탕으로 좋은 개발 문화에 대한 이해를 해보면 아래와 같이 바꿔서 이야기 할 수 있습니다.
- 바쁜 회사에서 더 강력합니다.
- 기존 구성원의 역량하고 상관이 없습니다.
- 돈이 많이 필요하지 않습니다.
- 생산성 향상을 목표로 합니다.
- 누구나 만들어 갈 수 있습니다.
Part2. 좋은 개발 문화 시작하기
좋은 개발 문화를 시작하기 위한 과정은 아래와 같습니다.
- 좋은 개발 문화를 희망한다고 고백하기
- 주기적으로 문화에 대해 이야기하는 자리 만들기
- 가장 쉬운 것부터 하나씩 적용해가기
위에서 설명한 과정을 보통 “회고” 라고 합니다. 이를 풀어서 설명한 이유는, 처음부터 상당히 전문화되고 발달된 회고 프로세스를 찾아보고 적용하는 것 보다, 아주 본질적이고 가벼운 회고를 시작하고 이를 반복할 수 있도록 장려하기 위함입니다.
혹시 무엇을 개선하면 좋을 지 방향을 못잡고 있다면, 아래 아젠다들을 한번 꺼내보세요. (우선 순위 순서대로)
- 전사 목표에 대한 이해 및 개발 조직의 목표 정렬하기
OKR, MBO, KPI 등의 도입 검토 (본질적으로 큰 차이는 없습니다.) - 동일 기간, 동일 팀으로 더욱 고품질의 제품을 만들 수 있는 방법
코드 리뷰, 테스트 자동화, 스프린트제도의 도입 검토 - 팀의 평균 수준을 올릴 수 있는 신규 팀원을 영입하는 방법 (= 채용)
Part3 에서 추가로 다룹니다.
Part3. 좋은 개발 문화 알리기
좋은 개발 문화를 알릴 때, 핵심은 세부 지침을 잘 생각하는 것이 중요합니다.
조직원들 스스로 그렇다고 느끼기
가장 좋은 개발 문화 알리기는 입소문이며, 입소문의 출처는 모두 현재 일하는 조직원으로부터 나옵니다. 조직원들 스스로가 지인에게 추천하고 싶을 정도의 문화로 인식 되어야 합니다.
Part2 에서 설명한 “회고" 활동을 반복하여 이 인식을 공고히 할 수 있습니다. 작은 조직의 경우 정성적으로 판단하기 쉽지만, 이를 파악하기 어렵다면 주기적으로 조직원들에게 NPS 설문을 요청하여 쉽게 파악할 수 있습니다. 문화를 위한 반복과정 중 조직원들의 NPS가 7점 미만이 나오도록 하는 요인을 제거하는 데 집중해 보세요.
기술 블로그 연재하기
기술블로그만큼 좋은 개발 문화를 알리기 좋은 방법은 없습니다. 하지만 대부분의 조직은 1) 기술블로그를 연재할 만한 여력을 만드는데 큰 부담을 느끼며, 2) 기술블로그의 효과를 보기까지 인내하는데 어려움을 느낍니다.
어떻게 하면, 돈도 없고, 규모도 작고, 시간도 없는 조직이 기술 블로그를 정기적으로 꾸준히 연재할 수 있을까요?
- 소규모 팀에서 기술블로그에 써야 할 내용
기술 블로그를 회사 브랜딩을 위해 쓰고자 할 때 가장 많이 하는 실수는 기술 블로그의 목적에 맞는 별도의 내용을 준비하는 것입니다.
기술 블로그는 아주 긴 시간이 필요한 투자입니다. 기술 블로그만을 위한 내용을 쓸 수 있다면 좋지만, 그렇게 되면 막대한 투자가 필요하게 됩니다.
저는 반대로, 기술 블로그에 별도 투자하지 않는 것을 추천합니다.
대신, 회사 업무상 필요한 내용을 정리한 것을 무상으로 공개하는 방식을 추천합니다.
예를들어, xxx 기능을 제공하는 라이브러리 정리 및 추천이라던가, MySQL의 yyy 기능 장애 발생 이유 및 개선방법 등입니다.
이러한 내용은 어차피 회사 업무를 위해 정리가 필요합니다.
그렇지만, 회사 사업상 유출되어도 크게 곤란한 내용도 아닙니다.
이러한 글들이 회사의 기술팀에 대해 많은 것들을 설명합니다.
(일하는 방법, 사용하는 기술, 어떤 사람들이 일하고 있는지 등)
- 기술 블로그 작성자에게 동기부여 하는 법
일단 앞서 이야기한대로 업무 내용을 공개하는 형태라면 동기 부여도 큰 어려움이 없을 것입니다.
간혹 (원)고료를 요구하거나 요구받는 경우가 종종 있는데 저는 추천하지 않습니다.
(= 받을 생각도, 줄 생각도 없습니다.)
때로는 외적 동기가 내적 동기를 갉아먹기도 합니다.
기술 블로그 작성은 장기적으로 회사의 문화 브랜딩에도 좋은 영향을 끼치지만, 작성자 개인의 역량 브랜딩에서도 마찬가지로 좋은 영향을 끼칩니다.
업무 시간을 활용하여 개인 커리어에 도움이 되는 브랜딩을 할 수 있으니 개인 블로그를 운영하는 것 이상의 이점이 있습니다.
- 기술 블로그에 투자해야 하는 시간
보통 기술블로그가 어느정도 알려지려면 경험적으로 2년 정도의 시간은 꾸준히 투자해야 했습니다. 한달에 1개 정도는 꾸준히 올라오는게 좋지만, 실무 차원에서 올릴 내용이 없다면 건너뛰어도 괜찮습니다. (= 기술 블로그 연재가 팀에 너무 큰 스트레스로 여겨지지 않도록 합시다.)정보가 쌓이다 보면 몇 개의 히트글이 장기적으로 구글 상위 페이지 검색으로 잡히며 노출이 급격히 증가합니다.
Spoqa 기술블로그의 경우, 지원자 유입 경로중 기술블로그가 가장 많습니다.
오픈소스 프로젝트 공개하기
위의 기술블로그보다 역량이 더 요구되지만, 더 강력합니다. 앞서 설명한 것 처럼 회사의 업무상 필요해서 개발한 것 중, 경쟁우위에 피해가 없을만한 도구들을 오픈소스로 공개합니다.
원래 버전보다 README 나 다른 문서화에 조금 더 공을 들이게 되지만, 이는 내부에도 어차피 도움이 되는 투자입니다. 오픈소스 프로젝트는 기술블로그보다 1) 개발팀의 코드 수준, 2) 개발팀이 해결하고 있는 문제 영역, 3) 기술을 공개할 수 있는 기업 문화 등 어필할 수 있는 영역이 더 많아집니다.
오픈 소스 프로젝트의 도움을 받는 사람은 그 회사의 팬이 되며, 외부인으로부터 기여를 받기도 합니다. (=이는 엄청난 영입 기회로 이어집니다!!) 또, 기술 컨퍼런스에서 발표 기회를 얻기도 하며, 이 또한 개발 문화를 알리는데 있어 기술 컨퍼런스에 참석하는 기술 열정가들은 잠재적으로 매력적인 인재가 무척 많은 곳일 확률이 높습니다.
요약
- 좋은 개발문화는 누구나 어디서든 직급에 상관없이 추구할 수 있고,
이는 기업 목표 달성을 위한 생산성 향상에 기여합니다. - 회고를 통해 좋은 개발문화에 대한 고민을 시작하고,
팀이 좋아하는 개발 문화를 쉬운 것부터 만들어가세요. - 회사가 하고 있는 일들을 꾸준히 공개하세요. 별도의 투자 없이도 2년 이상 지속된다면, 회사를 알리는 데 큰 역할을 합니다.