미리보기
기본 정보

- 3년차 백엔드 개발자 박현태 입니다. - 주어진 과제를 해결하며 기존의 문제도 함께 풀어가는 것을 좋아합니다. - 데이터베이스 부하를 줄이기 위해 CQRS패턴을 적용했고 약 30% 이상 속도를 개선했습니다 .
기술 스택
SQL, JavaScript, Spring Boot, Git, jQuery, Go, Google Cloud Platform, Redis, pubsub, Java, Kubernetes, Docker
경력
(주)스윗코리아
사원 | 백엔드팀 | 재직 중
2023.04. ~ 재직 중 (1년 11개월)
쳇과 테스크를 통한 업무관리 협업 솔루션 SWIT을 서비스
SWIT의 가장 많은 트래픽을 받는 도메인인 워크스페이스, 채널, 프로젝트, 챗을 담당
주식회사 디인
사원 | 개발팀
2022.09. ~ 2023.03. (7개월)
- 차주와 화주를 위한 화물 운송 전문 플랫폼 DNL Logis 구축 및 운영
- 도소매 전문 쇼핑몰 DNL Store 구축 및 운영
주식회사 코드트리
사원 | 개발팀
2021.12. ~ 2022.08. (9개월)
(인수 합병으로 인해 소속이 코드트리에서 주식회사 디인으로 변경되었습니다.)
- 온라인 계모임 플랫폼 마이모아 개발 및 운영 (https://mymoa.co.kr/main.do)
- 디엔엘그룹으로 인수합병, 소속 변경
프로젝트
Google Pubsub 모델링 및 규칙 재정의
스윗코리아
2024.02. ~ 2024.05.
백엔드팀 전원이 공통된 규격의 Topic을 구독 발행 할 수 있도록 하여 코드 퀄리티 향상 및 복잡도를 낮춤
- GCP Pubsub은 Topic을 발행할 때 크게 Attribute(데이터의 속성), Data 두 가지가 담김
- 각 팀 별, 도메인 별로 통일되지 않은 방식으로 데이터를 적재하고 있었음
- Attribute에 데이터의 속성을 모두 동일하게 적재할 수 있도록 라이브러리를 수정
- Data는 각 도메인 별 데이터를 공통적으로 사용할 수 있도록 Protocol Buffers를 사용하여 모델을 생성할 수 있도록 새로운 라이브러리 구성
사용 기술: Golang, Google Pubsub, Protocol Buffers
워크스페이스 게스트 룰 재정의
스윗코리아
2024.04. ~ 2024.05.
과제의 우선순위를 파악하여 유관 부서와 소통 및 업무를 조율
- 채널 및 프로젝트의 호스트가 나가면 게스트가 호스트가 되는 이슈 발생
- 해당 이슈를 해결하기 위해 기획자와 논의를 시작
- 기획자는 해당 이슈와 더불어 게스트의 모든 정책을 변경하고자 함
- 최우선 순위 과제가 있기 때문에 기획 부서와 협의가 필요했고, 논의를 통해 현재 이슈를 먼저 해결한 후 다음 해결 과제로 처리하기로 협의
사용 기술: Golang, MySQL
워크스페이스 도메인 CQRS 패턴 적용
스윗코리아
2023.12. ~ 2024.02.
캐싱된 데이터 기준 약 30% 이상의 속도 개선
새로운 아키텍쳐를 공부하고 적용하는데 주저하지 않고 도전할 수 있게 됨
- 도메인에서 관리하는 레포지토리 중 가장 데이터베이스 부하를 가장 많이 받는 워크스페이스를 CQRS 패턴 적용
- 아키텍쳐에 대한 고민 후 레포지토리를 많이 늘리기보다 Modular Monolith Architecture를 사용하기로 결정
- Modular Monolith 아키텍쳐를 사용한 CQRS 레포지토리 개발
- 성능이 저하될 수 있는 반복문을 최대한 줄이도록 리팩토링 (6개 → 4개)
사용 기술: Golang, MySQL, Redis, gRPC, Google Pubsub
SWIT 리뉴얼 및 디버깅
스윗코리아
2023.08. ~ 2023.09.
- 리뉴얼 및 마이그레이션으로 인해 발생된 에러들을 1개월이라는 빠른 시간 안에 처리 및 서비스 안정화
- 다양한 이슈들을 접하며 제품의 동작과 기능에 대한 이해도를 높임
- 입사 전부터 진행되어온 제품의 리뉴얼을 진행
- 하나의 도메인도 버전별로 여러 레포지토리로 찢어져 있었고, 크고 작은 레거시들을 도메인별로 합치는 작업
- 그 과정에서 많은 에러 리포트가 생성이 되었고 백엔드 전 인원이 에러 디버깅에 붙게 되었음
사용 기술: Golang, MySQL, Redis, gRPC, SocketIO, etc...
웹소켓 RemoteJoin 로직 마이그레이션
스윗코리아
2023.06. ~ 2023.07.
WebSocket 및 SocketIO에 대한 이해도를 높임
해당 기능이 필요한 곳에서 바로 사용할 수 있게 됨
- SocketIO를 사용할 때 Redis Adapter에서는 Room에 조인 시키기 위하여 Remote Join이라는 기능이 있음
- Legacy 코드인 Node.js에서만 사용하고 있던 Remote Join을 Golang에 마이그레이션 시킴
- Golang SocketIO 라이브러리에서 지원하지 않는 기능이기에 소켓아이디를 추출하고 조인 시키는 로직을 라이브러리에 추가
사용 기술: Golang, SocketIO, Redis Adapter
셀바고
주식회사 디인
2022.05. ~ 2023.03.
셀바몰과 물류 연동이 가능한 온라인 물류 플랫폼
프론트페이지
- 회원가입, 게시판, 마이페이지
- 회원가입 알림톡 기능 담당
백오피스
- 게시판 기능 담당
- 적립금 기능 담당
- 회원관리 기능 담당
- 파일 업로드 및 다운로드 모듈 담당
- 알림톡 기능 담당
- 배치 기능 담당
사용한 기술 스택
- JAVA8, Mybatis, OracleDB, Oracle Cloud, JSP, JQUERY, NHN Toast Grid
현재 구축중으로 11월 말 런칭 예정
셀바몰
주식회사 디인
2021.12. ~ 진행 중
생산자, 도매, 소매, 소비자를 위한 유통 온라인 쇼핑몰
프론트페이지
- 회원가입, 마이페이지 담당
- 회원가입 알림톡 기능 담당
- 기획전, 이벤트 기능 담당
- 상품 상세페이지 담당
- 회원가입 알림톡 기능 담당
백오피스
- 게시판 기능 담당
- 적립금, 쿠폰 기능 담당
- 회원관리 기능 담당
- 파일 업로드 및 다운로드 모듈 담당
- 주문관리 담당
- 알림톡 기능 담당
- 배치 기능 담당
사용한 기술 스택
- JAVA8, Mybatis, OracleDB, Oracle Cloud, JSP, JQUERY, NHN Toast Grid
현재 구축중으로 11월 말 런칭 예정
마이모아
주식회사 코드트리
2022.02. ~ 2022.06.
온라인 계모임 서비스
프론트페이지
- 회원가입, 회원정보관리, 게시판, 이용안내를 담당
- 알림톡 기능 담당
백오피스
- 마일리지, 게시판, 월 수령액 관련 업무를 담당
- 배치기능 담당
사용한 기술 스택
- JAVA8, Mybatis, MariaDB, Oracle Cloud, JSP, JQUERY
포트폴리오
교육
비트캠프
사설 교육 | [원격활용] 디지털컨버전스 기반 융합기술을 활용한 SW 웹 개발자 양성과정 C
2021.05. ~ 2021.11. | 수료
한국방송통신대학교
대학교(학사) | 경제학과
2019.03. ~ 2022.02. | 졸업
Ritsumeikan Asia Pacific University
대학교(학사) | Asia Pacific Studies(관광학)
2012.04. ~ 2017.08. | 중퇴
대외활동
기록의정원
개인 모집 팀
10일간 서비스를 만들어보는 Poten day라는 서비스를 통해 빌딩된 팀으로 기록의정원
서비스를 출시하였고, 지속해서 기능 추가 예정
백엔드 팀원 기술 스택이 서로 달라 MSA로 구성
NCP 인프라 구성
배포 편의를 위해 Github Action, Dockerhub를 사용하여 CI/CD 파이프라인 구성
알고리즘 스터디
개인 스터디
알고리즘에 대한 이해도와 문제해결 능력을 기르고, Golang을 더 잘 사용하기 위한 스터디
Golang 관련 스터디가 없어 직접 모집 및 리드
Real MySQL
개인 스터디
데이터베이스의 기본 형태인 RDB를 더 잘 이해하기 위한 스터디를 진행했습니다.
https://velog.io/@coen/series/Real-MySQL-Study
Effective Java 3/E
개인 스터디
Estsoft 백엔드 개발자 익스턴십
멋쟁이 사자처럼
JPA와 Thymleaf를 이용하여 쇼핑몰을 구축하는 미션중심의 클래스
개인별로 진행하는 프로젝트였지만 작성한코드를 팀원들과 공유하며 코드리뷰를 경험
외국어
영어
일상 회화 가능
일본어
비즈니스 회화 가능
자기소개
1. 끝없는 학습과 새로운 기술에 대한 도전
저는 새로운 기술에 대한 끊임없는 학습 열정과 도전 정신을 가지고 있습니다. 스윗코리아 입사 초기, 기존에 익숙했던 JAVA 환경에서 Golang 기반 시스템을 사용하게 되면서 새로운 기술에 적응해야 했습니다. 3주간의 온보딩 기간 동안 Redis, Message Queue, SocketIO, Kubernetes 등 새로운 기술들을 빠르게 익히고 실제 어플리케이션을 만들어 보면서 실무에 적용할 수 있는 역량을 키웠습니다. 이러한 경험은 저에게 새로운 환경에 대한 빠른 적응력과 문제 해결 능력을 길러주었으며, 끊임없이 변화하는 개발 환경에 유연하게 대응할 수 있도록 도움을 주었습니다. 앞으로도 끊임없이 학습하고 도전하며 **{{지원 회사}}**의 핵심 인재로 성장하고 싶습니다.
2. 성장과 성과 중심의 마인드
저는 단순히 주어진 업무를 수행하는 것을 넘어, 더 나은 방향을 끊임없이 모색하고 주도적으로 문제를 해결하며 성과를 만들어내는 데 집중하는 개발자입니다. 스윗에서 진행했던 “GCP Pubsub 모델 재정의” 프로젝트는 저에게 주도적인 문제 해결 능력과 끊임없는 성장을 실감하게 해준 대표적인 경험입니다. 기존 시스템을 분석하고, 팀원들과 협력하여 새로운 모델을 재정의하고, 라이브러리화함으로써, 코드 퀄리티를 향상시키고 유지 보수의 효율성을 높이는 성과를 달성했습니다. 또한, “워크스페이스 도메인 CQRS 전환” 새로운 아키텍처를 도입하고, 성능 병목 지점을 분석하고, 캐싱 전략을 적용하여 시스템 처리 속도를 약 30% 이상 향상시키는 성과를 이끌어냈습니다. 이처럼 저는 데이터 분석을 통해 문제점을 정확하게 파악하고, 창의적인 해결 방안을 제시하며 실질적인 성과를 창출하는 데 힘쓰고 있습니다. 앞으로도 끊임없이 학습하고 도전하며, **{{지원 회사명}}**의 성장에 기여하는 핵심 인재로 성장하고 싶습니다.
3. 긍정적인 에너지와 배려하는 마음으로 '함께' 성장하는 즐거움을 아는 개발자
저는 긍정적인 에너지와 원활한 소통을 통해 팀워크를 중시하는 개발자입니다. 스윗코리아에서 진행했던 “워크스페이스 게스트 룰 재정의” 이슈를 진행하며, 기획 부서와의 의견 차이로 인해 프로젝트 진행에 어려움을 겪었던 경험이 있습니다. 당시 기획팀에서는 현재 발생한 이슈를 처리하고 문제가 생길 수 있는 게스트 사용자의 권한을 새로 기획하는 방향을 원했지만, 백엔드팀에서는 최우선순위 과제들을 처리해야 했기에 좀 더 유연한 접근 방식을 주장했습니다.
저는 이러한 상황에서 기획팀의 의견을 충분히 경청하고, 개발적인 측면에서의 일정과 소요시간을 명확하게 설명하며 서로 이해를 높이기 위해 노력했습니다. 특히, 저는 최우선 과제들의 중요도와 일정을 구체적으로 제시하고, 기획팀과 함께 여러가지 대안을 검토하며 논의했습니다. 결과적으로, 기획팀의 의도를 충분히 반영하면서도 문제 발생 가능성을 최소화할 수 있는 합리적인 해결 방안을 찾아낼 수 있었고, 이를 통해 프로젝트를 성공적으로 마무리할 수 있었습니다.
이처럼 저는 상대방의 의견을 존중하고, 적극 소통하며 최적의 해결 방안을 찾아내는 데 능숙합니다. **{{지원 회사명}}**에 합류하여 팀워크를 중시하는 저의 강점을 바탕으로, 팀원들과 함께 성장하고 긍정적인 시너지를 창출하며 회사의 발전에 기여하고 싶습니다.
4. 빠른 분석력으로 문제를 해결하는 개발자
저는 빠른 분석력과 문제 해결 능력을 갖춘 개발자입니다. 스윗코리아 리뉴얼 이후 쏟아지는 이슈들을 신속하게 분석하고 해결하며, 기능에 대한 이해도를 높였습니다. 특히, 프로젝트 수행 이전에는 해당 도메인의 이슈들을 먼저 해결하며 도메인에 대한 깊이 있는 이해도를 쌓는 것을 중시합니다. 이는 프로젝트를 더욱 완성도 있게 수행하고, 최적의 해결책을 제시하는 데 큰 도움이 되었습니다. 앞으로도 빠른 분석력을 바탕으로 문제를 해결하고, 더 나은 서비스를 만들어내는데 기여하고 싶습니다.