미리보기
기본 정보

"사용자와 동료에게 가치를 전달하는 개발자"를 목표로, 책임감과 협업을 바탕으로 성장하는 백엔드 개발자입니다. 학원 팀 프로젝트에서 요구사항 변경이라는 도전에 직면했을 때, 라이브러리 없이 직접 구현하는 방식을 선택하여 팀의 목표를 달성했던 경험은 저의 책임감과 문제 해결 능력을 증명한 사례입니다. 또한, 스터디 활동에서 복잡한 개념을 쉽고 재밌게, 명확히 전달하고자 노력하며 동료들과의 커뮤니케이션 역량과 학습 습관을 꾸준히 다져왔습니다. 객체지향 설계와 유지보수성을 고려한 코드를 작성하기 위해 끊임없이 학습하며, 확장 가능하고 이해하기 쉬운 코드를 작성하는 것을 중요하게 생각합니다. 그러기 위해 꾸준히 학습하고 있고, 이러한 노력이 협업 환경에서도 팀원들과 더 나은 결과를 만들어내는 데 기여할 수 있다고 생각합니다. 앞으로도 사용자 중심의 문제 해결과 동료와의 협업을 통한 가치 창출을 통해, 더욱 발전하는 개발자로 성장해 나가고자 합니다.
기술 스택
Java, Spring Boot, Spring Security, JPA, JUnit, MySQL, Redis, aws-ec2, aws-s3
프로젝트
미니페이: 송금 및 정산 기능 구현 프로젝트
개인
2024.06. ~ 진행 중
금전 거래의 안정성과 효율성을 높이기 위해 송금, 정산과 같은 핵심 기능을 설계 및 구현한 프로젝트입니다. 동시성 문제 해결, 트랜잭션 관리, 그리고 변화하는 요구사항에 쉽게 대응할 수 있는 코드 작성을 목표로 개발했습니다. Github Link
계좌 잔액 동시성 이슈 발생 → 비관적 락 도입 및 데드락 해결(락 선점 순서 고정)
Redis TTL 활용하여 회원 일일 충전 한도 관리
정산 API 설계
1/N 정산 시 인원 수로 나누어떨어지지 않는 오차에 대해 애플리케이션에서 직접 지원하도록 기획(최대 49원)
다양한 정산 타입 구현 시 OCP를 적용하여 확장성있게 설계
FCM + Spring Batch를 사용한 리마인더 알림 구현
JUnit의 스프링 컨테이너 캐싱 전략 을 이해하고 테스트 환경을 통합하여 테스트 비용 절감
100개의 통합 & 단위 테스트 작성
코드 품질 향상: 테스트 커버리지 80% 이상 유지(jacoco + sonarqube) 및 CI/CD 적용
위드콘: 콘서트 만남 서비스
팀/제로베이스 부트캠프
2024.01. ~ 2024.02.
콘서트를 즐기는 사람들이 같은 관심사를 가진 이들과 쉽게 연결될 수 있도록 설계된 플랫폼입니다. 회원 관리, 소셜 로그인, 채팅, 실시간 알림 등 다양한 기능을 구현했습니다. 프로젝트 기간 동안 팀원들과의 긴밀한 협업을 통해 진행되었으며, 서비스 설계부터 개발, 배포까지 모든 과정을 경험했습니다. Github Link
스프링 시큐리티 기반 회원가입, 로그인, 로그아웃 기능 구현 및
리프래시 토큰을 활용한 보안 강화
OAuth2 프로토콜 파악 및 라이브러리 없이 소셜 로그인 직접 구현 및 확장성을 고려한 설계 적용
STOMP, RabbitMQ를 활용한 채팅 구현
SSE, Redis Pub/Sub을 활용한 실시간 알림 구현
Github Issues, Slack, Notion을 활용해 작업 분담 및 일정 관리
코드 리뷰와 정기 스크럼을 통해 프로젝트 진행 상황을 점검
책 리뷰 서비스
개인
2023.12. ~ 2024.01.
독자들이 책 리뷰를 작성하고 공유할 수 있는 서비스 입니다. 외부 API와의 안정적인 연동 및 실시간 알림 기능을 통해 사용자 경험 개선 학습을 목표로 하였습니다. Github Link
FeignClient를 사용하여 네이버 책 검색 API 호출
책 검색 API 호출 실패 시 CircuitBreaker(resilience4j)를 사용하여 캐싱된 데이터 응답
캐싱된 데이터도 없을 시 카카오 책 검색 API로 우회하여 사용자 경험 개선
Redis Pub/Sub 기반 SSE로 다중 WAS 환경에서도 실시간 알림 기능 제공
포트폴리오
교육
제로베이스
사설 교육 | 백앤드 개발자
2023.08. ~ 2024.02. | 수료
대외활동
코딩 테스트 스터디
기타
개발자로서 문제 해결 능력을 강화하고 기업의 코딩 테스트를 대비하기 위해 시작하였습니다.
백준, 프로그래머스 문제 풀이 및 리뷰
시간 복잡도 분석, 모의 코딩 테스트 진행
프로그래머스 PCCP Java Lv3 자격증 취득, 백준 골드1 달성
운영체제 스터디
기타
프로세스, 스레드, 메모리 관리, 동기화 등 CS 기초 지식 강화를 목표로 시작하였습니다. 배운 내용을 스터디원분들께 쉽고 이해되기 쉽게 설명해야하는 과정에서 책임감과 커뮤니케이션 능력을 기를 수 있었습니다. 또한 CS를 알아감에 따라 개발 중 고려할 수 있는 범위가 증가함을 느낄 수 있었습니다.
대학 운영체제 강의 학습
배운 내용을 요약 및 발표, 질의응답 진행
개발 중 고려해야 할 시스템 설계 지식 습득 및 고려할 수 있는 범위 증가
자격증
PCCP 코딩 전문 역량 인증(코딩 테스트) Java
레벨3 | 프로그래머스
2024.07.
자기소개
팀 프로젝트에서의 문제 해결 능력
학원 팀프로젝트에서 기존 요구사항이 변경되는 도전에 직면했을 때, 저는 팀의 목표를 위해 라이브러리를 사용하지 않고 직접 구현하는 방식을 선택했습니다. 요구사항 분석 후, OAuth2 기반 인증을 설계하며 코드의 확장성을 고려한 객체지향 설계를 적용했습니다. 이 경험은 문제 해결 능력뿐만 아니라 팀을 위한 헌신적인 자세를 다질 수 있었던 계기였습니다.
객체지향적인 코드 설계와 학습 태도
유지보수성과 확장성을 갖춘 코드를 작성하기 위해 객체지향 설계 강의를 수강하며 학습한 내용을 토이 프로젝트에 적용해 보았습니다. 특히, 리팩토링 과정이나 테스트 코드를 작성할 때 객체에게 책임을 위임해주는 설계가 유지보수에 중요함을 체감했습니다. 이처럼 새로운 기술을 배우고 실험하며, 더 나은 코드를 작성하려는 태도는 제 성장의 원동력입니다.
책임감과 소통 능력
스터디에서 어려운 개념을 동료들에게 설명하며, 명확한 의사소통과 논리적인 사고를 바탕으로 학습한 내용을 전달하는 역할을 수행했습니다. 이러한 경험은 고객 및 동료와 소통하며 문제를 정의하고, 최선의 방법으로 해결하려는 제 태도를 보여줍니다.