채용공고 올리기

미리보기

기본 정보

이름
신지수
직업
백엔드 개발자
이메일
shinjs1997@gmail.com
간단 소개

대량 메시지 발송 시스템의 트랜잭션 구조를 개선하여 발송 누락률 0%를 달성한 백엔드 개발자 신지수입니다. AWS 아키텍처 개선을 통해 크롤링 처리 시간을 15분에서 1분으로 단축하며 성능 개선을 경험했습니다. 실무에서 경험한 구조적 문제를 객체지향 설계로 개선하며, 변경에 유연하고 유지보수 가능한 시스템을 지향합니다.

기술 스택

기술 스택

Java, Spring Boot, mybatis, JPA, JavaScript, Oracle, JUnit

프로젝트

프로젝트명

SwimColor

소속/기관명

개인

프로젝트 기간

2025.12. ~ 진행 중

프로젝트 내용

GitHub : https://github.com/Jisu-Shin/swimcolorProject

프로젝트 개요

  • 수영복 구매 시 매칭되는 수모 색상을 직관적으로 확인하기 어려운 문제를 해결하기 위해, YOLO 세그멘테이션과 색상 분석 알고리즘을 활용한 수모 추천 서비스 개발

  • 초기에는 Docker 기반 Spring Boot 서버와 Python AI 추론 서버를 각각 AWS App Runner에 배포하여 2주 내 MVP를 구현

  • 이후 AI 추론 환경의 무거운 Docker 이미지와 긴 처리 시간을 개선하기 위해 크롤링·색상 추출을 Lambda로 분리하고 SQS 기반 이벤트 드리븐 비동기 구조로 재설계하여 성능을 개선

기술 스택

Spring Boot, JPA, MySQL(AWS RDS), AWS Lambda, SQS, EC2, Docker, ECR, GitHub Actions

역할

  • Backend API, AI 색상 분석 파이프라인, AWS 인프라 설계 및 구현 담당 (기여도 100%)

주요 성과

  • Lambda 기반 드리븐 이벤트 아키텍처 설계

    • FastAPI 기반 AI 서버의 무거운 Docker 이미지 문제를 해결하기 위해 크롤링·색상 분석 기능을 AWS Lambda로 분리

    • Lambda 간 직접 호출 시 동기(RequestResponse) 호출로 인한 블로킹 구조 가능성 확인

    • 크롤링 완료 이벤트를 SQS에 적재하고 트리거로 색상 추출 Lambda가 실행되는 이벤트 드리븐 구조 설계

    • SQS 기반 이벤트 드리븐 비동기 처리 구조로 서비스 간 결합도 감소 및 확장성 확보

  • 크롤링·AI 처리 성능 개선 (15분 → 1분, 약 93% 단축)

    • App Runner(2vCPU, 4GB) 단일 처리 구조에서 Lambda 분리 및 병렬 구조로 개선

    • 100건 단위 SQS 배치 처리, 동시성 2 설정, DLQ(최대 수신 5회) 구성

    • 124건 기준 처리 시간 15분 → 1분 이내 단축

  • Docker 이미지 최적화 및 실행 환경 분리

    • ML 의존성(torch 등) 포함 통합 Docker 이미지 4,864MB 확인 후 dive로 레이어 분석 수행

    • 크롤링·색상 추출 역할 기준 이미지 분리하여 736MB / 695MB로 경량화 (약 85% 감소)

    • GitHub Actions CI에서 빌드 및 ECR 업로드 포함 8분 → 1분대 단축 (최대 87% 개선)

  • AI 기반 색상 분석 시스템 구축

    • YOLO Segmentation 기반 수영복·수모 객체 분리

    • K-means 클러스터링으로 대표 색상 3개 추출

    • RGB → LAB 색공간 변환 및 CIEDE2000 알고리즘 적용하여 인간 지각 기반 색상 유사도 매칭 구현

프로젝트명

OO-SMS (Object-Oriented SMS)

소속/기관명

개인

프로젝트 기간

2024.11. ~ 2025.11.

프로젝트 내용

GitHub : https://github.com/Jisu-Shin/oo-sms

프로젝트 개요

  • 실무에서 신규 요건 추가 시 기존 클래스에 코드를 반복 수정하던 경험에서 출발, 인프런 '스프링 핵심 원리' 학습을 계기로 SRP·OCP를 제대로 적용한 구조로 실무 SMS 발송 시스템을 직접 개선해본 리팩토링 프로젝트

  • 설계 개선 → 테스트 작성 → 커버리지 측정의 사이클을 반복하며 완성도를 높임 (Instruction 85%, Branch 86% 달성)

역할

  • 절차지향 SMS 발송 로직을 분석하고 SOLID 원칙 기반 객체지향 구조로 리팩토링 설계 및 구현 (기여도 100%)

기술 스택

  • Java, Spring, Spring Data JPA, JUnit, Jacoco, Git

주요 성과

  • SRP 적용을 통한 책임 분리

    • 발송 로직과 변수 바인딩 로직이 혼재된 96줄 단일 클래스를 책임별 클래스로 분리

    • 평균 19줄 수준의 응집도 높은 클래스 구조로 재구성하여 약 80% 경량화

  • OCP 기반 확장 구조 설계

    • VariableBinder 인터페이스와 추상 팩토리 패턴을 적용하여 도메인별 변수 바인딩 로직을 분리

    • 신규 도메인 추가 시 기존 코드 수정 없이 팩토리에서 구현체만 생성하도록 설계

  • DIP 기반 런타임 전략 선택 구조 구현

    • Spring Bean Map 기반 전략 패턴을 적용하여 도메인 타입에 따라 VariableBinder 구현체를 런타임에 동적으로 선택

    • 발송 로직과 변수 바인딩 로직 간 결합도 제거

  • 테스트 기반 리팩토링 안정성 확보

    • JUnit 테스트 작성 및 JaCoCo를 통한 테스트 커버리지 측정

    • Instruction 85%, Branch 86% 커버리지 달성

프로젝트명

OK저축은행 차세대 전산시스템 프로젝트

소속/기관명

뱅크웨어글로벌

프로젝트 기간

2021.06. ~ 2023.07.

프로젝트 내용

프로젝트 개요

  • OK저축은행의 차세대 전산시스템 구축 프로젝트에서 UMS(SMS/E-Mail/Fax) 영역 백엔드 개발 및 운영 개선 담당

  • 대량 메시지 발송, 배치 처리, 트랜잭션 분리 등 메시징 시스템 전반의 안정성 및 성능 개선 수행

기술스택

  • Java, Spring, JavaScript, Mybatis, Oracle, Linux

주요 역할

  • UMS(SMS/E-Mail/Fax) 백엔드 개발 및 운영 개선 전담 (기여도 100%)

  • 대량 발송, 배치 처리, 트랜잭션 분리 등 SMS 발송 시스템 구조 분석 및 개선 수행

  • Oracle RDBMS 기반 발송 이력 관리 및 데이터 구조 개선

주요 성과

① 대량 SMS 발송 구조 배치 전환으로 타임아웃 문제 해결

  • 온라인 처리 방식의 SMS 발송 기능 테스트 중 대량 발송 시 타임아웃 발생하는 구조적 한계 발견

  • 대량 발송 시나리오를 분리하여 배치 기반 비동기 처리 구조로 재설계 및 구현

  • 엑셀 파일 기반 발송 대상 파싱, 메시지 템플릿 변수 추출 및 치환 로직 개발하여 안정적인 대량 발송 환경 구축

② 트랜잭션 분리를 통한 SMS 발송 누락률 0% 달성

  • SMS 발송, 이력 저장, 후속 연동이 단일 트랜잭션으로 처리되어 장애 시 전체 롤백 발생하는 구조 분석

  • @Transactional(REQUIRES_NEW) 적용하여 핵심 발송·이력 저장 로직을 독립 트랜잭션으로 분리

  • 후속 연동 로직은 배치 기반 비동기 처리 구조로 전환

  • 장애 발생 시 전체 롤백 문제를 제거하여 발송 누락률 0% 달성

③ SMS 발송 이력 Unique Key 중복 문제 해결

  • SMS 발송 API 호출 시 Unique Key 중복 예외 발생

  • Oracle 시퀀스 값 길이 제한 및 순환(cycle) 설정으로 인한 중복 가능성 파악

  • DBA와 협업하여 시퀀스 길이 및 순환 정책 개선으로 중복 예외 해결

④ SMS 발송 이력 조회 성능 개선

  • 데이터 이행 이후 수억 건 규모 발송 이력 조회 시 간헐적 타임아웃 발생

  • 실행 계획 분석을 통해 인덱스 정상 사용 여부 확인

  • 애플리케이션 로그 기반 사용자 조회 패턴 분석

  • 기본 조회 조건을 단기 기간 범위로 조정하여 조회 성능 안정화

경력

회사명

뱅크웨어글로벌주식회사

직급 | 부서 | 근무 유형

주임 | 뱅킹BU

근무 기간

2021.05. ~ 2023.08. (2년 4개월)

담당 업무

기술 스택 : Java, Spring, Oracle, Linux, Spring Batch, WebSquare, JavaScript

  • OK저축은행 차세대 전산시스템 구축 프로젝트 참여 (2021.06~2023.07)

  • UMS(SMS/Email/Fax) 영역 백엔드 개발 및 운영 개선 전담

포트폴리오

URL

link

Tistory Blog

티스토리
link

Github

깃허브

자기소개

자기소개

경력 단절 기간 설명

퇴사 이후의 공백 기간은 제 개발 역량과 커리어 방향을 다시 정립하는 시간으로 활용했습니다. 금융권 차세대 프로젝트를 마무리하며 높은 책임감 속에서 업무를 수행했지만, 번아웃으로 인해 잠시 멈추고 스스로를 돌아볼 필요가 있었습니다. 2023년 8월부터 11월까지는 충분한 휴식을 통해 컨디션을 회복했고, 이후 카페 아르바이트를 병행하며 생활 리듬을 되찾는 동시에 장기적인 진로에 대해 깊이 고민했습니다.

회복 이후에는 백엔드 개발자로서의 기본기를 다시 다지는 데 집중했습니다. Java 기초(유튜브 ‘남궁성의 자바의 정석’)를 통해 언어의 동작 원리와 객체지향 개념을 재정리했고, 인프런 ‘스프링 핵심 원리’ 강의(2024.11 수료)를 통해 스프링의 핵심 개념과 설계 철학을 체계적으로 학습했습니다. 또한 2024년 9월부터는 주간 스터디에 참여해 알고리즘 문제 풀이, 스프링 핵심 코드 분석, CS 개념 정리를 병행하며 학습의 밀도를 높였습니다.

이러한 학습의 결과는 2024년 11월부터 진행한 OO-SMS 개인 프로젝트에서 명확히 드러났습니다. 단순 기능 구현에 그치지 않고, 역할과 책임을 분리한 객체지향적 구조를 설계하고 SRP·OCP를 고려한 코드 작성이 가능해졌습니다. 이전보다 설계 의도를 설명할 수 있는 코드, 테스트와 확장이 가능한 구조를 만드는 데 집중할 수 있었습니다.

또한 DASP(2024.04), SQLD(2024.06) 자격증 취득을 통해 데이터베이스 이론과 실무 관점의 이해도를 함께 높였습니다. 이 공백 기간은 단순한 휴식이 아닌, 제 개발 역량의 기초를 다시 다지고 장기적으로 성장할 수 있는 방향성을 명확히 한 준비의 시간이었습니다. 앞으로는 이 기간에 다진 기본기와 문제 해결 경험을 바탕으로, 꾸준히 성장하며 조직에 기여하는 백엔드 개발자로 역할을 수행하고자 합니다.


협업 경험

저는 협업에서 가장 중요한 가치는 체계적인 소통이라고 생각합니다. 기술적으로 문제를 해결하는 것에서 그치지 않고, 현업과 개발팀이 동일한 맥락을 공유할 때 비로소 안정적인 서비스 운영이 가능하다고 믿습니다. 이를 위해 상대의 상황을 이해하고, 실행 가능한 형태로 정보를 정리해 전달하는 태도를 지향해 왔습니다.

금융권 차세대 프로젝트에서 고객사 TFT 담당자로부터 ‘책임자 승인 알림 기능이 동작하지 않는다’는 문의를 받은 적이 있습니다. 초기에는 방화벽 설정 가이드를 전달했으나, “기존에는 되던 기능”이라는 재문의가 이어졌습니다. 단순 설명으로는 신뢰를 얻기 어렵다고 판단해 직접 담당자의 PC 환경을 함께 확인했고, 그 과정에서 포트 허용 설정의 미세한 누락을 발견해 즉시 조치했습니다. 이후 PC 교체 시 반드시 점검해야 할 항목을 정리한 가이드를 보완·공유하여, 동일 이슈의 재발을 방지할 수 있었습니다.

또한 대내 EAI 연동 과정에서는 이종 프레임워크 차이로 인해 타 팀 개발자들이 반복적으로 어려움을 겪고 있었습니다. 단순 개발 이슈가 아니라 인프라 협의가 선행되어야 한다는 점을 파악해 인프라 팀과의 협업을 주선했고, 연동에 필요한 파라미터 포맷과 필수·선택 값들을 정리한 인터페이스 가이드를 문서화해 배포했습니다. 그 결과 반복적인 질의응답이 줄어들었고, 이후 유사 연동 시에도 참고 자료로 활용될 수 있었습니다.

이러한 경험을 통해 저는 문제를 개인의 역량으로만 해결하기보다, 공유 가능한 지식과 구조로 전환하는 것이 진정한 협업이라는 것을 배웠습니다. 책임감 있게 문제를 끝까지 해결하되, 소통과 문서화를 통해 팀 전체의 효율을 높이는 개발자로 성장해 나가고자 합니다.

대외활동

활동명

SSAFY 삼성 청년 SW 아카데미 5기

소속/기관명

삼성

연도

2021

내용

Java의 핵심개념과 Spring의 기초를 학습하고, 알고리즘 문제 풀이와 모의 코딩 테스트를 통해 실력을 향상했습니다.

활동명

얼굴 인식 기술을 기반으로 한 포인트 적립 웹 애플리케이션

소속/기관명

강원대학교 컴퓨터정보통신공학과

연도

2020

내용

Django의 Channels 라이브러리와 Face Recognition 라이브러리를 활용하여 ‘얼굴 인식 기술을 기반으로 한 포인트 적립 웹 애플리케이션’을 개발했습니다. 이 프로젝트는 캡스톤 디자인 온라인 경진대회에서 장려상을 수상하며, 실시간 웹 소켓 통신 및 얼굴 인식 기술을 다룰 수 있는 기회였습니다. 이전의 딥러닝 챗봇 프로젝트에서 쌓은 Django 프레임워크에 대한 지식이 큰 도움이 되었습니다.

활동명

인공지능 딥러닝 기반 자연어처리 전문가과정

소속/기관명

아시아경제 청년취업아카데미

연도

2020

내용

Django 프레임워크와 DNN 딥러닝 모델을 활용하여 복합쇼핑몰을 위한 정보 제공 챗봇을 개발하였습니다. MVC 패턴에 대한 학습을 통해 소프트웨어 아키텍처의 이해도가 향상되었습니다.

자격증

자격증명

OPIc

점수 | 발급기관

IM2 | ACTFL

취득연월

2025.12.

자격증명

SQLD

점수 | 발급기관

한국데이터산업진흥원

취득연월

2024.06.

자격증명

DAsP

점수 | 발급기관

한국데이터산업진흥원

취득연월

2024.04.

자격증명

정보처리기사

점수 | 발급기관

한국산업인력공단

취득연월

2019.05.

교육

소속/기관명

강원대학교

종류 | 전공

대학교(학사) | 컴퓨터정보통신공학과

재학 기간 | 재학 상태

2016.03. ~ 2021.02. | 졸업