NAME
강동희(Thomas)
PHONE
010-4830-9675
ETC
문서화를 잘하는 개발자입니다. 업무를 시작하기 전 항상 설계 문서를 작성하고 어떻게 업무를 진행할지 고민하며 글로 남기는 편입니다. 주어진 업무를 바로 시작하는 것보다 한 번 더 사고를 하고 사고한 과정을 글로써 남기면, 추후 히스토리 관리에도 용이하고 업무를 진행할 때 실수를 덜하기 때문입니다.
논리적으로 사고하는 개발자입니다. 어떤 일이든 원인과 결과가 있다고 생각하여 코드를 작성하거나 어떤 문제를 해결하기 전 이 일을 왜 진행하는지 한 번 더 이유를 찾습니다. 가령 어떤 기술이나 라이브러리를 도입하기 전에도 이 기술을 왜 사용하고 도입 해야 하는지, 도입 시 어떤 이점이 있고 위험이 있는지 사고하는 편입니다.
팀원에게 친절한 개발자입니다. 항상 친절하게 커뮤니케이션하며 협업의 끝에는 동료를 칭찬하는 습관을 가지고 있습니다. 이로 인해 유대감이 생기고 동료애가 형성됐을 때, 엄청난 시너지를 발휘할 수 있다고 생각합니다.
어두운 곳을 밝게 빛내는 개발자입니다. 팀원이 선뜻 나서기 어려운 일이나 마다하는 일을 저에게 할당해 진행합니다. 그들이 어려워하거나 힘들어하는 업무일수록 저 자신을 단단하게 성장시키고, 팀을 밝게 빛낼 수 있다고 생각하기 때문입니다.
하이브리드 플랫폼 팀에서 CMP 솔루션인 TabCloudit의 프론트엔드 개발을 담당했습니다.
개발 기간 | 2024.04 ~ |
---|---|
개발 인원 | 프론트엔드 개발자 5명 |
사용 기술 | TypeScript, Vite, React.js, Scss, Storybook, Radix-UI |
TabCloudit 프론트엔드는 CRA로 구축된 프로젝트며 프로덕션 최적화 설정을 위해 Eject된 상태였습니다. 주요 라이브러리의 버전은 Webpack(4), React(16), TypeScript(3)에 머물고 Eject되어 버전 관리가 어려워 레거시에 머물고 있었습니다.
메인 라이브러리의 버전 관리 실패로 인해 최신 기술의 라이브러리를 도입하기 어려웠고, Webpack을 사용하는 CRA 특성상 개발 서버의 실행 시간과 빌드 시간이 상당히 소요된다는 불편함과 Webpack의 HMR 시 페이지가 리로드 되는 것이 프로젝트의 유지 보수와 개발 경험에 좋지 않았습니다. 마지막으론 최적화를 위해 Eject 한 설정들이 점점 레거시가 되면서 관리가 어려워졌습니다.
위 사항을 개선하기 위해 리팩토링의 목표를 Vite 기반의 React 프로젝트로 마이그레이션 하는 것과 라이브러리의 버전 관리로 설정했습니다. 최초 Vite 마이그레이션 POC를 통해 선행되어야 할 액션 아이템들을 파악했고 액션 아이템을 하나씩 해결하며 메인 라이브러리를 최신 버전으로 업그레이드를 했고 한 달 반이라는 기간에 레거시 아키텍처를 최신 Vite 아키텍처로 마이그레이션에 성공했습니다.
이 과정을 통해 다음과 같은 개선 사항이 있었습니다.