안녕하세요
박경은입니다.
Software Engineer 직업에 대한 Pride를 가지고 있습니다.
이 직업을 사랑하고 즐기며 Engineer로써 부끄럽지 않은 모습을 유지하기 위해 루틴을 만들어 노력합니다.
기억을 데이터화하여 관리합니다.
이러한 제 지식 관리 방법을 개인지식관리(PKM)에 정리해 놓았습니다.
시스템을 이해하고 개선할 때 해피 포인트를 느낍니다.
더 나은 사용자 경험, 코드 구조, 문화 등 긍정적인 변화의 임팩트에 행복해합니다.
2023-01-06 부터 현역 산업기능요원으로 복무 중이며 기초군사훈련 이수를 완료했습니다.
Work Experience
삼정데이타서비스
2020-02 ~ 현재
9명 규모의 애자일 조직
엔지니어가 제품을 온전히 소유하여 설계/개발/테스트/배포/운영하는 DevOps 문화를 가짐
나눔셈 모던화 프로젝트
2022-07 ~ 2023-07
비영리회계 ERP 제품의 퍼포먼스 이슈를 해결 위한 모던 스택으로 재개발 프로젝트
- 메인 엔지니어로써 필요한
PoC
, 샘플 코드 제공, 코드 리뷰 진행 - 제품 형태가
Open API
가 필요하지 않아tRPC
를 주도적으로 도입하여 개발 생산성 향상 CI
과정에서 빈번한 타입 에러 발생으로Husky
등 정적 도구를 도입하여 코드 품질과 코드 리뷰어 환경 개선 (관련 글)Next.js
로 full-stack 개발 과정에서 레이어 분리의 필요성을 느끼고레이어드 아키텍처
도입- 회계 도메인 지식을 이해하고 기능 구현
- 기존 사용성을 고려하여 더 모던한 사용자 경험을 제공할 수 있도록
UI/UX
디자인
메일나라 프로모션 사이트 개편
2022-05 ~ 2022-09
기존 프로모션 사이트의 기능 변경을 최소화한 상태로 모던 스택으로 전환 프로젝트
- 반복된 Prop Drilling 부분을
TanStack Query
의 prefetchQuery를 사용하여 유지 보수 개선 SSR
을 통해CSS
를 가공하여FOUC
를 방지하고, 필요한 데이터는 미리 확보하도록 개발MUI
컴포넌트 라이브러리를 기존 사이트의 룩앤필에 맞게 커스텀 하여UI/UX
구축- 전체적인 레이아웃을 잡고 재사용 가능한 컴포넌트(Molecule) 개발
Azure Pipelines
을 사용하여Azure App Service
로 배포하는CI/CD
구축
현대백화점
2021-07 ~ 2022-01
M365의 아쉬운 기능을 해결하기 위해 보안 파일 뷰어, 조직도, 등 Third Party 개발 프로젝트
- 클릭 시 Blocking
UX
를 Skeleton UI, ProgressBar를 이용해 Non-BlockingUX
로 대폭 개선 (포트폴리오에 개선 영상 존재) - 페이지 간 상태 공유를 위해
Recoil
을 주도적으로 도입하여<Suspense>
와 사용해 복잡한 로딩 상태 제거 - 파편화된 Query String 조회 코드를
단일 책임 원칙
을 지키도록 Custom Hook 개발 - 여러 엔지니어가 거쳐 비일관적인 구조를 해당 프로젝트에서 진행된
React
제품들과 일관성 있게 리팩터링하여 후임 엔지니어의 유지 보수성 향상 - 조직도의 하이어라키 구조를 위해
Desktop
에서는 Tree 형태로,Mobile
에서는 List 형태의UI
개발 - 사용자 사진 동기화를 위해
ASP.NET Core
의TimedHostedService
로 백그라운드에서 수행되는 동기화 코드 개발 - 사용자 사진 동기화가 주기적이지 않아 조회 후 일정 시간은 캐시하도록
HTTP
캐시 설계
대용량 파일 첨부
2021-01 ~ 2023-08
MAU
약 380명 서비스, OneDrive에 업로된 파일을 메일 본문에 손쉽게 삽입할 수 있는 기능 제공
- 파일 한 개만 업로드되던 기능을 멀티로 업로드할 수 있도록 기능 개선
- Outlook Client Program 구 버전으로 실행 시
IE
으로 렌더링 되어 크로스 브라우징 대응 - 잘못된 방향으로 흘러간 제품의 구조를 바로잡기 위해
앱 모니터링
을 통해 사용자의 앱 사용 데이터를 분석하고, 이를 기반으로PO
와 협의하여 수정 방향을 결정하고 개선 작업 - Dashboard를 만들어 서비스 모니터링
Project
parkgang.github.io
2020-08 ~ 현재
직접 개발하고 운영하는 개인 블로그
- 나만의
아이덴티티
를 살릴 수 있도록UI/UX
고심하여 디자인 (관련 글) - Docusaurus Swizzling를 통해 레이아웃 및 기능 커스텀 마이징
- 동일 페이지, 다중 URL의 SEO 처리 방식 등 이해하고
SEO
최적화 - 제품 운용을 위한 분석 도구 통합 및 연결
Belf
2021-03 ~ 2021-12
대학교 졸업 과제로 진행된 사용자의 코스를 공유하는 Todo 서비스
총 4명으로 진행되었으며 졸업작품 전시회에서 최우수작 수상
MSA
의 각 서비스가 사용될 수 있도록 인증 서버인 oauth-server 개발MSA
의 각각의 서비스가 어떻게 정의하여 사용할지 설계k8s
환경,GitHub
정책 등 팀원들이 개발에만 집중할 수 있도록 워크플로우 구축k8s
으로 MySQL Replication 구성
Other Experience
Open Source
- PR: trpc
tRPC
와iron-session
함께 사용할 수 있도록 예제 추가
- Repo: react-with-gin-boilerplate
Gin Web Framework
와 함께React
를 편리하게 개발할 수 있는boilerplate
공유- 관련 글: Gin과 함께하는 React boilerplate를 공유합니다
- PR: reactjs/ko.react.dev
- 알 수 없는 특수문자가 있어 문서 수정
- PR: JaeYeopHan/gatsby-starter-bee
robots.txt
플러그인의 업데이트 방법이 문서에 기재되어 있지 않아 보강
Popular Article
대외 활동
모바일로보틱스
강사- 고등학교 당시
기능반
활동 경험으로 강사로 활동 - 모바일로보틱스란,
C언어
로 임베디드 프로그래밍을 통해 로봇을 제어하는 종목이며 미션을 해결하기 위하여 알고리즘을 설계하고 프로그래밍을 하는 것이 주된 활동 - 로봇 이동을 위해
DFS
,BFS
,A*
,등고선 알고리즘
등 알고리즘을 사용하여 미션 해결
- 고등학교 당시
Certificated
- 정보처리기사
- AZ-900: Microsoft Azure Fundamentals
Education
한국공학대학교
2019-03 ~ 2022-02
공학사 졸업
학점: 4.18/4.5