미리보기
기본 정보

[1인분 이상 하는 개발자] 기획서 작성부터 풀스택 개발, 그리고 배포까지 모든 과정을 진행해본 경험이 있습니다. 이러한 경험을 토대로 다양한 이해관계자와의 협업 및 커뮤니케이션 능력이 향상되었다고 생각합니다. 현재 주로 사용하는 언어는 TypeScript 지만, 새로운 언어나 기술도 빠르게 습득하여 적용할 자신이 있습니다. 가독성 좋은 코드와 확장성 있는 서버 설계를 중요하게 생각하며, 레거시 코드 리팩토링 및 최적화 경험도 보유하고 있습니다. 또한, 코드 리뷰와 문서화를 통해 동료와 원활히 소통하는 것을 선호합니다. 단순히 개발을 넘어, 문제를 정의하고 해결하는 과정까지 깊이 고민하며, 비즈니스와 기술을 연결하는 개발자가 되고자 합니다.
기술 스택
Node.js, AWS, Elasticsearch, TypeScript, NestJS, React, Vue.js
경력
주식회사 무신사
팀원 | 플랫폼개발팀
2021.11. ~ 2024.03. (2년 5개월)
1. 신사업 검색서비스 아키텍처 설계 및 API 개발
사용기술
TypeScript(NestJS), AWS(OpenSearch, RDS, DMS, S3, Glue, Athena, Lambda)
진행작업
검색엔진 세팅: 데이터 모델링, AWS OpenSearch 세팅
인덱싱 프로세스 구축
검색 API 개발: Logger Interceptor 개발, 키워드 자동완성 구축, 상품/브랜드 랭킹 구축
2. 데이터 싱크 프로세스 구축
사용기술
AWS(Lambda, SNS, SQS)
진행작업
AWS SNS Publish 용 Custom Decorator & Interceptor 개발
서비스 별 AWS SQS 생성 및 AWS SNS 구독 세팅
결과/성과
서비스의 CPU 감소
3. 이미지/비디오/파일 API 개발
사용기술
TypeScript(NestJS), AWS(Lambda, CloudFront)
진행작업
이미지 리사이저 개발: sharp 라이브러리 이용
비디오 리사이저 개발: fluent-ffmpeg 라이브러리 이용
4. ERP 재고 연동
사용기술
TypeScript(NestJS), Kafka
주식회사 인티그레이션
팀원 | 개발팀
2020.10. ~ 2021.11. (1년 2개월)
1. 상품 API 개발
사용기술
Node.js, AWS(DynamoDB, EventBridge, Lambda)
진행작업
기존 상품 데이터를 상품과 품목으로 나누기 위해 데이터 모델링 작업 진행
상품/품목 API 개발
2. 출고 및 배송추적 프로세스 구축
사용기술
Node.js, AWS(SQS, Lambda)
진행작업
Event Driven Architecture 세팅
3. 풀스택 개발
사용기술
Node.js, Vue.js
진행작업
파트너스 페이지 개발
(주)와이즈넛
팀원 | 소셜플랫폼팀
2018.03. ~ 2020.10. (2년 8개월)
1. 웹사이트 크롤링
사용기술
Node.js, ElasticSearch, AWS(EC2, SQS, S3), Cassandra
진행작업
소셜 데이터 수집
수집 데이터 중 빈도수가 높은 문장을 추출 후 감정 분석
진행 프로젝트
국세청, 이노션, 제주테크노파크, 데이터바우처, LH, 건강보험공단 등
결과/성과
레거시 코드 리팩토링을 통한 데이터 제공 시간 단축(7일->3일)
회사 자체 솔루션을 Node.js 로 만든 수집기로 대체하여 수집량 2배 이상 증가
2. 웹사이트 유지보수
사용기술
JAVA(Spring Framework)
진행작업
소셜 빅데이터 분석 서비스 제공하는 웹사이트 유지보수
프로젝트
검색서비스 고도화
주식회사 무신사
2023.01. ~ 2023.12.
사용기술
TypeScript(NestJS), ElasticSearch
진행작업
검색엔진 교체: AWS OpenSearch -> ElasticSearch
검색쿼리 튜닝: aggregation 쿼리, 카테고리 별 boost 쿼리, 검색 쿼리 세분화 및 스코어
캐싱: ElasticSearch query cache, Redis 사용
검색 로그 분석: 인기 검색어, 실패 검색어 파악
결과/성과
검색 response time 감소
검색 키워드와 더 유사한 상품 노출을 통한 고객 경험 개선
No Result 페이지 감소를 통한 고객 경험 개선
업무 개선
주식회사 인티그레이션
2020.10. ~ 2021.11.
1. CI/CD 프로세스 구축
2020.12~2021.01
사용기술
Docker, AWS(ECR, ECS, CodeDeploy)
진행작업
pm2로 관리되고 있던 서비스를 모두 Dockerizing
결과/성과
손쉬운 서비스 배포 가능
Blue/Green 배포를 통한 안정적인 서비스 제공
2. 검색서비스 개선(ElasticSearch 도입)
2020.12~2021.02
사용기술
Node.js, Docker, ElasticSearch, Logstash, Kibana, Filebeat
진행작업
검색엔진 도입: mongoDB -> ELK 스택 도입
로그 모니터링 시스템 구축
결과/성과
검색 response time 감소
로그 추적을 통한 이슈 해결 시간 단축
3. AWS 리소스 모니터링 및 알림 세팅
2021.06~2021.06
사용기술
Node.js, AWS(CloudWatch, SNS, Lambda)
진행작업
AWS 리소스 CloudWatch 경보 세팅
경보 발생시 슬랙으로 메시지 전송
결과/성과
대용량 트래픽 발생시에도 안정적인 서비스 제공
4. 이미지 리사이저 도입
2020.11~2020.11
사용기술
Node.js, AWS(Lambda, CloudFront)
진행작업
sharp 라이브러리 이용
Lambda@Edge 세팅
결과/성과
웹 성능 최적화
CDN을 통한 이미지 로딩 속도 개선
업무 개선
(주)와이즈넛
2019.06. ~ 2020.02.
1. 머신러닝 코드 리팩토링
2019.06~2019.09
사용기술
Python
개발업무
머신러닝 학습 및 실무 적용: 구글링과 온라인 강의를 통해 머신러닝 기본 개념과 알고리즘을 학습한 후, 타사의 감정분석 솔루션 코드를 분석 및 리팩토링
TextRank를 이용하여 문장 요약
konlpy를 이용하여 형태소 분석
텐서플로우 CNN 기법을 이용하여 머신러닝 코드 개선
결과/성과
솔루션 성능 개선: 데이터 전처리 및 모델 최적화를 통해 솔루션의 감정분석 정확도 약 10% 향상
프로젝트 계약기간 연장
2. 수집데이터 검증 사이트 제작
2019.09~2020.02
사용기술
TypeScript, React
개발업무
기획서 작성, 요건정의서 작성, DB 설계, 화면정의서 작성, 풀스택 개발
결과/성과
모니터링 업무 시간 단축
협업 및 커뮤니케이션 역량 강화: 기획 단계부터 개발까지 전 과정을 경험하며 팀 간 협업 프로세스 최적화, 기획자와의 의견 조율 및 프론트엔드 개발자와의 기술적 소통 능력 향상
포트폴리오
교육
koitt
사설 교육 | JAVA 개발자
2017.09. ~ 2018.03. | 졸업
자격증
정보처리기사
단일 | 한국산업인력공단
2018.05.
자기소개
안녕하세요. 개발자 김호연입니다.
가독성 좋은 코드, 확장성 있는 서버 설계, 안정적이고 효율적인 시스템 운영이 가능한 개발을 하기 위해 노력합니다.
개발자로 일하면서 수행한 업무를 요약하자면 아래와 같습니다.
Node.js(Express) 및 TypeScript(NestJS) 기반의 API 서버 구축
Docker 및 AWS(ECR, ECS)를 활용한 무중단 배포 파이프라인 구축
ElasticSearch 기반의 검색 서비스 도입 및 최적화
웹페이지 크롤링 자동화 (puppeteer 활용)
프론트엔드 개발 경험 (Vue.js, React)
저의 강점은:
타인의 코드를 잘 분석합니다.
Node.js, JAVA, Python 등 다양한 언어로 작성된 레거시 코드를 리팩토링한 경험이 있습니다.
단순히 제 스타일대로 코드를 작성하는 것이 아니라, 기존의 코드 스타일을 파악하고 이를 최대한 유지하면서도 개선할 부분이 있다면 코드 리뷰를 통해 적극적으로 의견을 제시합니다.빠른 의사소통을 위해 노력합니다.
새로운 이슈가 발생했을 때는 Confluence나 Notion 같은 협업 툴에서 먼저 관련 정보를 찾아보고, 이를 정리한 후 담당자에게 공유하여 질문을 드립니다.
이를 통해 불필요한 반복 질문을 줄이고, 효율적인 문제 해결이 가능합니다.
팀과 함께 성장하고, 사용자에게 실질적인 가치를 제공할 수 있는 개발자가 되겠습니다.
협업을 통해 더 나은 해결책을 제시하고, 꾸준한 학습을 통해 최신 기술을 습득하여 성능과 확장성을 고려한 시스템을 설계하여 더 나은 사용자 경험을 제공함으로써,
팀과 함께 비즈니스 가치를 극대화하는데 기여할 수 있도록 노력하겠습니다. 감사합니다.