Contributed to 레몬베이스 팀 (Lemonbase Team)
레몬베이스 Frontend 설계 지침서는 레몬베이스의 엔지니어가 프론트엔드 코드를 설계하고 작성하는 사고 과정을 풀어낸 문서입니다.
엔지니어가 실천할 수 있는 가이드이자 교육자료로 활용되며, 이해를 돕기 위한 다양한 문제 해결 사례를 다루고 있습니다.
리더의 기대로부터 TF를 결성하고 이끌어 표면적인 현상이 아닌 핵심 문제를 밝혀내고, 팀 내 갈등을 유발하던 코드 작성 패턴에서의 합의를 이루기 위한 기준점과 실질적인 가이드를 제시하며 팀의 역량을 강화하는 것에 집중했습니다.
리더의 기대로부터 TF 결성 및 주도:
- 개인·스쿼드별 코드 작성 패턴이 지나치게 달라 코드를 리뷰하고 이해하는 과정에서 어려움
- 이를 해소하기 위한 규칙(새로운 코딩 컨벤션) 정의
서베이 배포 및 개인적인 1:1 미팅으로 인식 수집·분석 결과:
- 팀은 주로 ‘컴포넌트 확장성·재사용성 확보’와 ‘비즈니스 로직 응집’에서 어려움을 겪음
- 코딩 컨벤션은 더이상 동작하지 않고 코드는 다양한 패턴이 혼재되어, 무엇을 따라야 할지 혼란스러움
- 사용자 경험과 서비스 신뢰성·확장성·유지보수성에 악영향을 주는 코드 패턴이 존재함
- 나쁜 코드가 일상적으로 생산·지속되는 상황으로 인해 과반수 이상의 동료가 불편함을 마주함
- 현재 상황이나 접근 방식에 만족해 보이는 동료들이 존재하며, 이들이 변화를 수용하도록 설득하는 과정에서 좌절을 겪음
- 팀 내 가장 해소되지 않는 의견 충돌 지점은 ‘추상화’와 ‘의존성’
- 업계에 알려진 문제 해결 사례가 팀의 문제 해결로 이어지지 못함
- 코드 리뷰에서의 어려움은 표면적인 현상에 불과하며, 본질적인 문제는 나쁜 코드를 지속적으로 생산하고 있음에도 잘못된 학습으로 인해 스스로 문제를 인식하지 못하는 데 있음
TF의 판단:
- 코드 작성 패턴을 통일하기보단, 무의식적인 Anti-Pattern 작성을 막는 것이 시급함
- 이해하지 못한 규칙을 강제하는 대신, 근본적인 팀 역량 강화가 필요함
- 그러기 위해서는 변화를 거부하는 요인을 해소하는 것이 중요함
문제 해결 시도:
- 프론트엔드 설계의 사고 과정을 설명하고 이해를 돕는 지침서 제작, 강제적인 규칙이 아닌 교육과 학습에 초점
- 팀이 주로 어려움을 겪는 영역(컴포넌트 확장성·재사용성 확보, 비즈니스 로직 응집)에 대해 실천할 수 있는 최소한의 가이드(계층형 설계) 제시
- 팀 내 문제 해결 사례 공유, 업계의 일반적인 접근 방식으로도 팀의 문제를 해결할 수 있음을 증명해 반감 감소
TF의 성과:
- 리더의 기대를 넘어 동료들의 인식을 수집하고 본질적인 문제를 밝혀냄
- 팀이 따라야 할 지침서로써 80% 이상의 동의를 확보해 공식화, 해소되지 않았던 갈등에서 합의를 위한 최초의 기준점 마련
- 팀이 어려움을 겪는 영역에서 동료들이 가이드를 적용하고 경험을 공유하는 모습을 보여, 실질적으로 동작하고 있음을 확인
- 적용 이후의 경험과 의견을 자유롭게 나눌 수 있는 토론 활동 및 분위기 조성, TF 외부로부터 제안된 새로운 문제 해결 사례에 대해 의견을 교환하고 문서화
내 역할:
- TF 주도, 퍼실리테이션
- 동료들의 인식 조사 결과 해석, 문제 재정의
- 지침서 집필
- 문제 해결 사례 작성 및 공유