구름에서 항상 궁금한 주제에 대한 강연이 올라와서 듣기로 했다. 대충 써서 오프라인 행사는 떨어졌다.
다시보기는 올라온다 하니 구름 유튜브를 구독해보자.
강연자님은 인터페이스, 프로세스, 캐퍼시티 라는 단어로 협업에 대한 이야기를 해주셨다.
단어로 말하니 굉장히 와닿지 않는데, 나는 아래처럼 이해했다.
- 다른 사람과 대화하고 읽을 때, 상대방이 만족할 수 있게 제공하자 (인터페이스)
- 단순히 개발의 효율이 아니라 나와 협력하는 모든 과정의 효율을 높이자 (프로세스)
- 목표를 이룰 수 있게, 지속적으로 꾸준히 할 수 있는 용량을 키우자 (캐퍼시티)
강연은 각 주장에 대한 내용, 설득, 훈련과정 세 가지로 이루어져있다.
내용이 너무 많기에 이 글은 인터페이스의 집중하기로 한다.
이 내용에 대해서 감명깊게 보았는데, 첨부해주신 추가자료 등을 읽으면서 나의 주관적인 해석 및 이해가 굉장히 많이 들어 갔다. 이런 부분이 있음을 유의해주길 바란다.
인터페이스 : 상대방이 만족할 수 있게 제공하자.
인터페이스는 유저가 내 제품을 사용하는 창구이다.
그럼 다음 질문을 답변해보자.
- 내 프로덕트의 유저는?
- 내 코드의 유저는?
- 내 repo의 유저는?
- 내 문서의 유저는?
이 질문의 답변을 하면, 누군가 내 문서, 내 코드, 내 repo를 사용할 것이라는 것을 알게된다.
그럼 다음 질문을 답해보자.
- 그들이 사용할 수 있도록 잘 만들었는가?
1번 질문은 ui/ux, 2번 질문은 (코드) 가독성, 3번 질문은 readme, 4번 질문은 글의 가독성이 될 것이다.
(강연자님은 코드에 대한 가독성을 오류를 얼마나 명확히 찾을 수 있는가로 정의하셨다.)
위에서 답변한 유저들이 있는데, 이 유저들이 나랑 협업할 수 있도록 내가 충분히 배려하고 있는 지 다시 한 번 생각해보게 되는 질문이였다.
인터페이스 훈련

첫 번째 훈련은 용어와 설계를 팀원들과 맞추는 것입니다.
강연자님은 BANEX 템플릿을 사용하여 팀원들간 프로젝트의 용어와 상식을 맞추는 것을 추천하였습니다. 그리고, 장기적 관점의 설계와 우선순위를 표현함으로써 단계적인 성장을 진행하면서 시스템적인 설계(준비)를 가능하게 합니다.

두 번째 훈련은 코드없이 설정 파일만을 만드는 것입니다.
설정 파일을 이용하여 의존성과 추상화를 통해서 구조를 명확히 파악하고 확장성을 고려하는 것입니다.
위 사진처럼, social 로그인은 저 세 가지로 충분한 지, smtp 등 외부 의존성은 어떻게 할 것인 지 등 큰 그림의 설계를 구체화해나가는 것입니다.
이를 통해서, 프로그램의 수명이 길어지고, 확장성에 대해서 명확하게 표시할 수 있습니다.

세 번째 훈련은 이를 오픈소스의 영역으로 확대하는 것입니다.
위에서는 팀원들과 용어를 통일하고, 설정파일을 통해서 구조를 명확히 만들어서 좋은 설계를 만드는 훈련을 하였습니다.
이번에는 팀원뿐이 아니라 전혀 모르는 사람까지 이해할 수 있도록 확대하는 것입니다.
이 과정을 통해서 코드는 독립성, 일관성, 확장성, 보안성을 얻으면서 이 코드가 해결하고자 하는 문제의 본질에 집중하게 됩니다.
그 결과 위 그림처럼, 비즈니스로직 등의 부분이 밖으로 밀리고 문제를 해결하는 데 정말 중요한 핵심 기능이 안쪽에 모이는 구조가 됩니다.
마지막으로, 글을 정갈하고 쉽게 쓰는 것이 중요합니다. 너무 개인적이고, 어렵고, 밈이 들어간 코드나 문서들은 모르는 사람들은 이해하기 어렵게 만들며 글의 수명을 짧게 만듭니다.
결론
강연자님이 결론적으로 전달하고자 하는 것은 팀원이 같이 일 할 수 있게, 상대가 충분히 이해할 수 있는 정성과 노력으로 다가가라는 것이다. 그리고 이를 단순히 팀원에서 모든 사람으로 확장해나가길 바라는 것 같다.
참고자료
라인 기술 블로그 - BANEX 템플릿 : https://engineering.linecorp.com/ko/blog/banex-template-for-product-planning
라인 기술 블로그 - 오픈 소스 글 : https://techblog.lycorp.co.jp/ko/designing-software-like-an-open-source
'책과 강연 > 강연 및 강의' 카테고리의 다른 글
| [구름 강연] 당근 해외 진출 고군분투기 (3) | 2024.05.07 |
|---|---|
| [구름 강연] 시야가 넓은 개발자는 무엇이 다를까? _ 김영재님 (LINE 기술임원) 후기 3편 (2) | 2024.02.15 |
| [구름 강연] 시야가 넓은 개발자는 무엇이 다를까? _ 김영재님 (LINE 기술임원) 후기 2편 (0) | 2024.02.14 |
| [유튜브] 소프트웨어 아키텍처의 중요성 (2) | 2023.12.28 |
| [컨퍼런스] 23년 점핏 개취콘 후기!!! (0) | 2023.05.15 |