<aside> <img src="/icons/bookmark_gray.svg" alt="/icons/bookmark_gray.svg" width="40px" /> 어릴때부터 가볍게 개발을 해왔었고 2012년부터 현재까지 본업으로 개발을 하고 있는 개발자입니다. BE 엔지니어로 시작하여 현재는 프론트엔드 개발자입니다. 대규모 사용자 트래픽을 처리하는 대기업 포털 서비스 BE운영부터 FE, 모바일 어플리케이션에 이르기까지 폭넓은 경험을 보유하고 있습니다. 어느 한 분야에만 매달려있지 않았기에 깊이가 없다고 생각하는 분들도 계실지 모르지만 막상 저와 일해보면 오히려 여러 경험들로 인해 각 영역을 잘 이해하고 말이 잘 통하는 개발자이고 여러 사람들에게 인정받고 있다고 생각합니다.
</aside>
BHSN의 6명으로 이루어진 FE를 리드하면서 allibee 서비스를 개발 & 운영중에 있습니다. 혼자 초기 프로젝트 세팅부터 현재까지의 FE를 계속 리드하며 개발하고 있으며 FE에서 사용되고 있는 각종 공통컴포넌트, 프레임워크, 빌드, 배포세팅, 에디터 고도화, 개발 컨벤션 정의 등 FE 모든 영역을 설계하고 매니징하면서 개발중입니다.
환경 | Svelte4 / Sveltekit / PWA / Typescript / CSS / Github Actions / Tailwind / Tiptap(ProseMirror) / Storybook / sentry |
---|---|
서버 | Google Cloud(Kubernates) |
BHSN에서 스타트업 초기멤버로 합류하여 현재는 제가 심혈을 기울여 뽑은 6명의 구성원으로 이루어진 FE에서 allibee 서비스 FE개발을 리드중에 있습니다. allibee 는 CLM(Contract lifecycle management) 서비스를 제공하는 AI 기업용 계약관리 솔루션이며 saas 기반으로 개발을 시작한 프로젝트였습니다. 합류시점 FE는 저 혼자였고 합류하자마자 얼마 안되어 GPT가 등장하면서 상황이 급박하게 돌아가게 되면서 개발 요구사항이 물밀듯이 밀려들어왔습니다. 빠르게 프로젝트를 확장해나갔고 계속해서 좋은 팀원들을 늘려나갔습니다.
특히 Tiptap을 활용한 에디터는 거의 혼자 만들게 되었는데 초기에는 AI 기능을 반영하기 위한 기능들 위주로 개발되었었지만 워드나 한글문서의 포맷이나 서식을 맞춰달라는 계속된 요구로 살이 붙다보니 이제는 MS Word 의 상당한 부분을 커버하는 형태까지 발전해버린 상태입니다. 그 중 넘버링 부분은 워드의 기능 중 웹표준과는 전혀 다르게 동작하는 방식이라 구현에 골치아픈 부분들이 존재했고 레드라인이라고도 불리우는 수정제안 기능의 경우는 브라우저의 동작에 역행하는 방식과 각 OS 및 브라우저별로 다르게 동작하는 IME 문제로 인해 작업에 어려움이 많았던 부분이었습니다.
i18n 관련된 작업도 작업자들이 혼선없이 빠르게 확인하고 개발하기 위해 구글시트에 수정이 발생하면 supabase db 에 수정이 되도록 트리거시켜 이를 개발환경에서 실시간으로 확인할 수 있도록 만들어 다국어화 작업을 쉽게 진행하고 테스트 할 수 있도록 했고, 시트에서 번역작업을 하는 분들도 적용된걸 확인할 수 있도록 만들었습니다.
어느시점부터는 제가 직접 서버를 다룰 수 없게되고 Devops 개발자가 생겨서 권한이 분리되었는데 Devops 필요작업을 요청을 해도 처리되지 못하는 상황이 많았습니다. 이 때문에 FE 구성원들이 늘어남에도 작업한 내용을 dev서버까지 배포해야만 다른 구성원들에게 공유할 수 있는 문제가 생겼습니다. 이를 해결하기 위해 Devops를 기다리기보다는 Github actions를 이용하서 PR 단위에서 Github Pages에 배포단위별로 구분하여 Preview를 만들 수 있는 방법을 구현하고 PR이 close되면 Preview를 삭제되도록 만들었습니다. 이 때부터는 메인 브랜치에 머지하지 않고도 PR의 미리보기가 가능했습니다. 아마 Devops와 독립적으로 관리했다면 Netlify 같은걸 사용해서 좀 더 쉽게 구현할수는 있었겠지만 대신에 이 한번의 구현으로 별도의 비용없이 PR미리보기를 사용하고있습니다.