[BOOK] 나는 LINE 개발자입니다 – 라인의 개발 고수 12인 지음
![[BOOK] 나는 LINE 개발자입니다](https://yujaewook.files.wordpress.com/2021/01/2019-09-21-18.02.10.jpg?w=300&h=300)
부제: “라인의 개발 고수 12인의 도전과 기회, 성장의 개발 라이프”
라인의 개발 고수 12인 : 강윤신,김영환,김재석,김정엽,김택주,노승헌,박민우,배권한,이서연,이승진,이홍규,하태호
오픈소스의 힘 없이는 이 제품이 짧은 시간 안에 개발될 수 없었습니다. 따라서 이 제품도 당연히 오픈소스로 공개할 수도 있다고 생각하고 개발을 진행해왔고요. 제품 코드가 공개되어서 보안 취약점이 노출될 수 있는 부분에 대해서는 보안팀에서 책임지고 확인해줄 겁니다. 너무 걱정하지 마세요.
책에서 보여주는 라인의 모습은 개발자들이 원하는 ‘개발 회사’의 일반적인 모습이 아닐까? 다만 라인은 함께하는 사람, 프로세스, 인프라, 문화를 모두 갖추고 있기 때문에 이상적으로 보인다. 특히 “라인 개발 인력의 평균적인 능력은 어느 곳과 비교해도 최고라고 자부할 수 있을 만큼 훌륭했다.”는 부분에서 역시 사람이 제일 중요함을 느낀다. 스스로 자신이 해야할 것을 찾고, 최선을 다하는 사람들이 모여있다면 회사는 자연히 이상적인 모습이 되어 있을 것 같다.
아래는 책에 소개된 파이콘 APAC 2017 제시카 매켈러(Jessica McKellar) ‘프로그래머의 마인드’ 키노트의 요약이다.
프로그래밍은 우리가 생각하는 방법을 바꿔서 세상과 소통하고 디버깅할 수 있게 한다. 프로그래머는 시스템을 마스터하게 되고 시스템을 바꾼다. 프로그래밍에는 법칙이 존재하지만, 프로그래머에게는 그 법칙을 바꿀 힘이 있다. 사회도 마찬가지로 하나의 법칙이고 시스템이므로 불만스로운 부분이 있다면, 누군가 먼저 행동함으로써 고치고 디버깅할 수 있다고 본다. 행동한다면 가능하다고 생각한다.
- 사람들은 저마다 재능이 있다. 그리고 그 재능은 생각지 못한 곳에서 나오기도 한다.
- 라인에서는 굉장히 높은 자유도를 바탕으로 가끔은 이렇게까지 해도 괜찮은가 싶을 정도의 자율성을 보장해주고 있다.
- 자유롭게 해보고 싶은 것들을 시도할 기회가 있지만 그런 시도들이 유의미한 결과로 이어질 수 있도록 주인 의식과 책임감을 갖추려는 분위기가 형성되어 있다.
- 해결책이 안 보이는 문제도 동료들과 이야기하다 보면 해결할 실마리를 찾게 되는 경우도 한두 번이 아니었다.
- 새로운 환경에 적응해나가고 기술을 익혀 적용하는 재미에 푹 빠져 열정적으로 일했다.
- 라인에 입사했을 때 가장 인상 깊었던 부분은 조직 내 시니어 개발자들의 비율이 높고 각자의 전문성 또한 매우 뛰어나다는 것이었다.
- 개발자를 위한 학습과 성장을 위한 환경이 매우 체계적으로 잘 갖춰져 있는 셈이었다.
- 글로벌 경쟁력과 외국어 능력도 중요하지만, 다문화적인 감수성과 문화에 대한 이해 및 관용적인 태도를 함양하는 것도 국가 간 협업에 매우 중요했다.
- 자유롭게 의견을 내고 새로운 시도를 하는 것에 대한 제약이 거의 없어서 업무 시간 중 일부는 새로운 무언가를 만들기 위한 투자를 하고 있다.
- 개발 연차와 상관없이 서로 ‘님’ 호칭을 사용하며 자유롭게 질문하고 생각과 의견을 제시하는 편이다.
- 코드 리뷰를 통해 단순히 버그를 발견하고 수정하는 수준을 넘어 가독성과 확장성이 뛰어난 코드, 일관된 스타일의 코드, 유지 보수하기 편리한 코드를 작성하려고 노력한다.
- 소프트웨어 개발은 복잡성을 다루는 영역이기에 이론적인 부분도 매우 중요하다.
- 플랫폼 개발자는 다양한 요구 사항을 전부 수용하면서도 지속적으로 확장할 수 있는 형태의 대규모 시스템을 만들기 위한 고민을 끊임없이 해야 한다.
- 처음 온 분들에게 온보딩 문서에 따라 진행하면서 정상 동작하지 않는 부분이 있거나, 새 버전이 나오면서 바뀐 부분이 있다면 수정을 부탁한다.
- 프로그래밍은 결국 커뮤니케이션이라고 생각한다.
- 그 어떤 순간에도 가장 소중한 것은 결국 사람이라는 것을 깨닫게 해준 소중한 경험이다.
- 라인 개발 인력의 평균적인 능력은 어느 곳과 비교해도 최고라고 자부할 수 있을 만큼 훌륭했다.
- 정말 고객이 원하는 것이 무엇인지를 최우선시하고, 데이터를 기반으로 고객의 반응을 확인하며, 빠르게 도전하고 실패하더라도 바로 일어나서 다시 시작할 기회를 충분히 주는 그런 조직이었다.
- 회복력은 침해 사고가 일어나도 빠르게 회복할 수 있어야 한다는 의미다.
- 첫째, 가장 이상적이라고 여기는 기술을 써볼 것, 그리고 둘째, 서비스는 반드시 최종 사용자가 쓰는 순간까지 만들어볼 것이었다.
- 잘 기록하고 다른 사람의 기록을 잘 읽는다는 기본이 기업의 강력한 자신이 될 수도 있다는 뜻이다.
- 기록이 없이 사람에 의존하는 회사의 경우, 특정 직원이 회사를 떠남과 동시에 집단적으로 같은 실수를 반복하는 모습을 많이 볼 수 있다.
- 충실한 문서화 역량은 회사가 새로운 도전을 하는 데 용기를 준다.
- 자유로운 업무 환경에서 일하는 것은 장점도 많지만 때로는 그 자유가 적당히를 넘어서 힘든 적도 있었다.
- 다양한 의견을 수용할 줄 아는 라인의 개발 문화와 오픈소스의 정신에 더욱 깊이 공감하는 계기가 되었다.
- 개발자 마케팅(developer marketing)이라고 하는데, 개발자를 대상으로 제품을 알리고 개발자들이 그 제품을 사용하게 만드는 일을 뜻한다.
- 대내적으로는 사내 개발자 간 기술 공유가 원활하게 이루어지게 하고 개발자 문화를 정착시켜 라인이 외부 개발자 커뮤니티와 잘 소통할 수 있도록 지원한다.
- 소프트웨어로 뭔가 만드는 것을 즐기는 사람이어야 계속 변화하는 기술을 이해하고 개발자들과 소통할 수 있다.
- 기술 공유를 통해 가장 많이 배우는 사람은 역시 발표자 혹은 글을 쓰는 본인이다.
- 개발자 분들은 글을 쓰거나 발표할 기회가 생기면 그 기회를 잘 활용했으면 한다.
- 빠르게 변화하는 소프트웨어 업계에서 계속 배우고 자신을 성장시킬 유용한 방법 중 하나가 기술 공유 활동이다.
- 커뮤니티에는 다양한 경력과 배경의 사람들이 모여 있었고 덕분에 넓고 다양한 영역을 익히고 배울 수 있었다.
- 보안에 매우 민감한 사업이 아닌 이상 내부의 모든 코드는 공개되어 있고 자신이 담당이 아니라도 이슈를 확인하고 컨트리뷰션이 가능하다.
- 프로그래밍은 누구나 배울 수 있는 스킬로 노력해서 중간만 한다면 충분하기 때문에 스킬 자체가 뛰어나야만 가치 있는 개발자라는 생각을 버려야 한다.
- 라인은 개발자들이 일하기 좋은 환경을 만들고 개발자들이 마음껏 하고 싶은 개발만 할 수 있도록 힘쓰고 있다.
BOOK Comment 1-2-3
1. 사람, 프로세스, 문화 모든 것이 잘 조합되어야 한다.
2. 책을 읽은 개발자라면 라인에 입사하고 싶을 것 같다.
3. 최근 Developer Relations, Developer Advocate, Evangelist 활동의 중요성을 생각해보았다.
BOOK Underline 1-2-3
1. 라인 개발 인력의 평균적인 능력은 어느 곳과 비교해도 최고라고 자부할 수 있을 만큼 훌륭했다.
2. 충실한 문서화 역량은 회사가 새로운 도전을 하는 데 용기를 준다.
3. 소프트웨어로 뭔가 만드는 것을 즐기는 사람이어야 계속 변화하는 기술을 이해하고 개발자들과 소통할 수 있다.