미리보기
기본 정보

"때론 미친 척하고 딱 20초만 용기를 내 볼 필요가 있어. 그럼, 장담하는데 멋진 일이 생길 거야.” ― We Bought a Zoo, 2011 - 안녕하세요! 저에게 찾아올 멋진 일들을 위해 노력하고 있는 백엔드 개발자 신윤섭 입니다. - 부족함을 부끄러워하지 않으며, 20초의 용기로 모르는 것은 즉각 질문하여 저의 역량를 넓혀가고 있습니다. - 대학 모든 학기 성적 장학금과 조기졸업이라는 결과로 저의 꾸준함을 증명할 수 있습니다. - SOLID 원칙에 기반하여 작성한 코드가 누구든지 쉽게 이해할 수 있는 좋은 코드라고 생각합니다. - 도전을 위해선 든든한 기반이 있어야 합니다. 팀에게 든든한 지지대가 되어주는 개발자를 목표로 하고 있습니다.
기술 스택
프로젝트
대학생 IT 연합동아리 코테이토
링크 아카이브 서비스 오딧(ODIT)
정보의 체계적인 관리와 공유를 위해 AI 기반 컨텐츠 분석을 활용한 링크 아카이빙 플랫폼
팀 구성: 10인 프로젝트 (FE 2명, DE 2명, FE 2명, BE 3명)
사용한 기술 스택
Back-End: Java, Spring Boot, Spring Security, Spring AI, JPA
, Jsoup
DataBase: MySQL, Redis
Authentication: OAuth2.0(카카오 소셜 로그인), JWT
Infra: AWS(EC2, RDS, S3), GitHub Actions
Docs: Notion, Swagger
주요 역할
역할 : BackEnd 개발 리더
AI 기반 컨텐츠 요약 시스템 구현(기여도 100%): Spring AI와 OpenAI API를 활용한 데이터 자동 분석, 요약 및 JSON 데이터로 변환
사용자 인증 시스템 구현(기여도 100%): 카카오 소셜 로그인과 JWT 토큰 기반의 인증/인가 시스템 설계 및 구현
보안 시스템 강화(기여도 100%): Refresh Token 관리 전략 수립 및 Global Exception Handler를 통한 전역 예외 처리 구현
링크 파싱 시스템 구현(기여도 90%): Jsoup을 활용한 링크 HTML 변환 및 파싱, 데이터 추출 시스템 구현
트러블 슈팅 및 고민
1. BE 개발 리더로서 프로젝트 시작 전 준비해야 할 요소는 무엇일까?
문제: 파트별 협업 방식의 첫 프로젝트에서 백엔드 개발 리더로서 팀원 간 원활한 소통을 위한 요소 고민
해결:
백엔드 파트 주 1회 대면 회의 추진
PM이 작성한 기능 명세서를 기반으로 Notion에 구체적 API 명세서 작성 및 개발 우선순위 정의
Issue, PR, Review를 위한 가이드라인 수립, 팀원 역량별(진행했던 프로젝트 경험 기반) 기능 개발 분담
Github Flow 브랜치 전략 채택, branch rule 설정(최소 1명의 review, approve로 merge 허)으로 보안 강화
결과: 프로젝트 진행 중 기능 구현 일정이 지연되는 상황이 발생하지 않았다.
관련 PR/Commit : 👷 PR 템플릿 작성 #3
2. AI 요약 시스템의 성능 및 정확도 향상 위해선 어떠한 접근 방법이 필요할까?
문제: OpenAI API 호출을 위해 RestTemplate를 구현했지만, API 호출 시 Latency 60s, 평균 15,000 tokens 사용, 정확도 50~60% 측정으로 "낮은 응답속도로 인한 사용자 이탈과 서비스 운영 비용의 부담으로 인한 프로젝트 존속 불가" 피드백을 받았다.
해결
데이터 정확도 향상을 위하여 HTML 태크 필터링과 Strategy Pattern을 이용한 플랫폼별 (Tistory, Branch, Naver Blog, Instagram) 파싱 전략 구현하며 Jsoup 파싱 기능 개선
RestTemplate를 대체하기 위해 자료 조사 진행 후 Spring의 추상화와 효율적 자원관리 특성을 활용할 수 있는 Spring AI를 사용하기 위한 POC 진행
토큰 사용량 절감과 정확도 향상을 위한 ChatClient와 Prompt, Structed Output 적용 및 AI 모델 전환
(gpt-3.5-turbo → gpt-4o-mini)
LoggingAdvisor 구현으로 API 호출을 모니터링
@Async, CompletableFuture를 이용한 비동기 아키텍처 구현으로 응답 속도 개선을 진행
결과
API 호출 지연시간: 60초 → 7~8초 (8배 향상)
평균 토큰 사용량: 15,000 tokens → 7,000 tokens (50% 절감)
정확도: 50~60% → 95% (40% 향상)
이러한 개선 결과를 팀 전체와 공유하여 기술 전환을 이끌어내고 프로젝트의 성공적 마무리에 기여함
관련 PR/Commit
한신대학교
블록체인 기반 부동산 거래 시스템 개발 프로젝트
허위 매물로 인한 피해를 최소화하고 예방하기 위해 블록체인 기술을 활용한 투명하고 신뢰할 수 있는 부동산 거래 플랫폼
팀 구성: 4인 프로젝트 (FE 1명, BE 3명)
기여도: Spring 서버 개발 70% 기여 및 프로젝트 리딩으로 전체 65% 기여
기술 스택
Back-End: Java, Spring Boot, Hyperledger Fabric, JPA, Retrofit2
Database: CouchDB
Infra: AWS(EC2, S3, ELB), Docker
주요 역할
역할 : BackEnd 개발 및 팀 리더
RESTful API 개발(기여도 100%): Spring 기반 부동산 매물 관리 및 거래 처리 API 구현
클라이언트-서버 통신(기여도 100%): Retrofit2 라이브러리를 활용한 Android-Spring 서버 간 HTTP 통신 구현
AWS 인프라 구축(기여도 90%): EC2 서버 배포 및 S3 기반 매물 이미지 저장소 구현
체인코드 통신(기여도 60%): 하이퍼레저 패브릭 네트워크와 스마트 계약 처리를 위한 체인코드와 Spring 서버와의 통신 구현
하이퍼레저 패브릭 네트워크 구축(기여도 40%): 구매자, 판매자, 중개인 3개 조직으로 구성된 프라이빗 블록체인 네트워크 설계 및 구현 보조
트러블 슈팅 및 고민
1. 블록체인 기술 도입 시 팀원들과의 지식 격차를 어떻게 해소할 것인가?
문제: 블록체인 기술에 대한 팀원들의 이해도 차이로 인한 개발 진행 속도 저하 및 의사소통 어려움이 발생하였다.
해결
팀 전체 블록체인 학습 세션 주 1회 진행 (공식 문서, 논문, 강의 활용)
블록체인 개념 및 Hyperledger Fabric 아키텍처에 대한 문서를 번역하며 Peer와 Organization, Orderer, Channel의 역할 이해
국내외 동일/유사 서비스를 조사하며 서비스에 대한 이해도 향상
결과
기존 팀원들의 블록체인 이해도 향상으로 개발 속도 증가 및 의사소통 효율성 개선
교수진으로부터 "혁신적인 기술 적용과 체계적인 팀 운영"이라는 평가를 받음
2. 블록체인과 기존 시스템의 효과적인 통합 방안은?
문제: Spring 기반 백엔드 서버와 Hyperledger Fabric 블록체인 네트워크 간의 효율적인 통신 구조를 설계하는 과정에 어려움이 발생특히 블록체인이라는 신기술의 특성상 Spring과의 통합 레퍼런스가 극히 제한적이었고, 대부분의 자료가 gRPC와 같은 추가 통신 프로토콜을 도입하는 복잡한 방식을 제안받았다.
해결
다양한 통합 방식을 검토하던 중 Hyperledger Fabric SDK for Java를 활용한 커스텀 인터페이스 개발
트랜잭션 제출 및 원장 쿼리 기능을 추상화하는 인터페이스를 설계하여 비즈니스 로직과 블록체인 통신 로직을 분리
결과:
gRPC와 같은 추가적인 통신 프로토콜 도입 없이 Java 기반의 솔루션을 구현함으로써 개발 복잡도를 크게 낮춤
관련 PR/Commit: Anbang-BE/commit/b1723e2
Github(Anbang BE) Github(Anbang Android)
성과
해당 프로젝트를 기반으로 논문을 작성 및 제출하여 캡스톤 프로젝트에서 전체 팀 1등 달성
교수진으로부터 "혁신적인 기술 적용과 체계적인 팀 운영"이라는 평가를 받음
한신대학교
헌혈 관리 모바일 플랫폼 개발 프로젝트
대한 적십자가의 '사회적 재난' 수준의 혈액 부족 위기 상황을 해결하고자, 헌혈 참여를 장려하고 관리하는 모바일 플랫폼
팀 구성: 2인 프로젝트 (FE 1명, BE 1명)
기술 스택
Back-End: Java, Spring Boot, JPA, Retrofit
Database: MySQL
Infra: AWS(EC2, RDS),
Google Maps API, 공공데이터 포털 API
주요 역할
역할 : BackEnd 개발 및 팀 리더
공공데이터 활용(기여도 100%): 헌혈의 집 공공 데이터를 수집 및 정제 후 데이터베이스에 업로드하여 서비스 제공
헌혈 관리 시스템(기여도 70%): 개인별 헌혈 이력 관리 및 다음 헌혈 가능일 자동 계산 기능 구현
위치 기반 서비스(기여도 30%): Google Maps API를 활용한 주변 헌혈의 집 위치 정보 제공 및 시각화 기능 구현
트러블 슈팅 및 고민
1. 안드로이드-서버 간 효율적인 통신 구조 설계 방안은 무엇을 채택해야 할까?
문제: EC2 기반 서버와 안드로이드 앱 간의 효율적인 통신 방식 선택에 어려움이 존재했다. (Spring 학습 초기 단계)
해결
Retrofit 라이브러리를 활용한 REST API 구현 방식 채택
Spring의 Entity, DTO, DAO 구조 기반 API 설계 학습 및 적용
결과
안정적이고 유지보수가 용이한 API 구조 구현 성공
Spring 프레임워크의 핵심 아키텍처에 대한 실무적 이해도 향상
Github(오늘의 헌혈)
성과
한신대학교 컴퓨터공학과 주최 소프트웨어 공모전에서 동상 수상
포트폴리오
URL
대외활동
대학생 IT 연합동아리
코테이토
연합 IT 동아리 성장하는 감자들이 모인 곳
활동 기간 : 2024.03 ~ 진행 중
주요 활동 내용
Java, Spring Boot, JPA 학습과 네트워킹 참여 및 과제 수행, 스터디 운영으로 백엔드 역량 증가
해커톤 참여와 백엔드 프로젝트를 통한 협업 및 소프트웨어 개발 경험
AWS와 Github Actions를 통한 CI/CD 구축 경험
2024
교육
한신대학교
대학교(학사) | 컴퓨터공학부
2019.03. ~ 2024.08.
졸업
자격증
정보처리기사
최종 합격 | 한국산업인력공단
2024.12.
SQLD
최종 합격 | 한국데이터산업진흥원
2025.04.
OPIc
IH(Internediate High) | ACTFL
2025.03.
자기소개
가치관
⟐Red: 목표를 위한 도전⟐
저는 다양한 사람들과 관계를 형성하는 데 어려움을 느껴 연합 사진 동아리에 가입하여 “구성원 전원의 절반과 친분을 쌓기”라는 목표를 세웠습니다. 취미 동아리 특성 상 참석 인원이 불규칙했지만, 모든 출사에 참여하고 모든 구성원의 자기소개를 외운다는 도전을 통해 결과적으로 30명 이상의 구성원과 깊은 관계를 형성할 수 있었습니다. 이를 바탕으로 목표를 구체화하고 도전하는 것의 중요성을 배우며 성취감을 원동력으로 삼아 성장해 왔습니다.
⟐Green: 커피 한 잔의 친절함⟐
학부 프로젝트에서 비전공자와의 이해도 차이로 팀 분위기가 저하되었습니다. 저는 매주 모임마다 따뜻한 커피 한 잔을 건네며 팀원의 이야기를 경청했고, 비전공자 팀원을 위한 1대1 멘토링을 진행하였습니다. 결과적으로 팀원의 적극적 참여를 이끌어내 학부 프로젝트에서 A+ 평가를 받았습니다. 해당 경험을 통해 저는 다양한 협업 상황에서도 커피 한 잔의 친절함을 건네며 대화를 시작하고, 구성원 간 신뢰와 협력을 이끌어 내며 코드 품질 향상에 기여하고 있습니다.
⟐Blue: 문제 상황에 침착함⟐
프로젝트 중반 팀원 이탈 상황에서 Backend 팀장으로서 침착하게 PM과 개발 우선순위를 재조정하고 주 2회의 대면 회의와 팀원의 불안감 해소를 위한 진척도 공유로 안정적 프로젝트 운영에 기여했습니다. 성공적으로 모든 기능을 구현하고 문제 해결 과정에서 보인 침착함을 바탕으로 팀원들에게 신뢰받아 유지보수 기간에도 같은 팀원들과 안정적으로 운영하고 있습니다. 이후 다른 프로젝트에서도 예상치 못한 변수가 발생할 때 이러한 침착함과 안정감을 바탕으로 유연한 해결책을 찾아낼 수 있게 되었습니다.
⟐White: 한 줄기의 빛⟐
빛의 3원색은 세상의 모든 색을 만들어 내며 다양한 특성을 가집니다. 경험을 통한 Red의 도전정신, Green의 친절함, Blue의 침착함을 토대로 제가 필요한 상황에 적합한 역할과 특성으로 자유롭게 변화해가는 ‘한 줄기의 빛’ 같은 사람이 되고자 매 순간 노력하고 있습니다.