미리보기
기본 정보

저는 다양한 환경에서 쌓은 소통 경험이 있으며 책임감이 강한 개발자입니다. 10개 이상의 아르바이트 경험을 통해 빠르게 요구를 파악하고 협업하는 법을 익혔습니다. 백엔드 교육과정 중 3번의 프로젝트를 거듭하면서 문서화와 체계적인 업무 관리의 중요성을 배우고 실천해 팀의 생산성을 높였습니다. 그 결과 모든 프로젝트에서 1등을 수상하며 핵심 기여자로서 역할을 수행했습니다.
기술 스택
Java, Spring Boot, Spring Security, JPA, MySQL, aws-ec2, aws-rds, JavaScript, React, XD, Illustrator
프로젝트
캠핑온
엘리스트랙
2024.11. ~ 2024.12.
선호 키워드 기반 추천 & 검색이 가능한 캠핑 예약 웹 사이트
사용 기술
Java
Spring Boot
Spring Security
Spring Data JPA
JWT
OAuth2
MySQL
MongoDB
Gradle
JUnit
React
JavaScript
TailwindCSS
Material UI
Amazon EC2
Amazon S3
Amazon RDS
Redis
NGINX
Netlify
Docker
GitHub Actions
담당 업무
Google 연동
동기 간편한 인증 방식을 제공하여 유저 경험을 개선하고자 함
해결방법 Spring Security, OAuth 2.0, JWT을 활용한 Google 연동
평가 인증 절차 간소화로 빠른 서비스 제공 & 사용자의 진입 장벽을 낮춤
예약 API 고도화
동기 운영 효율성을 위해 예약 상태 자동화 필요(환불 불가, 체크인 완료, 예약 취소)
해결방법 Spring Scheduler를 활용한 예약 상태 자동 갱신
평가 업무 효율성 증대를 위한 관리자 경험 최적화
Logging AOP 설계
동기 집중적으로 로그 확인이 필요한 부분이 있음
해결방법1 비즈니스 로직과 로깅 기능을 분리하여 일관된 로깅 체계 구축
해결방법2 메서드 실행 전후 및 예외 발생 시 로깅 레벨을 구분하여 로그 기록
평가 시스템 상태나 문제를 빠르고 정확하게 확인할 수 있게 됨
Github Actions & 코드 리뷰 활용
동기 에러가 발생했을 때 반복적으로 상황 설명을 하느라 진행도가 더뎌짐
해결방법1 에러 상황과 재확인 방법 등을 기술하도록 템플릿 지정
해결방법2 모든 팀원의 Approved 이후 Merge하도록 규칙화
평가 작업 진행도와 에러발생 상황 등 공유가 원활해짐
팀 노션 문서화 및 관리, 회의록 서기 담당
동기 지난 프로젝트에서 매일 회의를 진행했음에도 불구하고 의견이 달라 혼선을 겪음
해결방법1 OKR 기반의 회의록 작성
해결방법2 본인 코드 활용법 등을 공유하기 위한 꿀팁게시판 개설
평가1 목표 추적과 진행 상황을 한 번에 파악할 수 있음
평가2 진행 속도 향상 - 전체 개발 일정보다 1-2일 빠르게 마무리 됨
React 컴포넌트 코드
동기 UI 요소의 중복 코드로 인해 유지보수와 가독성이 어려움
해결방법 MUI를 활용해 재사용 가능한 컴포넌트 디자인 적용
평가 UI 통일과 간결한 코드로 유지보수성 향상
인사이트
유닛테스트 중 stub 코드의 오류 발생 → Mockito의 철학과 테스트 엄격성 인지
테스트의 독립성을 위해서 stub 코드는 최소화하는 것이 바람직하다.
모든 mock을 준비해두면 테스트의 변화를 처리하기 어려울 수 있다는 점을 인지하자.
테스트의 변경이나 확장 처리를 항상 고려하는 테스트 코드 작성을 습관화 하자.
편집
엘리스트랙
2024.09. ~ 2024.10.
비로그인-로그인 연동 장바구니와 3단계 카테고리 시스템의 가구 쇼핑 웹 사이트
기술 스택
Java
Spring Boot
Spring Security
Spring Data JPA
JWT
MySQL
Gradle
React
JavaScript
Bootstrap
Amazon EC2
Amazon RDS
GitLab
담당 업무
3계층 카테고리 설계
동기 다양한 종류 제품 특성상 계층구분없이는 검색 유용성, 관리 편의성이 낮아보임
해결방법1 재귀적 관계의 ERD 설계, 엔티티 설계 시 셀프 조인 활용
해결방법2 불필요한 재귀적 조회쿼리를 줄이기 위해 최상위 부모 카테고리만 먼저 조회 → 자식 카테고리들을 연결하는 방식으로 별도의 재귀 호출 없이 비즈니스 로직을 구성
평가 제품 관리의 효율성이 크게 향상, 장기적인 데이터 확장이나 관리가 용이해짐
카테고리 조회메서드 서비스 로직 코드
관리자 페이지 인가 절차
동기
해결방법
평가
전역 예외 처리 및 핸들러 설계
동기
해결방법
평가
LocalStorage를 활용해 장바구니, 카테고리 데이터 유지
동기
해결방법
평가
인사이트
Reflection을 활용한 JPA DTO 및 JSON 객체 파싱 과정 공부
DTO 클래스는 역할을 고려하여 기본 생성자와 Getter/Setter 메서드를 정의한다.
JPA 어노테이션의 역할을 정확히 알고 불필요한 사용을 방지하자.
Java Reflection, Spring DI 프레임워크의 동작 방식에 대해 더 깊이 공부했다.
카테고리 서비스 로직의 복잡성 → 유틸클래스 활용한 코드 분리
재사용 가능한 로직을 유틸클래스로 분리하여 코드 중복을 줄여보자.
서비스 클래스의 책임을 명확히 구분하여 가독성과 유지보수성을 높일 수 있다.
단순하고 재사용 가능한 메서드라면 static 클래스에 적합할 수 있다는 걸 고려하자.
자기소개
아르바이트 경험으로 키운 소통 능력과 책임감
대학 합격 직후 다니던 입시 학원에서 강사로 첫 아르바이트를 시작했습니다. 이후 카페, 베이커리, 초등 미술 교사, 뷰티 드럭스토어, 편의점, 요식업 등 다양한 분야에서 일하며 고객과 동료들과의 소통 능력을 키웠습니다. 맡은 일에는 언제나 책임감을 다했다고 자부합니다. 2018년 초등 미술 학원 강사 시절에는 이러한 태도로 원장님의 신뢰를 얻어 새로운 학원 개원 시 다시 함께하자는 제안을 받기도 했습니다. 이 경험은 책임감 있는 태도가 신뢰와 더 큰 기회로 이어진다는 것을 깨닫게 해주었습니다.
개발은 혼자서 하는 일이 아닙니다. 내가 작성한 코드의 의미를 명확하게 전달해야 하며 팀원들과 원활한 커뮤니케이션이 필수적입니다. 저는 다양한 환경에서 쌓은 소통 경험과 책임감 있는 태도로 팀의 발전에 기여할 수 있는 개발자입니다.
혼자가 아닌 팀으로 개발하기 위해
여러 프로젝트 경험을 통해 명확한 기록과 정리된 문서가 팀 전체의 생산성을 좌우한다는 것을 경험했습니다. 처음에는 MVP 기능 구현에만 집중했지만, 프로젝트를 거듭할수록 체계적인 문서 관리의 중요성을 깨달았습니다. 기능 명세서 작성, WBS 기반 시간 관리, OKR 방식의 회의록 작성 등으로 효율적인 협업을 이끌어냈으며, 팀 노션 관리와 스크럼 회의 서기를 통해 팀 내 소통을 주도했습니다. 좋은 참고 자료나 코드 가이드를 공유할 수 있도록 ‘꿀팁 게시판’을 만들어 운영하기도 했습니다.
이처럼 저는 개발 과정에서 문서화를 중요하게 생각하고 이를 적극적으로 활용하는 개발자입니다. 혼자만 이해하는 코드가 아닌 누구나 쉽게 파악할 수 있도록 고민하면서 협업의 효율성을 높이고, 서비스의 안정성과 확장성을 향상시키는 것을 추구합니다.
포트폴리오
자격증
SQL 개발자
한국데이터산업진흥원
2024.12.
OPIc
IM2 | ACTFL
2025.02.
외국어
영어
일상 회화 가능
교육
엘리스트랙
사설 교육 | 백엔드
2024.06. ~ 2024.12. | 수료
남궁성 데브캠프
사설 교육 | 백엔드
2023.08. ~ 2024.03. | 수료
서울과학기술대학교
대학교(학사) | 시각디자인
2013.03. ~ 2024.09. | 중퇴
대외활동
덴마크 교환학생
University College of Northern Denmark
경력
스타벅스 코리아
바리스타
2022.10. ~ 2024.09. (2년)
아센디오 키위미디어그룹
사원 | 콘텐츠사업본부
2020.03. ~ 2020.07. (5개월)