티스토리 뷰

페이스북이 투자를 받고 일정 수준의 사용자가 확보되고 성장 가도를 달렸지만, 개발자를 확충해가는데 한계가 있었다. 때문에 글로벌화 된 모든 국가의 언어를 대응하기 힘들었는데, 이를 위해 일종의 번역 프로젝트를 진행하게 된다. 





페이스북만의 독특한 문제 해결법

i18n(internationalization:서비스 국제화) 프로젝트로, 페이스북도 글로벌 서비스로 진화하면서, 언어의 국제화 문제가 있었다. 전문 번역사들을 이용해도 한계가 있었고, 언어적 차이등을 세밀하게 파악하기 힘들었기에 페이스북 나름대로 이 문제를 해결하려고 했다. 


그들이 택한 방법은 언어별 스페셜리스트를 고용하는 대신, i18n에 관심 있는 개발자 2명을 투입해서 번역 플랫폼을 만들었다. 협업 체계를 바탕으로, 자원봉사자들이 페이스북의 언어 번역 플랫폼에 접촉해 바스크어와 라틴어를 포함해 70개 언어로 번역을 유도한 것이다. 


페이스북의 프랑스어 번역은 단 하루 만에 완성됬을 정도다. 전문 번역사에 의존 할 때보다 더 적은 비용과 시간을 들여 세계인이 참여하는 이 방식을 만들어 낸 것이다. 


번역 플랫폼은 문장 옆에 언어별로 사용자들의 입력을 받을 수 있는 기능과 Voting에 의해 번역 퀄리티를 정할 수 있는 번역 플랫폼이 구현되어 사용자가 참여해 퀄리티를 측정 해 번역 할 수 있게 한 것이다. 


바로 이런 방식이 페이스북 방식의 문제 해결 법이고, 그들이 말하는 해커 문화다. 



문화가 되버린 독특한 해커정신과 초기 구인문화

이는 단순하게 서비스 개발에만 국한되지 않는다. 일반적인 회사라면 개발자 구인을 위해서 헤드헌팅 업체나 공개 구인을 통해서 인력을 선출한다. 


하지만, 초창기의 페이스북은 엔지니어 구인을 위해서 새로운 접근을 시도했다. 필요한 엔지니어와 요구되는 기술 수준을 확인하고 인근 스탠포드에서 강이록을 분석한뒤 해당 강의록의 필수 독서 목록을 파악했다. 


필수 도서들을 스탠포드 도서관에서 찾아, 책 사이에 페이스북 소개와 구인 메모를 꼽아놓는 다소 구시대적인 방식으로 구인을 시도했다. 효율성을 떨어질지 모르지만, 스타트업 다운 참신한 발상이 아닐 수 없었다. 


자율성을 따지는 기업 문화이지만, 책임에 대해서는 엄격한 잣대를 대하고 있는데, 이는 구글의개발 문화와 많이 닮아 있는게 특징이다. 


우선 개발에 있어서 기획자 (Product Manager)의 권한은 매우 제한적이다. 개발의 가이드라인이나 목표를 제시하기 보다는 개발자 설득을 통해 자기 프로젝트에 관심을 기울이도록 설득하는 면이 많을 정도라고 알려져 있다.


엔지니어로 입사하면 보통 4주~6주 정도의 부트 캠프를 거치는데, 페이스북 시스템의 버그를 직접 수정하면서 일도 배우고 사내 분위기도 경험한다. 때에 따라서는 시니어 엔지니어들에게 강의를 득기도 하면서 실제 페이스북에 입사 할 수 있는 엔지니어지 판단하고 이중 10% 정도의 엔지니어가 권고 사직 대상으로 퇴사하고 있다. 



모든 개발자에게 검증받는 독특한 개발 시스템

모든 엔지니어는 한국처럼 백엔지, 코어, 프론트 엔드와 같이 일정 분야로 개발을 나누어하지 않으며 자기가 맡은 파트에 대해서는 전체 일괄적으로 작업하고, 모든 변경된 코드는 의무적으로 내부 리뷰를 거친다. 


주커버그가 뉴스피드와 관련한 코드를 직접 리뷰 할정도로 경영자부터 일반 엔지니어까지 코드 리뷰를 일상화하고 있다. 


또, 별도의 전문 QA를 두지 않고 모든 개발자가 테스터이자, QA로 활동해 모든 서비스가 개발자 중심으로 움직이고 개선되어지도록 요구하고 있다. 


페이스북의 조직 특징중 이색적인 부분은 엔지니어가 마치 1인 개발 회사처럼 움직인다는 점이다.자기가 할 일도 직접 선택 할 뿐만 아니라, 개발, 테스트, 버그 수정과 릴리즈까지 모두 혼자서 담당해야 한다. 


정식 배포에는 OPS 팀이 개입해 엄격하게 체크를 하지만, QA가 없다는 점은 한국과 많이 대비되는 점이라고 할 수 있다. 


이것도 해커 문화의 특징으로 볼 수 있을지 모르겠는데, QA가 없는 것은 엔지니어가 QA에 코드만 던져주고 책임과 의무를 다했다고 여기는 무책임함을 없애기 위함이라고 한다. 


실제 코드의 버그를 줄이는 가장 최고의 효율적인 방법은 코딩 할 때 집중도 있게 작업하고, 실제 자신이 설계한 프로세스대로 다양한 시나리오를 바탕으로 테스팅 하는게 가장 효과적일 수 있다는 점에서 옳은 선택으로 보이기도 하지만, 개발자에게 자율과 책임이 과도하게 주어진다는 부담도 있는 건 확실하다. 


이런 조직문화의 특성을 가지고 있기 때문에 i18n(internationalization:서비스 국제화) 프로젝트가 쉽게 진행 될 수 있는 것이다. 



페이스북 기업문화의 핵심 해커톤

개발자들이 이런 자율적인 프로젝트 참여를 독려하기 때문에 자신만의 좋은 아이디어를 서비스에 반영하기도 하면서, 경쟁 기업들보다 앞서나가고 있다. 전체적인 방향은 경영자가 설정하지만, 기본적으로 세부적인 개발은 개발자들이 직접 진행하고 구현되어지고 있다. 


해커톤은 이런 개발 주의적 기업 문화를 유지하기 위해 채용 된 문화의 일종으로 90년대말 이후 개발자 커뮤니티의 행사 포맷을 기업의 구조에 맞게 차용한 모델이라고 볼 수 있다. 


Interpreting Compiler 블로그를 운영하는 김상훈님이 올린 페이스북 해커톤 “인사이드 페이스북”글을 보면 페이스북 기업문화의 요체가 어떤 것인지 확인 할 수 있다. 


개발자들은 해커톤이 열리는 순간 해보고 싶었던 도전 과제, 즉석에서 떠오른 아이디어 등을 열심히 구체화 시킨다. 이렇게 만들어지는 창의적인 아이디어들은 페이스북의 새로운 기능이 된다. 


페이스북의 해커톤은 개발자만을 대상으로 하지 않는다. 인사, 마케팅, 재무. 회사 내 모든 부서도 해커톤을 함께 한다. 사내 복지정책이라거나 새로운 홍보 방법 고민 등 개발자가 아닌 지원부서 직원들도 새로운 아이디어를 내고 결과물을 만들어내기 위해 이 기간을 활용한다.


페이스북의 "좋아요(Like)" 버튼도 사내 해커톤에서 나온 결과물이었을 만큼 해커주의 문화를 잃지 않으면서 일상에서 새로운 자극제를 제공하고 이것이 다시 회사를 위해 사용되어지게 만드는 문화로 승화되고 있다. 


구글의 80:20 프로젝트 문화의 유사하지만, 좀 더 자율성과 무한 책임이 따른다는 점에서는 막상막하의 장단점을 가지고 있다. 


이렇기 때문에 실력 없는 개발자는 당연히 살아 남을 수 없고, 보통 개발자도 자연적으로 도퇴된다. 남에게 묻어가려는 생각을 가진 직원이나 개발자는 살아남을 수 없는 구조란 이야기다. 스스로 개발을 좋아해야 할 뿐만 아니라 엄청난 노력이 수반되어야 하는 문화적 특징이 바로 페이스북 방식의 해커 문화의 핵심이다. 

댓글