
Contact
e-mail mogamogua@icloud.com
linked-in linkedin (opens in a new tab)
github github (opens in a new tab)
디자이너와 개발자 사이의 번역가, 김지수 입니다.
Communication
커뮤니케이션의 중요성을 믿고, 투명하고 유연한 방식으로 협업을 이끄는 개발자입니다. 디자이너와 개발자 양측의 생각을 명확하게 언어화하고, 절충안을 제시하는 역할을 자주 수행합니다. 서로의 의도를 객관적으로 표현하고, 실질적인 해결책을 도출하는 것을 즐깁니다.서비스를 더 좋게 만들기 위해 문제를 정의하고, 근거들을 찾아 해결방안을 모색하는 과정들은 서비스를 만들며 가장 즐거워하는 부분입니다.
Code
명확하고 직관적인 코드를 작성하여, 다른 개발자가 쉽게 이해하고 유지보수할 수 있도록 합니다. 네이밍 규칙을 포함한 역할과 책임에 따른 구조 분리, 그리고 확장 가능한 컴포넌트 설계를 통해 팀의 코드 품질 향상에 기여하는 것을 중요하게 생각합니다.Documentation
어떤 일이든 체계적으로 정리하고 문서화하는 것에 큰 가치를 둡니다.문서를 통해 커뮤니케이션의 명확성을 높이고, 팀원들이 쉽게 이해할 수 있도록 합니다. 기록을 남기고 정리하는 작업은 효율적이고 지속 가능한 개발 환경을 만드는 데 기여한다고 믿습니다.
Culture
팀끼리 성장하고 문화를 만들고 싶어합니다. 입사 후, 프론트엔드 기술 스터디npm install을 개설하여 프로덕트 팀 및 콘텐츠 개발팀과 격주로 TypeScript, React를 주제로 발표했습니다.
24년도부터, 독서 습관을 기르고 감상을 공유하기 위해 팀내 독서 모임책bar를 만들어 운영했습니다. 매달 선정된 주제에 따라 자유롭게 책을 선정하여 각자의 고민과 기록을 나누고 있습니다.- npm install
- 책바 모임 멤버들의 독서를 체계적으로 기록하기 위해 노션으로 독서 기록을 관리하고 있습니다.
Work Experience •
(주)엘리스그룹
Frontend Developer서울특별시 강남구 (2022. 08. ~ 2025. 02.)
Elice Design System Squad
(2023. 4. ~ 2025. 02.)
Storybook MUI React TypeScript
- 엘리스 디자인 시스템(v3)의 maintainer로서, 초기 단계의 디자인 시스템부터 전담하여 개발하고 유지보수해왔습니다.
- EDS의 Storybook 문서의 A to Z를 구현하고, 자체 시스템 컴포넌트에 대한 예제 코드를 작성했습니다.
- 컴포넌트의 책임을 명확히 분리하고, 직관적이며 확장 가능한 네이밍을 고민하며 컴포넌트를 설계하였고,
이를 바탕으로 팀원들이 기여할 수 있는 시스템 API 가이드라인을 작성했습니다.
- 이를 통해 팀원 모두가 기여할 수 있는 디자인 시스템 프로젝트를 만들고 있으며, 모든 작업사항에 대해 코드 리뷰를 진행중입니다.
- MUI 기반의 디자인 시스템을 구축하며 Material-UI 소스코드를 분석하고, 커스텀 스타일을 적용하면서 개선이 필요한 부분을 Issue로 제안했습니다.
- 서비스 전역에서 자주 사용되는 UI 로직과 문제를 해결하기위한 공통된 로직을 hook, hoc로 모아
@elice/mui-utils라이브러리를 만들어 팀원들의 DX를 향상시키려 노력했습니다. - 팀 내 명료하지 않은 디자인 원칙/ 컨벤션이나 웹 접근성, 구현 방식 등 복잡한 의사결정 문제에 주도적으로 참여하고, 문제를 정의하고 적극적으로 의견을 제시합니다.
- 컴포넌트의 색상 커스텀 과정에서 색상 대비가 접근성 기준을 충족하지 못함을 발견하여, 디자이너에게 색상 대비 접근성을 확인해야함을 제안했고, 이를 계기로 디자인팀에서 디자인시스템의 모든 컴포넌트 색상에 대한 접근성을 체크하게 되었습니다.
UX party
(2023. 9. ~ 2023. 12.)
통합검색 기능 UX 개선
Accessibility
- 웹 접근성을 고려하여 기존 마크업을 표준 HTML 구조로 개선했습니다.
- 키보드 내비게이션 방식을 디자이너와 함께 고민하며 다양한 레퍼런스를 분석했고, W3C의 Accordion 및 List 패턴을 참고해 키보드 접근성을 향상시켰습니다.
- 디자인 시스템을 사용하더라도 키보드 접근성을 완벽히 보장하기 어렵다는 점을 깨달았고, 이를 계기로 웹 접근성 가이드라인에 대한 관심이 더욱 깊어졌습니다.
강의실 수동녹화 기능 및 녹화 기록 UX 개선
websocket
- 기존 자동 녹화 기능에 수동 녹화 시작/종료 버튼 및 자동 종료 기능을 추가해 사용자가 직접 녹화를 관리할 수 있도록 개선했습니다.
- 10초 주기로 녹화 파일 상태를 polling하여 대기, 중단, 완료, 실패 등의 상태를 실시간으로 업데이트하고, edge case들을 찾아 디자이너 및 백엔드 개발자와 협력하여 유저에게 명확한 정보를 제공할 수 있도록 고민했습니다.
- 마이크, 웹캠 등의 아이콘 버튼 라벨을 어떻게 작성해야 직관적인 정보 전달이 가능한지 디자이너와 함께 논의하며 UX 개선을 진행했습니다. (관련 블로그 글) (opens in a new tab)
Cloud Party
(2024. 12. ~ 2025. 02.)
- nx 기반 monorepo 구조의 클라우드 앱을 유지보수하며, 서비스 전반에서 반복적으로 사용되는 제품 사양 Spec Card, 시간 당 pricing 등의 UI 로직을
@elice/cloud-components라이브러리에 공용화했습니다. - 4가지 클라우드 서비스에서 공통적으로 사용할 Layout 컴포넌트를 마이그레이션하고, Sticky Footer 및 Side 영역 대응이 용이하도록 유지보수했습니다.
모델 라이브러리 기능 및 ML API UX 개선
- 모델 Card의 반응형 UI 개선을 위해 breakpoint별 스펙을 제안하고, 페어 프로그래밍을 통해 UI를 최적화했습니다.
- 반복적으로 사용되는 Filter UI 패턴을 디자인 시스템 컴포넌트로 도입하고, 리뷰를 통해 팀원의 디자인 시스템 기여를 적극적으로 지원했습니다.
- 책임이 큰 컴포넌트의 재설계 필요성을 제기하고, 설계 단계부터 문서를 작성하여 리뷰를 진행했습니다.
- 컴포넌트의 역할을 적절히 분리하여 구현할 수 있도록 제안하며, 모든 MR(merge request)의 리뷰에 참여했습니다.
LXP Party
국제화를 위한 Intl 개선 및 다국어 지원
react-intl
- 기관별로 플랫폼 내 용어(예: ‘과목’, ‘선생님’ 등)를 커스텀할 수 있도록
react-intl기반의@elice/intl라이브러리 개발 및 유지보수에 참여했습니다. - 지원 언어 확장을 용이하게 하기 위해 서비스 전반에 걸쳐 마이그레이션을 리드했습니다.
- 팀원들이 쉽게 따라올 수 있도록 라이브러리 설명 문서 및 커스텀 언어 적용 스크립트를 작성했습니다.
@elice/intl도입 후, 각 서비스에 흩어져 있던 locale 관련 로직(default locale, fallback 처리 등)을 한 곳에서 통합 관리할 수 있게 되었습니다.
- 글로벌 확장을 위한 태국어 및 일본어 지원을 포함한 국제화 작업을 서비스 전반에 걸쳐 진행했습니다.
학습 툴바 기능
React WebSocket react-draggable
- WebSocket을 활용해 교사 화면을 학생 화면과 실시간 동기화하는 기능을 개발했습니다.
- 동기화 가능 여부 및 대상을 판단하는 복잡한 조건들을 커스텀 훅으로 분리하여 유지보수성과 재사용성을 높였습니다.
- 툴바 내 수업자료 화면 동기화, 조별 활동, 화면 하이라이트, 화이트보드, 타이머 기능을 위한 조건 검증 및 적절한 tooltip 표시 로직을 custom hook으로 통합했습니다.
- 조별 활동 기능을 개선하며 학생 인원수, 수업 공개 여부, 유저 권한 등에 따라 발생하는 다양한 edge case를 정리하고, 이를 디자이너 및 백엔드 개발자와 논의하며 해결했습니다.
Elice KDT 랜딩 페이지 - 지원자 설문 페이지
(2022. 12. ~ 2023. 1.)
react-hook-form Next.js Graphql Data Schema 설계
- 설문 데이터 구조를 JSON 기반으로 설계, 하나의
survey가 여러 개의section을 포함하고,section이 다시 여러 개의question을 포함하는 계층적 구조를 정의했습니다. - 디자이너와 협업하여 9가지 주요 문항 타입(예: 이메일 필드, 주소 필드, 단일/다중 선택 등)을 정리하고, 각 타입별 validation rule 및 추가 기능을 제안했습니다.
- 운영팀이 문항을 쉽게 작성하여 기수 별 설문지를 완성할 수 있도록 문항 타입 및 데이터 구조 설명 문서를 Notion에 정리하여 원활한 커뮤니케이션을 지원했습니다.
Elice KDT 랜딩 페이지
(2022. 08. ~ 2022. 10.)
Contentful Next.js GraphQL
- 운영팀이 손쉽게 랜딩 페이지를 리뉴얼할 수 있도록 Contentful CMS 기반의 랜딩 페이지를 개발했습니다.
- 운영팀의 다양한 요구사항을 반영하기 위해 각 섹션 컴포넌트 구조를 유연하게 설계했습니다.
- MUI를 처음으로 서비스에 도입하여 KDT 전용 theme을 제작하고, 실험적으로 커스텀 스타일을 적용했습니다.
Growth Party
(2024. 07. ~ 2024. 11.)
- Growth 팀에서는 해외 외주 개발자들과의 협업을 중심으로 작업이 진행되었습니다.
- 외주 개발자의 태스크를 매일 관리하며, 진행 중 막히는 부분이나 잘못된 부분을 리뷰하여 목표 달성을 가속화했습니다.
- elice.io에 LXP, Cloud, Test를 시험적으로 사용할 수 있는 Free Trial 기능 추가
- 대규모 브랜딩 캠페인을 위한 제품 및 메인 페이지 개편 리뷰
- CTA 및 Free Trial 관련 이벤트 정의 및 삽입
- Lighthouse 테스트 점수 개선 작업 리뷰
Activities •
기술블로그 운영중 디자인 시스템, UX, 개발 및 트러블슈팅 과정, 개인 회고를 주로 기록 중입니다.
IT 창업 연합동아리, SOPT 29기 WEB 파트
(2021.9. ~ 2022. 1.)
- IT 강의 검색 웹서비스 Grow To (Front-end)
- 기술 스택:
Next.js,TypeScript,Recoil,Styled-components - 강의 검색 결과를 사용자가 더 빠르고 효율적으로 탐색할 수 있도록 디자인팀에 Card UI를 제안하여 UI를 개선했습니다.
- 키보드만으로도 강의를 탐색할 수 있도록 키보드 내비게이션을 고려하여 접근성을 향상했습니다.
- 공통 Button 컴포넌트를 설계하여 중복된 코드 작성을 줄였고, 이를 통해 공용 컴포넌트 설계의 어려움을 처음 경험했습니다.
- 기술 스택:
웹 프로그래밍 동아리, Pirogramming
(활동 기수 2021. 6 ~ 2022. 2, 운영진 2022. 2 ~ 2022. 8)
- 개발자 질문 및 기록 커뮤니티, Diggging (PM, Front-end, Product Design)
- About diggging (opens in a new tab)
- 기술 스택:
Figma,Next.js,Redux,Styled-components,Notion - 개발 도중 겪는 어려움을 기록하고 질문할 수 있는 커뮤니티 및 개인 북마크 기능 등 서비스 전반을 기획했으며, 기획 발표에서 프로토타입을 공유하며 참여하고 싶은 프로젝트 1위를 기록했습니다.
- PM 역할을 수행하며 태스크 우선순위 관리, 일정 조율, 회의 진행 및 기록을 담당했고, Notion (opens in a new tab)을 활용해 팀원들이 각자의 태스크에 집중할 수 있도록 지원했습니다.
- 서비스의 모든 페이지 디자인을 담당하면서 일관성과 효율성을 위해 디자인 시스템의 필요성을 처음 경험했습니다.
- 로그인, 회원가입, 이메일 인증 등 Auth 관련 기능을 개발하며, HTTP status code를 기반으로 오류 메시지를 처리했습니다.
- 16기 운영진(홍보 팀장)
- 웹 개발에 입문하고 싶은 학생들에게 Pirogramming 16기 모집을 알리기 위해 새로운 방식의 홍보물(스토리 이벤트, 졸업 카드 디자인 등)을 기획하고 시도했습니다.
- Pirogramming 16기 홍보 (opens in a new tab)
Skills •
- JavaScript, TypeScript, CSS, HTML
- React, Next.js
- react-query, redux, recoil, zustand
- styled-components, emotion, Material-UI, SCSS
Education •
서울대학교 심리학 전공, 시각디자인 부전공 (2016. 3. ~ 2022. 2.)
교환학생/해외연수
푸단대학(复旦大学, Fudan University), Shanghai – (2019.2 - 2019. 6)
아시아, 유럽, 남미권 학생들과 영어 및 중국어로 소통하며 다양한 문화를 이해할 수 있는 글로벌 역량을 키웠습니다.
난양공과대학교(Nanyang Technological University), Singapore – (2018.6 - 2018. 7)
문화의 Melting Pot이라고 불리는 싱가포르에서 디자인 및 예술 수업을 들었습니다.