Upgrade to Pro — share decks privately, control downloads, hide ads and more …

리디의 개발 문화 적응기

RIDI
May 04, 2018

리디의 개발 문화 적응기

RIDI

May 04, 2018
Tweet

More Decks by RIDI

Other Decks in Technology

Transcript

  1. 리디의 개발 문화 적응기
    - 커뮤니케이션 관점에서 -
    오길원

    View full-size slide

  2. 리디에서 일한지
    2년이 되었습니다

    View full-size slide

  3. 지난 시간을 돌이켜 보았습니다
    나는 리디에서 누구인가?
    나는 무엇에 에너지를 가장 많이 쏟았는가?

    View full-size slide

  4. 과일과 견과류 먹기

    View full-size slide

  5. 과일과 견과류 먹기
    출근 전 운동 하기

    View full-size slide

  6. 과일과 견과류 먹기
    출근 전 운동 하기
    Tears
    Of
    Customers
    발표하기

    View full-size slide

  7. 과일과 견과류 먹기
    출근 전 운동 하기
    Tears
    Of
    Customers
    발표하기
    동료들 더욱 알아가기

    View full-size slide

  8. 과일과 견과류 먹기
    출근 전 운동 하기
    Tears
    Of
    Customers
    발표하기
    동료들 더욱 알아가기
    개발언어와 도구 적응하기

    View full-size slide

  9. 과일과 견과류 먹기
    출근 전 운동 하기
    Tears
    Of
    Customers
    발표하기
    동료들 더욱 알아가기
    개발언어와 도구 적응하기
    리디 개발문화 적응하기

    View full-size slide

  10. 좋은 개발문화
    = 그것을 잘 가꾸어가는 사람들
    = 좋은 회사 / 좋은 서비스

    View full-size slide

  11. 좋은 개발문화의 핵심은
    그것을 만들어가는 사람간의
    커뮤니케이션

    View full-size slide

  12. 리디의 독특한 개발문화에 적응할 때
    가장 도전적이었던 점도
    커뮤니케이션

    View full-size slide

  13. 이전 회사에서는...
    커뮤니케이션 문제에 대해서
    크게 고민해 본적이 없었습니다

    View full-size slide

  14. Java 개발자로서 API Management에
    종사하던 저는 솔루션 개발과
    커스터마이징 업무가 주력인
    수직적 조직에 익숙

    View full-size slide

  15. 수직적 조직의 특징
    정형화된 언어/개발 가이드/기술셋
    창의성보다는 기동성
    지시형 커뮤니케이션
    역할의 명확한 분리

    View full-size slide

  16. 그러나 리디에서는…?
    시행 착오 4단계

    View full-size slide

  17. 1. 수습 기간 때 시행착오
    수평조직 적응하기

    View full-size slide

  18. 점심시간에도 느껴지는
    수평적 문화
    지금은 아무렇지도 않은 1/n 카드!
    수직에 익숙하던 수습 때는 충격!!

    View full-size slide

  19. 수직구조의 잔재 - 나이와 경험치에 대한
    부담감

    View full-size slide

  20. 수직구조의 잔재
    조급함
    - 나이와 경험치에 대한
    부담감
    - 빨리 회사에 공헌하고
    싶었던 과욕

    View full-size slide

  21. 수직구조의 잔재
    조급함
    과시
    - 나이와 경험치에 대한
    부담감
    - 빨리 회사에 공헌하고
    싶었던 과욕
    - 당장 필요하지 않은데도
    잘 아는 기술들 어필

    View full-size slide

  22. 불통 - 회의시간에 혼자만
    다른 이야기

    View full-size slide

  23. 불통
    충고
    - 회의시간에 혼자만
    다른 이야기
    - 동료들의 솔직한
    커뮤니케이션을 받아드림

    View full-size slide

  24. 불통
    충고
    회복
    - 회의시간에 혼자만
    다른 이야기
    - 동료들의 솔직한
    커뮤니케이션을 받아드림
    - 수습기간에 필요한
    기본에 충실

    View full-size slide

  25. 불통
    충고
    회복







    - 회의시간에 혼자만
    다른 이야기
    - 동료들의 솔직한
    커뮤니케이션을 받아드림
    - 수습기간에 필요한
    기본에 충실

    View full-size slide

  26. 2. 업무 습득시 시행착오
    코드리뷰 적응하기

    View full-size slide

  27. 코드 리뷰 = 공동 책임
    엄격한 코드 리뷰로 너덜너덜~

    View full-size slide

  28. 개발환경 학습 미흡?
    가이드 숙지 X
    언어에 익숙 X
    Java언어 사용 습관 O

    View full-size slide

  29. 미니 리디 만들기!
    신규 입사자 과제로 연습용 서점 사이트 만들기
    개발환경을 숙지할 충분한 시간 제공
    리디의 리뷰 문화를 먼저 학습할 수 있는 기회

    View full-size slide

  30. 서비스코드 개발시작시 시행착오?
    “이거 이렇게 하시면 안되는데...”
    문서만으로는 의도 전달이 어려움

    View full-size slide

  31. 다양한 해결방법!
    간단한 문제라도 해결책은 많을 수 있음
    먼저 동료와 의견을 충분히 교환

    View full-size slide

  32. 찜찜함 제거!
    요구사항이 완벽히 이해되지 않으면
    명확해질 때까지 끈질기게 확인

    View full-size slide

  33. 롤백 발생?
    충분히 공유되었다고 생각했음에도
    2주간 개발했던 내용이 롤백
    리뷰어도 리뷰이도 당황!

    View full-size slide

  34. 단계별 리뷰!
    개발부터가 아닌 설계부터 리뷰
    리뷰어와 점진적인 합의 및 공유

    View full-size slide

  35. 여러가지 이유로 망설였지만...
    사전에 충분히 많은 의견을 교환하는 것이
    빠르게 리뷰를 통과하는 길

    View full-size slide

  36. 3. 신입사원과 일할 때 시행착오
    배려하기

    View full-size slide

  37. 배경지식의 동기화
    실수 발생시 “이분이 어떤걸 몰라서 발생했을까?”
    신입사원이 업무를 모르는 건 당연하다
    문서화가 안되있거나, 숙지가 덜 되었거나

    View full-size slide

  38. 너무 구체적이지 않은 안내
    “XX함수를 고치세요” 보다
    “XX클래스를 살펴보세요”

    View full-size slide

  39. 너무 구체적이지 않은 안내
    대신 코딩만 할 사람이 아닌,
    함께 일하는 팀원을 만드는 방법

    View full-size slide

  40. 실은 제가 수혜자였습니다...
    그러한 배려를 받아 지금에 이르렀는데
    자꾸 잊어버립니다
    배경지식의 동기화
    너무 구체적이지 않은 안내

    View full-size slide

  41. 4. 태스크 할당 시행착오
    아사나 태스크 적응하기

    View full-size slide

  42. 플랫폼팀은 프로젝트별 담당자를 두어
    교차 업무를 기본 원칙으로 합니다

    View full-size slide

  43. 교차업무?
    특정 업무를 한 사람만 알고 있으면 팀의 리스크
    업무별 최소 2인 이상이 알고 있어야 함

    View full-size slide

  44. 교차업무의 장점
    2차 책임자를 지정 하여 리스크 분산

    View full-size slide

  45. 교차업무의 단점
    본인의 업무뿐 아니라 다른 업무도 파악
    개인마다 역량 차이로 인해 시간이 더 필요

    View full-size slide

  46. 처음에는 업무를 나눌 때
    각자가 프로젝트 내에서
    원하는 태스크를 선택
    (물론 중요 업무는 할당)

    View full-size slide

  47. 목표, 시급성, 중요도를 명확히!

    View full-size slide

  48. 우선순위

    View full-size slide

  49. 우선순위

    View full-size slide

  50. 우선순위 기재
    태스크에 시급성과 중요도 라벨을 추가하여,
    우선순위를 알려줌으로써 자발적 참여를 유도

    View full-size slide

  51. 월간 개인목표
    팀 목표내에서 개인별 월간 목표를
    팀 미팅을 통해 결정

    View full-size slide

  52. 그래서 현재는...

    View full-size slide

  53. 그래서 현재는...
    - 시급성, 난이도, 중요도가 높은것이 우선

    View full-size slide

  54. 그래서 현재는...
    - 시급성, 난이도, 중요도가 높은것이 우선
    - 담당 프로젝트

    View full-size slide

  55. 그래서 현재는...
    - 시급성, 난이도, 중요도가 높은것이 우선
    - 담당 프로젝트
    - 새로운 기술을 적용

    View full-size slide

  56. 그래서 현재는...
    - 시급성, 난이도, 중요도가 높은것이 우선
    - 담당 프로젝트
    - 새로운 기술을 적용
    - 배우고 싶은 업무 관련

    View full-size slide

  57. 그래서 현재는...
    - 시급성, 난이도, 중요도가 높은것이 우선
    - 담당 프로젝트
    - 새로운 기술을 적용
    - 배우고 싶은 업무 관련
    - 레거시 개선

    View full-size slide

  58. 그래서 현재는...
    - 시급성, 난이도, 중요도가 높은것이 우선
    - 담당 프로젝트
    - 새로운 기술을 적용
    - 배우고 싶은 업무 관련
    - 레거시 개선
    - 기타 등등

    View full-size slide

  59. 플랫폼팀 커뮤니케이션의 단점
    (저의 경험을 바탕으로)

    View full-size slide

  60. 모든 사람의 의견에 귀 기울이고
    많은 단계를 거쳐서 검증하므로
    시간이 많이 걸립니다

    View full-size slide

  61. 충분히 주의하지 않으면 논리보다
    특정 사람 혹은 사람과의 관계에 의해
    결정 될 수 있습니다

    View full-size slide

  62. 플랫폼팀 커뮤니케이션의 장점
    (저의 경험을 바탕으로)

    View full-size slide

  63. 의견을 자유롭게 낼 수 있어
    미처 생각하지 못했던 개선점을 발견하거나
    개발에 대한 창의적인 접근이 가능

    View full-size slide

  64. 모두 함께 책임의식과 의무를 나누어 지는
    민주적인 문화

    View full-size slide

  65. 업무에 대한 다양한 성찰을 통해
    개인이 성장을 할 수 있는 토대

    View full-size slide

  66. 여러 커뮤니케이션을 경험해보니,
    궁극의 커뮤니케이션이란?

    View full-size slide

  67. 1. 고정적이 아니라 변동적
    반드시는 없다

    View full-size slide

  68. 1. 고정적이 아니라 변동적
    특정언어를 썼을 때의 고정관념

    View full-size slide

  69. 2. 의도를 충분히
    생각보다 자주 발생하는 오해

    View full-size slide

  70. 2. 의도를 충분히
    문제상황 공유없이 질문을 한다면?(XY 문제)

    View full-size slide

  71. 3. 주장에는 납득할 근거가 있어야
    트렌드나 취향이라는 이유로 주장하는 것을 경계

    View full-size slide

  72. 3. 주장에는 납득할 근거가 있어야
    “이쁜것 같습니다.”
    “어울리지 않나요?”

    View full-size slide

  73. 4. 목표에 명확히 집중
    대부분의 의견 충돌은
    숨겨져있는 진짜 목표를 잊고 있기 때문

    View full-size slide

  74. 4. 목표에 명확히 집중
    “CP사이트 리뉴얼 방법”의 충돌은
    “CP사이트를 통한 리디의 목적”을 정의해야 함

    View full-size slide

  75. 5. 틀릴 수 있음을 받아들임
    성인이라고 해서
    모두 완성되어있는 것은 아니다

    View full-size slide

  76. 5. 틀릴 수 있음을 받아들임
    틀린걸 받아들이는 것이
    성장을 위한 최고의 방법

    View full-size slide

  77. 6. 의견 교환은 예의있게
    개발 커뮤니케이션은
    사람간 커뮤니케이션의 하위 집합이다

    View full-size slide

  78. 6. 의견 교환은 예의있게
    백종원 왈 : “물론 아시겠지만”

    View full-size slide

  79. 리디의 수평적 구조의 장점을
    잘 운용하기 위해서는
    성숙한 소통과 문화가 필수

    View full-size slide

  80. 일의 진취적인 진행과
    성공적인 완성을 위해, 때에 따라서는
    리더의 균형잡힌 판단과 실행력도 필요

    View full-size slide

  81. 저의 작은 경험을 나누었지만,
    이것을 통해 자신의 커뮤니케이션을
    돌아보고
    보다 성숙한 개발문화를 만들어 나가는데
    도움이 되었으면 좋겠습니다

    View full-size slide

  82. RIDI Style Guide
    https://github.com/ridi/style-guide
    규칙을 정하는 규칙
    슬랙 사용 규칙
    UI 텍스트 작성 가이드
    코드리뷰 규칙

    View full-size slide