책 <나는 LINE 개발자입니다>

라인의 개발 고수 12인의 도전과 기회, 성장의 개발 라이프

라인의 일상

노승헌- 자유와 책임, 그리고 라인

  1. 우리는 매년 연말, 세 번의 새해를 맞이한다.

  2. 라인은 고객사에서 내 회사로

  3. 라인에서는 장애마저도 발전의 기회로 삼는 것 같다. 누군가의 실수나 잘못으로 장애가 발생했을 때, 누군가를 질타하는 대신, 장애 리포트를 작성하면서 근거 자료를 취합하고 이를 공유하는 미팅도 가능한한 많은 사람들과 갖는 문화가 있다.

  4. 같은 배를 타고 잇는 동료로서 목적지까지 더 잘 갈 수 있도록 서로를 돕는 이상적인 모습

김영환 - 매일이 새로운 20년차 개발자

  1. 명함에 있는 software engineer 라는 이름에 맞게 자신을 성장시키고 싶었다. 그때부터 격일로 퇴근을 했다. 선배들이 만든 소스를 읽고 공부하고 이해가 안되는 것은 선배에게 다음날 물어보고, 업무를 이해하기 위해 주식 공부도 했다.

  2. 개발을 시작한지 3년만에 진정 개발자의 일을 즐기면서 하게된 것 같다.

  3. 하루를 최선을 다해 사는 것은 어렵지 않다. 어려운 건 매일매일 최선을 다하는 것이다. 지치기도 하고 지루하기도 할 테니까.

  4. "내일, 모레에 행복해지기 위해 사는게 아니라 지금 당장 행복해야한다."

    1. 한창 힘든 시기에 어려 인생의 선배들이 들려준 말이었다. 선물과도 같은 오늘, 행복하기 위해 지금 하는 일을 즐기고 재밌게 생활할 수 있다면 매일매일 최선을 다하며 살아갈 수 있을 것이다.

김택주 - 글로벌로 출근하는 라인개발자

컴공 학부를 마치고 미국으로 유학행.

석사과정을 마치고 스타트업에 조인 → 1년 6개월 근무

두번째 직장도 스타트업. → 펀딩을 지속하는 것의 어려움. 개발이나 운영적으로 성숙한 조직은 어떻게 일하는지 궁금했다.

아마존으로 이직 → 광고주들을 위한 시스템을 설계하는 업무를 담당함

개발자 되는 법

김정엽 - 문송하지 않은 철학도의 개발이야기

  1. 비트켄슈타인을 정말 좋아해서 철학도가 되었다.

  2. 비트켄슈타인의 [논리철학 논고]를 읽으면서, 얼핏보면 사람의 문제와는 동떨어져 보이는 차가운 기호들이, 결국은 삶 속 문제를 풀어내려는 뜨거운 집념의 결과였다는 사실이 아름다웠다.고 느꼈다.

  3. 비트켄슈타인은 학생들에게 항상 철학 공부를 그만두기를 권했다. 학교에 남아있지말고 밖에 나가서 일을 하라고 제자들을 떠밀기까지 했다. 철학은 어디까지나, 언어에 대한 오해에서 비롯된 수수께끼를 조망하고 해소하는 작업이지, 무엇인가를 새롭게 만들어내는 활동이 아니라고 생각했던 것이다.

  4. 그들과 이야기하며 서로의 일상을 나눌 때마다, 내게는 철학 대학원에서 논문을 붙잡고 있는 내 모습보다 개발자로서 일하는 내 모습이 더 선명하게 다가왔다. 소논문도 쓰고 대학원 지원까지준비하며 논문을 고민해오던 내가, 개발자로 취업하려면 당장 준비할 것이 많았다.

  5. 철학자와 개발자, 아리송한 문제 앞에서 헛소리하기를 두려워하지 않는 사람들

    1. 철학과 개발은 닮았다. 학교에서 철학을 공부할 때나 라인에서 개발자로 일하는 지금이나, 내가 항상 되뇌는 물음 두 가지도 똑같다.

      1. 이게 도대체 왜 (안) 되는 거지?

      2. 당연히 이렇게 되어야 할 것 같은데, 왜 저런 엉뚱한 결과가 나오지?

    2. 아리송한 난제를 붙잡고 씨름하는 가운데, 철학자들과 개발자들은 모두 헛소리하기를 두려워하지 않는다. 오히려 실패 가능성을 당연한 사실로 받아들인다.

  6. 철학 VS. 개발, 생각의 빠른 현실화

    1. 결국 내가 개발자로서 일하고 싶었던 가장 큰 이유는 내 생각이 현실에 빠르게 힘을 보태는 모습을 보고 싶은 욕망이 아닐까 한다.

    2. 개발에서는 기여에 대한 인정이 분명하다. 거대한 건축물을 만드는 데 돌을 쌓는 사람은 익명으로 남을 수 있어도, 거대한 소프트웨어를 만드는 데 코드 한 줄을 쓴 사람이 누구인지는 다 알 수 있다.

  7. 말할 수 있는 것은 분명하게 말할 수 있다. 말할 수 없는 것은 오직 보일 수만 있을 뿐이다. 말할 수 없는 것에 대해서는 침묵해야 한다.

  8. 문과 출신이라고 문송할 필요는 없다. 개발하는 일을 잘한다라는 건 단순히 개발을 잘하고 일을 잘하는 것의 총합이라 말하긴 했지만, 개발일은 컴퓨터 속에만 갇히지 않는 다양한 능력과 노력을 함축한다.

  9. 그러니 나도 전직 철학도라는 딱지가 붙은 코딩 머신으로 전락할 필요가 없었다. 부족한 전문 지식을 채워나가면서, 내가 아직 미치지 못하는 스펙트럼의 다른 구석을 채워나가면 되는 것이다.

  10. 무슨 코드를 어떻게 짜야 할지도 정해져 있지 않은 '맨땅'에서 일을 시작할 때 바라볼 것은 코드가 아니라 사람이다.

  11. 비트캔슈타인은 엔지니어에서 개발자가 되었고, 이 분은 철학도에서 엔지니어가 되었다.

하태호 - 주니어 개발자의 성장기 + 개발공부 팁

  1. 자동화에 관심이 많다. 봇을 많이 만드는 편.

  2. 나는 개발자 중에서도 서버 개발자가 되고 싶었다. 깊은 고민을 통해 문제를 실질적으로 해결해나가는 영역은 서버 개발 부문에서 많이 진행되고 있다고 생각했기 때문이다.

  3. 기술로 세상에 기여하고 싶다는 생각을 했었다. → 네이버 웹툰 "베스트 도전"을 보면서 기회가 없던 사람들에게도 기회가 주어지는 것을 목격.

  4. 라인 개발팀의 문화

    1. 코드 리뷰 문화

      1. 단순 버그 발견이 아님

      2. 팀 전체의 가독성과 확장성이 뛰어난 코드

      3. 일관된 스타일

      4. 유지보수하기 편리한 코드를 작성하려고 노력한다.

    2. 탓하지 않는 문화

    3. 장애 리뷰

      1. 장애 해결 후 즉시 장애 보고서 작성

      2. 장애의 영향범위와 현상, 원인과 조치 내역을 시간순으로 기록한 보고서를 작성한다.

      3. 유관부서와 장애리뷰회의를 진행함

  5. 라인의 일상

    1. 특허 출원을 도운 커피타임

    2. 구글 I/O 공짜로 다녀오기

    3. 공부하는 삶

  6. 주니어 개발자들을 위한 공부 팁

    1. 개발에 대한 흥미 잃지 않기

      1. it 기사, 기술블로그 정독, awesome-devblog, 각종 대기업 서비스들의 기술블로그

    2. 이미 잘 만들어진 소프트웨어에서 배우기

      1. 개발을 가장 빨리 배우는 방법은 내게 익숙한 소프트웨어를 따라 만들어보는 것.

    3. 이론까지 탄탄한 개발자 되기

      1. 개발자의 이론적 배경을 탄탄하게 만드는 데에는 책이 좋은 것 같다.

      2. 새로운 기술을 접할 때 책 → 기술문서 → 코드 접근

강윤신 - 내가 미리 알았으면 좋았을 개발 생활 팁

뭐든 문제를 던지면 해결책을 세 가지씩 내놓는 개발자

  1. 컴퓨터 좋아함 > 컴공과 진학 > 이론위주에 싫증 > 바로 스타텁에서 실무 시작 > 1인 법인 설립 > 아는 사람 회사에 CTO 로 들어가게 됨

  2. 전형적인 갭자 스타일 성격. → 동료들과의 커뮤니케이션에 대해서 엄청 집중

  3. 신입 갭자들이 들어와서 바로 첫날부터 적응할 수 있도록 모든 것들을 문서화해둔다. 심지어 개발IDE 테마 커스텀 방법까지도.

  4. 생산성을 좌우하는 개발자의 습관

    1. 최신버전 고집 : 새버전으로 얻는 이득이 기존버전을 유지하는 것보다 낫다고 생각한다.

      1. README, CHANGELOG, 공식문서 등을 읽는데 두려움이 있어서인듯

    2. 개발자 영어: 번역문서 방법 비추. 가능하면 원문으로 공부해라.

    3. 공식문서와 README 의 중요성

      1. 쉘 스크립트나 RSS 등을 통해서 주요 라이브러리들의 새버전 출시 소식을 항상 접하고 있다.

    4. CHANGELOG 확인하기

      1. 출근하자마자 brew update && brew upgrade && breq cleanup 명령어로 하루를 시작한다고.

  5. 어떻게 질문해야하는가?

    1. 내 상황을 정확하게 알린다.

    2. 혼자서 충분히 검토하고 찾아본다.

    3. 도저히 안되겠으면 주위 사람들에게 도움을 요청한다.

  6. 프로그래머를 꿈꾸는 사람들에게

    1. 오픈날이 다가오면 개발자는 힘들다. 오픈날짜가 다가오고 마감일이 코앞인데도 버그는 계속 늘어나는 상황을 맞이한다.

    2. 그가 진짜 좋아했던 일은 새로운 무엇인가와 만나는 일, 새로운 지식을 알게되는 일이었던 것 같다.

    3. 전혀 상관없는 모니터 속의 세상과 실 생활을 프로그래밍 언어와 금융으로 연결하고 있다.

    4. 프로그래밍은 결국 커뮤니케이션이다. 사람과 컴퓨터의 대화, 같이 일하는 동료들과의 커뮤니케이션에서 시작한다. 그 방법이 코드일때도 있고, 블로그나 스택오버플로 글이 되기도 하고, 말로하는 대화가 되기도 한다.

라인에서 새로운 도약을 꿈꾸는 사람들

이홍규 - 블록체인 최고 테크니컬 디렉터의 선택

  1. 스타트업에서 깨달은 세 가지 법칙

    1. 아깝다고 생각할 때가 가장 가치가 높을 때다.

    2. 빠르다고 반드시 좋은 것만은 아니다.

    3. 사람이 우선이다.

  2. 아는 후배가 코인원의 대표. 자연스럽게 블록체인의 세계로 향하게 되다.

  3. 아이콘 - 라인 → 조인트 벤처회사, 언체인

  4. 링크스캔의 0번째 블록 : 제너시스 블록. 참여한 사람들의 목록 (https://scan.link.network/0x300/block/0)

  5. 라인의 뛰어난 인재들

  6. 스타트업 마인드

  7. 글로벌 컴퍼니

이승진 - 라인 개발자가 된 세계적인 화이트 해커의 이야기

  1. <해커즈>라는 영화. 실화를 바탕으로 한 이 영화에 감명받아 해커를 꿈꾸게된 아이.

  2. 컴퓨터 분야의 장접 : 본인이 했던 연구나 성과를 공유함으로써 다른 사람들에게 나 자신을 알릴 수 있다는 것.

  3. 각종 해킹/보안대회에서 계속 우승!

  4. 국방부에서 보안연구

  5. 국제 해킹대화 - DEFCON, RECON

  6. 보완산업분야에서 프리랜싱 지속 → 큰 규모의 사업을 받기 어려움 → 팀을 꾸리기 시작! GrayHash

  7. 회사를 경영하면서 느낀 세 가지의 문제점

    1. 직원들의 전문영역인 기술능력을 다른 영역에까지 기대하기 된다는 점

    2. 최첨단 지향하는 해커들의 모임, 엔지니어로서 하고 싶은 연구 vs. 돈을 벌 수 있는 연구 사이의 괴리

    3. 너무 geek 한 엔지니어만 모이면 스타트업 생태계를 꾸리기 어렵다.

  8. 회사경영을 지속하기 위해서 (마케팅방법으로) 멤버 각각의 인지도를 활용했다. 인지도를 높이는데 가장 좋은 방법은 저명한 보안해킹대회에서 심사위원을 지내는 일이다.

  9. 라인에 인수되다! → 라인은 3차례 고객으로 만남. 라인으로 가기로 결정한 이유 3가지.

    1. 큰 조직임에도 매우매우 유연하다.

    2. 라인 개발자들은 보안 전문가가 아님에도 보안에 대해 깊은 지식을 갖고 있었다.

    3. 보안취약점 발견시에 라인 보안팀의 반응은 여타 회사들과 달리 문제점을 인식하고 대응하며 그들의 기여도도 높게 사줬다.

    4. GrayLab 으로 재탄생!

김재석 - 성장에 목마른 내가 라인에 온 이유

  1. 게임 정보 사이트로 중학교때부터 접속자 500명의 웹사이트를 운영

  2. 도토포인트

  3. 스타트업의 정의 → 스타트업은 규모의 문제가 아니다.

    1. 소규모 조직도 저성장중이라면 스타트업이 아니고,

    2. 대규모 조직도 고성장중이라면 스타트업이다.

  4. 회사를 합류할 때에는 직원으로서 월급을 받기 위해 들어간다고 생각하는 것이 아니라, 투자자의 관점에서 회자를 바라보는 것이 좋다.

  5. 좋은 아이디어를 시작할 최적의 시기는 그 아이디어가 어던 것인지 아직 불명확한 때라고 생각한다.

  6. 라인은 1조원 이상의 기업가치를 지닌 상장사 중, 최초로 암호화폐를 발행하고 유통한 회사가 되었다.

  7. 라인의 성장비법?

    1. 새로운 시장

    2. 협업과 커뮤니케이션

    3. 충실한 문서화

  8. 희망과 공포는 같은 것이다. 희망을 집어드는 순간, 공포도 집어들게된다. 잘될 것 같아서 선택하는 것보다는, 실패해도 후회하지 않을 것 같아서 선택을 하는게 더 바람직하다.

개발자라고 개발만 하나요?

이서연 - 오픈소스 매니저가 일하는 법

라인 오픈소스 매니저라는 특이한 직군에 대해 엿볼 수 있다.

오픈소스 콘퍼런스 가장 큰 규모 OSCON

박민우 - 테크 에반젤리스트

  • @xguru → kth 로 이직

  • 기술전략팀. 개발자가 행복한 회사 kth → 이미지 향상 → 좋은 개발자들 지원 → 회사 발전

  • Realm 으로 이직. → 아시아에 realm 이라는 개발자 대상 제품을 알리는 업무. 개발자 마케팅.

    • 개발자를 대상으로 제품을 알리고, 개발자들이 그 제품을 사용하게 만드는 일

    • 개발 생태계를 잘 알고, 그에 맞는 전략을 수립할 수 있어야 한다.

  • 라인으로 이직.

    • 한국 개발자 생태계안에서 많은 개발자에게 라인이라는 회사에 대해서 더 잘 알리고, 관심을 가지게 해서, 우수한 개발자들이 계속 라인이라는 회사에 들어올 수 있도록 한다. 대내적으로는 사내 개발자 간 기술공유가 원활하게 이루어지게 하고, 개발자 문화를 정착시켜 라인이 외부 개발자 커뮤니티와 잘 소통할 수 있도록 지원한다.

  • 테크 에반젤리스트가 되려면

    • 기존의 기술영업처럼 매출 목표를 가지고 있지는 않다. 마케팅이나 교육 위주 방법을 사용.

    • 개발자들을 이해하고 소통해야하기 때문에 소프트웨어 개발을 할 수 있어야 한다.

    • 하지만 코딩보다는 글이나 발표를 통해 기술 공유를 하므로 개발관련 다양한 커뮤니케이션을 즐기는 사람들에게 적합한 일이다.

    • 소프트웨어 개발을 즐길 수 있어야 하고

    • 기술 공유의 즐거움을 알아야 한다.

      • 소프트웨어 같은 변화의 속도가 급격하고 새로운 것들이 쏟아지는 분야는 다양한 사람들이 다양한 관점으로 정리한 자료들이 많은 사람들에게 큰 도움이 된다.

      • 기술 공유를 통해 가장 많이 배우는 사람은 역시 발표자 혹은 글쓴이 본인이다.

      • 해당 기술에 관심있는 사람들과 이야기를 할 수 있는 기회가 자연스럽게 생기게 된다.

    • 기술을 주제로 사람들과 만나기

      • 기술행사에서 자원봉사든, 발표든, 활동할 수 있는 기회가 있다면 적극적으로 참여하길.

    • 기술 뉴스 좋아하기

      • 기술자체도 중요하지만, 그 기술을 가지고 어떤 제품을 만들 수 있고, 제품이 실제로 어떻게 매출과 연결되는지 시장의 사례들을 보는 것

    • 영어

    • 엔지니어와 같이 성장하려는 마음

  • 몇살 까지 개발할 수 있나요?

  • 기술 공유를 통해 성장하는 개발자

배권한 - 개발자 커뮤니티와 함께 성장하다

  • 파이콘 코리아를 직접 연 사람

  • 커뮤니티를 통해 성장해나갔다.

  • 리눅스와 파이썬 기반으로 커뮤니티 활동중이었다. 커뮤니티를 통해 성장했고, 이를 다시 되돌려주고 싶었다.

  • 리눅스는 이미 커뮤니티가 잘 갖추어져있었고, 자연스레 파이썬으로 눈을 돌리게 되었다.

  • 파이콘 준비의 과정, 1회 파이콘이 450명 참여로 성황리에 마무리. 이후에는 2천명까지 늘어난 상황!

  • 라인은 마치 커뮤니티 같다.

    • 서로 돕는 문화

    • 일단 해보는 자세와 라인원정대! → 라인 매신저의 유저 피드백을 살펴보고 속도가 느리다는 이야기를 발견하면 사용량, 유저수, 속도를 고려하여 개발팀에서 방문할 국가를 정하고, 관련 사업팀의 의견까지 모두 받아서 해당 국가에 직접 방문해 현황을 살펴보는 것.

  • 모두가 좀 더 가까워지는 세상을 위하여

    • 라인 동료들은 너무 뛰어나서 주눅이 들 때가 있다. 하지만 이는 단순히 한 사람만의 생각은 아니다. 장고 프레임워크를 만든 제이컵 카플란 모스가 2015년 파이콘 키노트에서 '나는 중간정도 되는 개발자'라고 선언. 세상은 개발자가 뛰어나야만한다는 편견으로 바라보지만, 이런 생각은 도움이 안되며, 프로그래밍은 누구나 배울 수 있는 스킬로 노력해서 중간만 한다면 충분하기 때문에 스킬 자체가 뛰어나야지만 가치 있는 개발자라는 생각은 버려야한다고 했다.

  • 프로그래머의 마인드

    • 프로그래밍은 우리가 생각하는 방법을 바꿔서 세상과 소통하고 디버깅할 수 있게 한다. 사회도 마찬가지로 하나의 법칙이고 시스템이므로 불만스러운 부분이 있다면, 누군가 먼저 행동함으로써 고치고 디버깅할 수 있다고 본다. 행동한다면 가능하다고 생각한다.

    • 행동하는 엔지니어라면 반드시 세상을 더 좋게 고치고 디버깅할 수 있다고 믿는다.

Last updated