미리보기
기본 정보
"다양한 경험으로 넓은 시야와 끝없는 배움에 대한 열정을 가진 백엔드 개발자입니다." 전자공학을 전공한 공학도로서 why보다는 how에 집중하는 엔지니어링 마인드셋을 갖추고 있으며, 이를 통해 백엔드 개발자로서 깊이 있는 통찰력과 전문성을 발휘하고 있으며 기술적 도전 과제를 해결하는 데 주력하고 있습니다. 스타트업에서 다양한 역할을 수행하며 빠르게 변화하는 환경 속에서 도전 정신과 문제 해결 능력을 키웠습니다. 고객과 시장의 니즈를 이해하고 데이터를 활용해 가치를 창출하는 방법을 익혔으며, 이를 바탕으로 실질적인 성과를 만들어냈습니다. 새로운 기술과 지식을 배우고 이를 적극적으로 실천하는 도전적인 성향을 지녔으며, 다양한 경험에서 얻은 폭넓은 시각으로 복잡한 문제를 단순하고 명확하게 해결하는 것을 목표로 합니다.
기술 스택
JavaScript, TypeScript, NestJS, PostgreSQL, Redis, TypeORM, AWS, Kubernetes, Google Cloud Platform, Docker, GitHub, Confluence, JIRA, MSA
경력
주식회사메타에스앤씨
팀원 | IT운용본부 개발팀 | 재직 중
2021.12. ~ 재직 중 (3년 1개월)
- 병원 CRM 개발 리드 및 NestJS 백엔드 구현 주도
- PostgreSQL 데이터베이스 설계 및 관리
- GCP, AWS 클라우드를 사용한 웹 플랫폼 개발 및 CI/CD 파이프라인 구축/관리
- EKS와 Redash를 이용한 데이터분석환경 구축 및 ETL batch 개발
(주)야놀자
매니저 | 비즈니스그룹 BA팀
2019.10. ~ 2021.11. (2년 2개월)
- Apps Script (VanillaJS), VueJS 기반 영업일지 개발 및 영업 생산성분석, 효율방안 제안
- Incentive 예산을 위한 Profit Share 검증 및 incentive scheme 기획
- GWS를 이용한 업무 자동화 도구 개발 및 광고 성과 모니터링 툴 개발 및 유지보수
- SQL을 통한 모텔, 펜션 데이터 분석을 통한 프로모션 제안
우아한형제들
팀장 | 비즈니스그룹 대구경북팀
2015.11. ~ 2019.10. (4년)
- 신규 고객 발굴 및 기존 고객과의 관계 강화로 매출 성장 촉진
- 신규 서비스 런칭을 통해 시장의 경쟁 우위 확보
- 영업 인프라 최적화로 업무 효율성 및 성과 극대화달성
- 성과 지향적 영업 전략 개발 및 실행으로 매출 증대 유도
프로젝트
1:1 개인&그룹 트레이닝 예약 앱 Backend 및 프로젝트 리드
사이드프로젝트
2024.05. ~ 진행 중
프로젝트 설명
트레이너의 회원 스케줄을 관리하기 위해 1:1 및 그룹 트레이닝 예약 앱 개발
트레이너가 수기로 관리하는 비효율적인 스케줄링을 시스템화하여, 예약과 소통을 간편하게 하고 운영 효율과 사용자 만족도를 높이고자 함
Monorepo 및 MSA (Microservice Architecture) 설계
서비스 간의 독립성, 공용성을 위해 Monorepo 구조를 채택하여 모듈화된 코드 작성
내부 마이크로 서비스로 gRPC와 RabbitMQ를 활용한 비동기 통신으로 서비스 간의 통신 최적화 및 확장성 확보
캐싱 및 ORM 유연성/일관성 강화
Cache Decorator 개발하여 HTTP 요청에 대한 캐싱 전략 수립
(GET: cache set or get, POST: cache delete)QueryRunner Decorator 개발을 통해 Repository의 유연성을 확보하며 일관된 QueryRunner를 사용하여 transaction 관리
이미지 처리 및 업로드 기능 최적화
이미지 변환을 위한 Sharp.JS 사용하여 WebP 포맷 변환 및 효율적인 이미지 처리
Wasabi Storage와 연동하여 Signed URI 방식으로 안전하게 접근 제어 기능 구현
AWS 기반 DevOps 환경 구성
Docker Compose를 활용하여 MSA 환경에서 컨테이너 관리 및 배포
CI/CD → AWS CodePipeline, CodeBuild, CodeDeploy를 활용하여 배포
리소스 모니터링 및 사용자의 피드백을 반영하여 AWS 자원 스펙업 또는 EKS로 변경
성형외과 웹 플랫폼과 통합 관리자 웹 페이지 Backend 및 Database 개발
주식회사메타에스앤씨
2024.04. ~ 2024.06.
NestJS를 사용한 REST API 설계 및 개발
NestJS의 모듈성과 데코레이터 기반 구조를 활용해 확장 가능한 REST API를 설계
RBAC를 이용한 계정 권한 관리 레벨 분리
Passport와 JWT Token의 RSA 인증을 통한 토큰 설계 및 토큰 갱신 전략 수립
PostgreSQL과 TypoORM을 활용한 데이터베이스 설계
정규형/비정규형 데이터 분리 및 설계
Node의 CryptoJS와 PostgreSQL의 pgcrypto를 활용한 개인정보 AES 양방향 암호화
이미지 포맷 변환 및 AWS S3 저장 개발
AWS S3의 ACL을 사용한 액세스 제어
비공개 이미지의 경우 스트림 API 개발
병원 데이터 분석을 위한 EKS 환경에서 Redash를 사용한 데이터 분석 환경 구축
주식회사메타에스앤씨
2024.02. ~ 진행 중
데이터 분석 환경 분산처리를 위한 Redash Helm Chart 배포
보안을 위하여 Private VPC 이용하여 RDS 연결을 위한 External Service설정
Ingress와 External DNS를 이용한 로드 밸런스 및 DNS 설정
리소스 사용량에 따른 HPA 설정
타사 CRM을 사용하는 병원을 위한 ETL batch 개발
타사 CRM의 데이터 적재를 위해 API 연동 batch 개발
데이터 정합성 확보를 위한 변환 및 매칭 batch 개발
Redash 쿼리 데이터 → Google Sheet 자동 이전 batch 개발
GCP → AWS CRM서비스 이전
주식회사메타에스앤씨
2024.01. ~ 2024.02.
AWS 인프라 구축
Cloud Build의 구조를 AWS Code Pipeline으로 이전하여 CI/CD 구축
Round Robin 방식의 로드 밸런서 구성 및 EC2 그룹을 만들어 오토 스케일 설정
Cloud Domain에서 Router53으로 도메인 이전
Docker와 Shell Script를 통한 블루/그린 무중단 배포 개발
App Engine의 무중단 배포 방식을 모방하여 Blue/Green 배포 구현
Cloud SQL → AWS RDS 데이터 마이그레이션
한의원 CRM 개발, 서비스 후 버그 수정 및 추가 기능 개발
리팅랩스
2022.08. ~ 진행 중
성형외과 CRM을 기반으로 한의원에 맞는 CRM 개발
NestJS, VueJS, PostgreSQL, GCP를 사용하여 개발
성형외과 시스템을 기반으로 한약 배송 및 한약 처방 시스템 개발
기존 ExpressJS를 NestJS로 변경
Authentication, Authorization을 NestJS Guard로 변경하여 보안 기능 강화
기능별로 OPP 설계하여 모듈 캡슐화
한의원과 탕약방의 연계를 위한 서비스 개발
한약 처방과 연계된 탕약방의 제조/관리 시스템 개발
기존 타 시스템 데이터를 CRM에 맞게 ETL
성형외과 CRM 개발, 서비스 후 버그 수정 및 추가 기능 개발
리팅랩스
2022.03. ~ 진행 중
CRM 개발의 전체 주기(Full Cycle) 리드 및 팀 빌딩
ExpressJS, VueJS, PostgreSQL, GCP를 사용하여 개발
기획, 디자인, 개발, 운영까지 총괄 리드
단말기 결제 시스템 개발
나이스정보통신의 단말기 코드를 비동기로 변경/개발
결제 데이터 무결성 강화를 위한 트랜잭션 처리 개선
고객 정보와 이동, 시수술 재고를 파악할 수 있는 CRM 개발
각 부서별로 고객 플로우를 분류하여 데이터베이스 설계
Node의 CryptoJS와 PostgreSQL의 pgcrypto를 이용한 고객 개인정보 AES 양방향 암호화
실시간 데이터를 위한 PostgreSQL 함수, 트리거 및 SSE 개발
시수술 재고 파악을 위한 원재료 및 사용의 동기화 시스템 개발
JWT Token을 사용한 액세스 제어와 기능에 맞는 RBAC
JWT Token을 사용하여 로그인 후 사용자 인증
도메인 단위로 API를 제작하여 비즈니스를 기반으로 한 권한 부여 개발
실무자 교육 기획 및 테스트 진행으로 빠른 버그 수정과 추가 기능 개발
교육 자료 기획 및 실무자 테스트 진행
추가 개발 사항 2주 단위의 스프린트로 대응
영업일지 개발 및 생산성 분석
야놀자
2021.05. ~ 2021.11.
Fullstack으로 독립적인 프로젝트 진행
Apps Script (VanillaJS) 와 Vue.JS를 사용하여 영업일지 웹 애플리케이션 개발
Google Visualization API Query를 사용한 데이터베이스 설계 및 활용
영업일지 데이터를 활용한 영업 효율성 향상 제안
데이터 시각화를 통해 영업 활동의 효율성을 분석
데이터를 기반으로 한 인사이트 제공 및 개선 방안 제안
GWS를 이용한 업무 자동화 도구 개발 및 광고 성과 모니터링 툴 개발
야놀자
2020.03. ~ 2021.11.
Google Workspace를 활용한 업무 자동화 도구 개발
반복적인 업무를 자동화하여 효율성 극대화
Google Sheets 및 Google Apps Script를 활용한 데이터 처리 자동화
광고 성과 모니터링 툴 개발
광고 데이터의 실시간 모니터링 및 분석 툴 개발
데이터 시각화를 통해 광고 성과를 한눈에 파악 가능하게 함
SQL을 통한 모텔, 펜션 데이터 분석을 통한 프로모션 제안
야놀자
2019.12. ~ 2021.11.
SQL을 사용하여 모텔, 펜션 데이터 분석
고객 예약 및 이용 데이터를 분석하여 트렌드 파악
데이터 기반의 프로모션 제안 및 효과 예측
데이터 시각화를 통해 결과를 이해하기 쉽게 제공
Google Visualization API를 사용하여 시각적 인사이트 제공
데이터 분석 결과를 기반으로 한 마케팅 전략 수립
포트폴리오
교육
세종대
대학교(학사) | 전자공학과
2003.03. ~ 2011.08. | 졸업
건국대학교 사범대학 부속고등학교
고등학교 | 이공계
2020.03. ~ 2023.02. | 졸업
자격증
CKA(Certified Kubernetes Administrator)
88 | The Linux Foundation
2024.05.
자기소개
기술적 역량과 경험
TypeScript와 NestJS를 사용하여 안정적이고 유지보수 가능한 백엔드 시스템을 구축해왔으며, PostgreSQL 데이터베이스 설계 및 최적화 경험이 풍부합니다. 또한 Docker와 AWS 기반의 자동화된 배포 환경을 구축하여 확장성이 높은 인프라를 설계한 경험도 있습니다. GCP와 AWS 클라우드를 활용한 CI/CD 파이프라인 구축 및 관리 경험을 통해 효율적인 개발 환경을 조성하였으며, Redash를 이용한 데이터 분석 환경 구축 및 ETL batch 개발에도 참여했습니다.
특히 병원 CRM 시스템 개발 리드로서, NestJS 기반의 REST API 설계 및 PostgreSQL 데이터베이스 관리, AWS S3를 이용한 이미지 관리 시스템 등을 성공적으로 구현하였습니다. 또한 ExpressJS에서 NestJS로 전환하여 더 강력한 아키텍처와 타입 안정성을 제공하는 시스템으로 개선한 경험이 있습니다.
배움에 대한 열정과 빠른 습득력
새로운 지식을 배우는 과정에서 큰 즐거움을 느끼고 빠르게 습득할 수 있는 학습 능력을 가지고 있습니다. 이를 통해 빠르게 성장할 수 있는 학습 열정을 저의 가장 큰 자산으로 생각합니다. 개발을 독학으로 시작해 대부분의 지식을 스스로 습득했으며, 2024년에는 CKA 자격증을 취득하여 전문성을 높였습니다. 또한 기존 CRM에서 사용한 ExpressJS는 자유도가 높았지만 유지 보수가 어려웠기 때문에, 새로운 CRM 구축 시 더 강력한 아키텍처와 타입 안정성을 제공하는 NestJS로 전환하였습니다. 러닝 커브가 높은 NestJS를 짧은 시간 내에 익혀 프로젝트에 성공적으로 적용할 수 있었던 것도 빠른 학습력 덕분입니다. 이러한 학습 열정과 신속한 습득력을 바탕으로 조직의 경쟁력 강화에 기여하고자 합니다.
업무와 기술을 배우고 탐구하는 과정에 큰 열정을 가지고 있기에, 새로운 업무를 익히는 일이 무척 기대됩니다. 이를 빠르게 습득하여 조직의 성장에 기여하고 싶습니다.
문제해결능력과 협업능력
복잡한 문제를 해결하는 과정에서 시행착오를 두려워하지 않으며, 이를 지속적으로 개선해 나가는 것을 중요하게 생각합니다. 병원 CRM 시스템 구축 프로젝트에서 다양한 부서의 요구사항을 조율하며, 고객 정보 관리 및 실시간 데이터 처리를 위한 최적의 솔루션을 도출하였습니다. 또한 다양한 CRM 데이터를 분석하고 이를 기반으로 ETL batch를 개발하여 데이터 정합성을 확보하는 데 기여했습니다.
Confluence와 Jira 등 협업 도구를 적극적으로 활용하여 팀원들과 원활하게 소통하며 프로젝트를 진행해왔습니다. 다양한 부서와 협업하며 비즈니스 니즈를 기술적으로 구현하는 데 강점을 가지고 있습니다.
함께 성장하고 새로운 도전을 추구합니다
여러 분야에서의 업무 경험은 문제 해결 접근법을 다각화하는 데 큰 도움이 되었습니다. 과제가 주어졌을 때 즉각 가설을 수립하고 검토, 실행하여 검증하며 피드백을 반영해 해결책을 개선해 나가는 과정을 중요하게 여깁니다. 과정에서의 시행착오와 오류 수정은 필연적인 부분이며 이러한 과정은 좋은 결과로 이어질 수 있다고 생각합니다. 잘못된 과정이라도 이를 지속적으로 개선하여 결국 성공적인 결과로 이어지게 하는 것이 저의 접근 방식입니다. 이러한 문제 해결 접근법은 다양한 경험에 기반한 것이며 이를 통해 효율적인 솔루션을 도출할 수 있었습니다.
지금까지 다양한 경험과 학습을 통해 스스로 성장해 왔지만, 앞으로는 함께 배우고 성장할 수 있는 환경에서 일하고 싶습니다. 제 학습 열정과 빠른 습득력을 최대한 발휘하고 기술적으로 성장하며, 회사와 함께 더 큰 성과를 만들어 내는 데 기여하고 싶습니다.