Contact.
Email: [email protected]
Phone: 010-4140-6734
Article.
Tech Blog: https://saengmotmi.netlify.app
Github: https://github.com/saengmotmi
Linkedin: www.linkedin.com/in/jong-taek-oh-8b29901a7
Introduce.
명함 기반 종합 비즈니스 플랫폼 리멤버에서 현재 헤드헌팅 크루 소속으로 채용 도메인 관련 프론트엔드 개발을 맡고 있습니다. 비즈니스 임팩트를 내기 위해 동료들에게 필요한 인터널 제품을 만들기도 했습니다. 매월 사내 엔지니어 분들을 대상으로 진행하는 테크톡의 운영진 활동을 2022년 부터 이어오고 있습니다.
위코드 코딩 부트캠프에서 개발자 커리어를 시작했습니다. 2020년 6월 합류해 프론트엔드 파트 Core Mentor(팀장) 역할을 수행했습니다. 멘토링과 사내 개발 업무를 병행하다 2021년 7월부터 프론트엔드 팀 매니징 업무를 담당했습니다. 이 때의 경험을 살려 종종 개발 / 멘토링 관련 강의를 하거나, 200여명 규모의 개발자 커뮤니티를 만들고 운영하며 주기적으로 오프라인 행사를 개최하는 등 ‘함께 자라기’를 실천하며 나아가고 있습니다.
끊임 없이 공부합니다. 다양한 경로에서 얻은 지식을 전파하여, 조직과 제품에 변화를 일으키기 위해 노력합니다. 단지 새로움만을 추구하기보단 이로 인해 우리의 삶이 얼마나 나아졌는지를 가장 중요하게 생각합니다. 그렇게 할 수 있는 방법이 있다면 언제든지 눈을 반짝이며 답을 구하고자 합니다.
Work Experience.
Remember (Drama & Company)
450만명이 사용하는 명함 기반 종합 비즈니스 플랫폼
Frontend Developer (2022.02 ~ ) - React, Next.js, Styled Components, React Query
- 인재검색 등 리멤버 채용 도메인 제품(인재검색, 헤드헌팅) 개발
- 기존 헤드헌팅 업의 비효율을 제거하기 위한 헤드헌터 특화 프로젝트 관리 및 검색 제품의 0 to 1 부터 맡아 개발함. 이 제품의 성과를 인정받아 해당 제품 팀이 2024년 연말 전사 시상식에서 수상하였음.
- SOLID, IoC 등 원칙과 컴파운드 컴포넌트 패턴, 전략 패턴 등 좋은 설계에 대한 고민을 기반으로 코드 베이스의 복잡도를 적정 수준으로 관리하기 위해 노력함 (블로그 1, 블로그 2)
- FSD 패턴(공식문서) 기반의 폴더 구조 및 린트 룰 도입으로 각 요소의 책임에 따라 레이어를 나누고, 모듈 간 의존 관계를 단방향으로 제약함. 이를 기반으로 각 기능을 블록처럼 조립 가능한 형태로 관리함.
- 문장을 파싱하여 Boolean 연산을 위한 커스텀 한 문법 규칙(DSL)에 맞도록 변환하는 기능을 채용 제품에 적용. 유닛 테스트를 기반으로 코어 로직을 작성 후 React와 바인딩 하는 방식으로 개발함.
- UI 기반의 쿼리 빌더를 사내 시스템으로 개발
- 트리 형태의 UI 요소로 AND, OR, NOT 논리연산 및 유저정보에 대한 조건 필터를 조합하여 Elastic Search Query 형태로 변환, 검색하는 검색 제품(블로그)을 개발함.
- 이를 기반으로 문자, 이메일, 앱 푸시, 광고 등의 영역의 운영 효율화를 위한 파생 기능 또한 개발함.
- 개발 생산성 향상을 위한 작업
- 코드 제네레이터(ex. 불리언 문법을 포함한 DSL 자동생성을 위한 Antlr, OpenAPI 기반의 타입생성을 위한 orval)를 팀 내 최초로 도입, 조직 내 확산시킴. 스크립트를 통한 자동화를 포함하여 개발 기간 및 코드 유지보수 비용을 크게 감소시킴.
- Yarn classic → Yarn berry 업그레이드 작업을 진행함(리멤버 개발 블로그). Zero Install을 기반으로 의존성 설치를 생략하였고, Github Action 기반 정적 배포 프로세스(1분 소요)를 구축함.
- JSX 기반 PDF, DOCX 렌더링 로직을 클라이언트에서 전용 서버 API로 분리
- Hono, tsx, react-pdf, zod 기반의 렌더링 서버를 ECS로 배포함.
- react-pdf 기반의 PDF 생성 로직이 클라이언트 번들에 포함되어 있어 번들 사이즈가 과도하게 잡히거나, 렌더링 도중 Font 다운로드가 되지 않거나 접속 환경 문제로 인해 PDF 다운로드에 실패하는 등의 문제가 빈발함.
- 이를 보다 안정적으로 처리하며, 또한 클라이언트 번들 축소 및 여러 프론트엔드 제품에 흩어진 로직을 단일 지점에 모으기 위해 별도의 서버로 분리함. 이 과정에서 성능 테스트 및 메모리 누수 관련 문제를 해결.
- 프론트엔드 팀 빌딩 경험
- 팀 리더십 부재 상황에서 22년도 4월 말 ~ 12월까지 이력서 검토 및 기술 면접을 주도, 5명 → 10명 TO 달성함(블로그). 또한 채용 목적의 홍보 컨텐츠(블로그) 제작에도 기여함.
- 팀 역량 향상을 위한 코드 리뷰 및 지식공유 세션(React, Next.js 내부 동작 및 최신 스펙에 대한 탐구 등)을 진행함(블로그).
WECODE
국내 최대 오프라인 코딩 부트캠프 스타트업