미리보기
- 직업
- Back-end Developer
- 이름
- 신봉교
- 간단소개
- 서비스 초기부터 운영까지 성공적으로 이끈 Back-end Developer 신봉교입니다.
자기소개
- 자기소개
기획, 디자인, 마케팅 등 다른 직군과의 커뮤니케이션 및 협업 능숙
비즈니스와 도메인에 대한 빠른 이해를 바탕으로 개발 아키텍처 설계
웹/앱 서비스의 기획, Back-End 설계 및 개발, 운영까지의 경험 보유
기본기를 중요시하며 문제 해결을 위한 자기주도적 탐구 및 학습 능력
안녕하세요 Back-end Developer 신봉교입니다.
마지막으로 재직한 회사는 스탁키퍼(Stockeeper)에서 Back-End Part Leader로 근무하였고,
국내 최초 가축투자증권 한우 조각투자 플랫폼 뱅카우 서비스를 개편하고 운영한 경험이 있습니다.
회사의 성장이 곧 저의 성장으로, 저의 성장이 회사의 성장으로 직결되는 선순환이 이루어져야 합니다.
제가 맡은 서비스를 나의 서비스라고 생각하고 업무를 진행하며, 회사 성장에 도움이 될 수 있는 사람이 된다면 저 또한 성장한 것이라고 생각합니다.
더욱더 성장하기 위해 높은 트래픽과 대용량의 데이터 처리에 대해 관심이 많고 다양한 트러블 슈팅 경험을 하고 해결해 나가고 싶습니다.
개발자를 시작하면서 아주 작은 부분이라도 세상을 변화시킬 수 있을 때 가장 뿌듯하고 그것이 삶의 큰 동기 부여가 됩니다.
저의 장점은 서비스 비즈니스를 빠르게 이해하고 설계하는 것입니다.
비즈니스에 따라 아키텍처가 달라지기 때문에 "어떻게 해야 요구사항을 만족하며 가장 간결하게 관리할 수 있고 확장할 수 있을까?"를 중요시합니다.
단순히 기능 개발이 아닌 서비스가 목표하는 가치를 생각하며 문제를 해결하고 더욱 효율적인 방법을 생각합니다.
또한 설계한 부분에 문제가 있다면 어떠한 기술과 방법으로 이를 해결할 것인지 논의하고 실천하는 것을 좋아합니다.
저의 지식이 동료에게 도움이 될 수 있고, 동료의 지식이 저에게 도움이 될 수 있기 때문에 협업과 커뮤니케이션이 굉장히 중요하다고 생각합니다.
그러기 위해서 끝없는 성장과 자기 개발을 통해 사람과 서비스에 도움을 줄 수 있는 사람이 되려고 노력하고 있습니다.
[핵심역량]
기술 스택
- 기술 스택
- Java
- spring-framework
- PHP
- MySQL
- AWS
- Docker
- Redis
- Git
- github-actions
- JPA
경력
- 회사명
- (주)스탁키퍼
- 직책 • 부서
- Backend Part Leader • Product team
- 근무 기간 (근무 형태)
- 2023.03. - 2024.09.
- (1년 7개월 | 정규직)
- 담당 업무
Back-end Team 업무 및 일정 관리, 외부 협업 진행
주어진 상황에서 우리가 무엇을, 왜 만들고 있는지 목표하는 가치를 생각하며 업무에 임하기
한가지 목표를 향해 함께 생각하고 논의하며 컨센서스 맞추기
NH 농협은행, 신한투자증권, Toss 개발팀과 미팅 및 협업 진행
Infra 및 DevOps 설계/구축
GitHub Actions, Docker, AWS ECR, ECS Fargate(Serverless)을 활용한 BlueGreen 자동화 CI/CD 구축
Datadog을 활용한 로깅 및 실시간 Metric 모니터링, 실시간 오류 발생 시 Slack 알림 설정
Spring Cloud Config 도입으로 분산된 서버의 환경변수 암호화 및 중앙 관리
서비스 비지니스 도메인 구조 설계 및 리뉴얼
기존 서비스의 편의성 및 사용성 개선, 기존 단일 투자만 가능하던 비지니스 구조를 패키지 단위로 투자할 수 있도록 데이터 구조 및 프로세스 변경
전체적인 서비스 도메인을 정리 후 Aggregate & Domain 정의, Ubiquitous language 및 프로세스 정리하여 운영, 디자인 팀에 공유
서비스 운영 필요성에 따라 도메인(송아지, 상품 투자, 포인트 몰) 분리
Bankcow Core Server RESTful API 개발
코드의 계층구조에 따라 BDD, TDD 전략 적용
Domain Layer(Aggregate, Domain Service), Application Service Layer, Controller Layer TDD 전략 적용
Application Service Layer(비지니스 로직) 테스트 진행 시 BDD 전략 적용
Repository에 경우 H2 Database를 활용해 In-memory Database 사용
Mockito 활용으로 테스트 코드 간에 종속성과 복잡도 감소
Spring Batch를 활용해 Legacy data migration
확정된 도메인 별로 Job을 생성하고 확장된 테이블이나 프로세스에 따른 상태값 별로 Step을 만들어 진행
복잡한 분기가 있을때는 JobExecutionDecider를 구현해 decider를 생성하여 분기 처리
로컬 환경에서 통합 테스트 후 운영 DB에 적용
ElasticCache Redis Distributed Lock 적용, API Response 캐시화
데이터(고객 자산, 투자 정보 등등..)의 안정성과 정합성 고려해 분산 락 적용, 동시성 문제 대비(Redisson Library)
앱에서 사용되는 API가 늘어나고 서버 트래픽이 많아지는 기간에 DB Deadlock 발생
특정한 기간에만 발생하는 문제라고 판단해 DB 엔진 업그레이드 보다 AWS ElasticCache Redis를 활용해 API Response 캐시화
최초 1번 호출 시 DB 조회 후 Response 캐시화, 다음 호출부터는 Cache Data 조회(Look Aside, Write Around Pattern), DB Connection 감소
Toss “투자로 돈불리기” 서비스 연동
Toss 개발팀과 협업하여 Toss 앱 내에서 회원가입 및 투자가 가능하도록 프로세스 설계 및 개발
Toss 본인확인 인증 서비스 연동, RememberMeToken 활용으로 보안적인 문제 개선
성과
Toss “투자로 돈불리기” 노출 효과
가축투자계약증권 1-1호
배너 광고 : 노출 419,835건 / 클릭 102,237건 / CTR 24.35%
토스 홈 상단 광고 : 노출 5,735,104건 / 클릭 306,266건 / CTR 5.34%
앱 푸시 : 노출 69,643건 / 클릭 5,366건 / CTR 7.71%
가축투자계약증권 1-2호
배너 광고 : 노출 291,246건 / 클릭 66,200건 / CTR 22.73%
토스 홈 상단 광고 : 노출 2,084,555건 / 클릭 104,755건 / CTR 5.03%
앱 푸시 : 노출 759,682건 / 클릭 65,121건 / CTR 8.57%
총 노출 9,360,065건 / 클릭 수 649,945건 / CTR 6.94%
월간 투자 신청률 약 823회(2021.05 ~ 2023.03) → 1,722회(2024.06 ~ 2024.07) 109.23% 증가
최종 청약률 215% 초과 달성 (₩866,800,000 / ₩1,870,640,000)
뱅카우 서비스 예치금 및 투자 이체를 담당하는 Banking Server 분리 구축
금융감독원으로부터 투자계약증권 허가를 위한 핀테크 서버 분리 구축
GitHub Actions, Docker, AWS ECR, ECS Fargate(Serverless)을 활용한 BlueGreen 자동화 CI/CD 구축
Datadog을 활용한 로깅 및 실시간 Metric 모니터링, 실시간 오류 발생 시 Slack 알림 설정
Private Subnet 서버 구축으로 회사 내부 VPN(fortinet) 연동 및 보안 관리
Bankcow Banking Server RESTful API 개발
외부 증권사와 협업 및 네트워크(VPC)&API 연동
증권 다중화를 위한 거래 내역 데이터 구조 변경 및 이체 프로세스 설계
AWS VPN Site-to-Site를 활용해 증권사와 VPC 내부 통신, 방화벽 해체를 위한 고정 사설 IP Rount table, NAT Gateway 설정
NH 농협은행 개발팀과 협업하여 NH 핀테크 플랫폼 연동
신한투자증권 개발팀과 협업하여 핀테크 제휴서비스 연동
자산 이체 시스템 AWS SQS 도입
자산 이체 시 API로 요청, 불안정한 통신으로 데이터 정합성 문제 발생
AWS SQS 도입으로 안정적인 이체 요청 및 Transaction 관리
순서를 보장하기 위해 FIFO Queue(순차 대기열) 활용, Long Polling 설정(메시지 수신 대기 시간 20초)
예상하지 못한 오류가 발생할 경우를 대비해 Retry 설정(10초마다 최대 1분간)
재시도가 모두 실패할 경우 Choreography Saga Pattern으로 Transaction 관리
간헐적인 네트워크 문제가 아닌 확인이 필요한 구조적 문제라고 판단, DLQ로 메세지 이동, 원인과 함께 Slack 알림으로 실시간 대응
성과
2023년 06월 금융위원회로부터 실사 점검 후 투자계약증권 인정
2024년 07월 오차 없이 안정적으로 가축투자계약증권 1-1호, 1-2호 투자 이체(1,870,640,000원)
2024년 월간 약 6만건 이상 안정적인 통신
한우 조각투자 플랫폼 뱅카우 리뉴얼 및 운영
2023.03 ~ 2024.09
뱅카우 Banking Server 분리 구축 및 증권사 연동
2023.03 ~ 2023.09
- 회사명
- 주식회사카이아이컴퍼니
- 직책 • 부서
- Project Leader • 개발팀
- 근무 기간 (근무 형태)
- 2019.06. - 2023.03.
- (3년 10개월 | 정규직)
- 담당 업무
Project Team 업무 및 일정 관리, 외부 협업 진행
Notion을 Jira처럼 활용할 수 있는 템플릿 생성, Back-end, Front-end 업무 배분 및 일정 관리
서울 시청팀과 미팅 및 협업, 서울 시청 서비스 시연회 진행
Infra 및 DevOps 설계/구축
Jenkins, Docker, NCP(Naver Cloud Platform) Container Registry, Server를 활용한 BlueGreen 자동화 CI/CD 구축
Docker를 활용해 ELK 구축, Filebeat를 이용한 실시간 로깅, Metricbeat를 이용한 실시간 Metric 모니터링으로 빠른 CS 처리에 기여
Logback Slack Appender 라이브러리를 활용해 실시간 오류 모니터링
코드의 계층구조에 따라 BDD, TDD 전략 적용
Domain Layer(Aggregate, Domain Service), Application Service Layer, Controller Layer TDD 전략 적용
Application Service Layer(비지니스 로직) 테스트 진행 시 BDD 전략 적용
Repository에 경우 H2 Database를 활용해 In-memory Database 사용
Mockito 활용으로 테스트 코드 간에 종속성과 복잡도 감소
JPA Optimistic Lock(낙관적 락), JPA L2 cache(2차 캐시) 적용, Flyway 도입
다수에 계정에서 동일한 데이터 수정 시 최초 커밋만 인정되도록 JPA Optimistic Lock 적용
데이터 변화 빈도가 적고 조회 빈도는 높은 데이터는 JPA 2차 캐시를 적용해 DB Connection 감소
Flyway 도입으로 데이터베이스 migration 및 version 관리, 개발 환경 개선
2019년 서비스 유지보수 (PHP, CodeIgniter Framework, Vue.js)
PHP, CodeIgniter Framework, Vue.js 기반에 코드 유지보수 및 최적화(Backend, Frontend)로 서비스 안정에 기여
CodeIgniter Framework MVC Pattern + Vue.js 구조에 Front-end 템플릿 개발
2020년 서비스 업데이트 및 유지보수 (PHP, CodeIgniter Framework)
인천, 부산, 밀양, 순천, 수원시 사업대상 지역 확대
클라이언트 요구사항을 반영하여 프로젝트 기획부터 Backend, Frontend 개발 및 유지보수
기존 2019년에 사용한 Vue.js를 걷어내고 PHP 기반으로 서비스 업데이트
2021년 서비스 리뉴얼 및 유지보수 (Java, Spring Boot, JPA/Hibernate)
경기도 사업대상 지역 확대
클라이언트 요구사항을 반영하여 프로젝트 기획부터 Backend 개발
기술 인력 부족으로 PHP를 사용하던 서비스를 Java, Spring Boot, JPA/Hibernate 기반에 플랫폼으로 리뉴얼
성과
2019년 - 스마트 어워드 코리아 건강관리 분야 대상 수상
2020년 - 사내 인사 평가 1위
2021년 - 제8회 대한민국 SW제품 품질 최우수상 수상
서울시 영유아 스크리닝 신체적성검사 서비스 개발 및 운영
2022.04 ~ 2023.03
치과주치의 사업 덴티아이 개발 및 유지보수, 리뉴얼
2019.06 ~ 2021.06
- 회사명
- (주)이노아이티
- 직책 • 부서
- 대리 • 개발팀
- 근무 기간 (근무 형태)
- 2017.05. - 2019.05.
- (2년 1개월 | 정규직)
- 담당 업무
학교 안전 공제 중앙회와 다이렉트로 커뮤니케이션, 기획 진행
디자인, 퍼블리싱을 제외한 모든 부분 담당, 전체적인 서비스 이해 후 DB 구조 설계
PHP, CodeIgniter Framework를 이용해 MVC Pattern 구현
카페24 호스팅과 DB를 이용하여 서버 구축
PHP, CodeIgniter Framework를 이용해서 템플릿을 제작해 개발 속도 개선
다수의 기업 웹 사이트 구축 및 유지보수
창운인터내셔널(Changwoon International) 반응형 웹 사이트 구축 및 번역 시스템 개발
Stuart Price & Partners 원가 관리 시스템 Backoffice 개발
위너스멘토(WinnersMentor) 웹 사이트 유지보수 및 인강 미디어 플레이어 연동(현재 폐쇠)
학교 안전공제 중앙회, 덕우건설, 코오롱 스포렉스, 마스터 자동차, 세움주택, 닥터네일 등 다수의 반응형 웹 사이트 구축 및 유지보수
학교 안전 공제 중앙회 인력풀 개발 및 유지보수
2018.05 ~ 2019.05
웹 사이트 신규 구축 및 유지보수
2017.05 ~ 2018.05
포트폴리오
교육
- 소속/기관
- 미래능력개발교육원
- 종류 | 전공명/전공계열
- 사설 교육 | 융합소프트웨어
- 재학 기간 (재학 상태)
- 2016.09. - 2017.05. (졸업)
- 소속/기관
- 수원과학대학교
- 종류 | 전공명/전공계열
- 대학교(학사) | 신소재응용학과
- 재학 기간 (재학 상태)
- 2012.03. - 2012.08. (중퇴)
- 소속/기관
- 양천고등학교
- 종류 | 전공명/전공계열
- 고등학교 | 이과
- 재학 기간 (재학 상태)
- 2009.03. - 2012.02. (졸업)