미리보기
기본 정보
Java/Spring Boot와 Kotlin/Spring Boot를 활용한 백엔드 애플리케이션 개발을 주로 하고 있습니다. 코드 품질을 높이고 관심사를 분리하여 유연하고 확장 가능한 설계를 목표로 합니다. 이를 통해 지속적으로 실력을 향상시키기 위해 노력합니다.
자기소개
[협업과 문제 해결을 통한 개발 역량 강화]
웹개발자에 필요한 역량을 갖추기 위해 적극적으로 준비해왔습니다. 전공 수업을 통해 기초적인 프로그래밍 언어와 알고리즘에 대한 이해를 쌓았습니다. 그러나 이론적인 지식만으로는 부족하다는 것을 깨닫고 다양한 개발 분야에 대한 이해를 넓히기 위해 먼저 학생 개발자 커뮤니티인 GDSC DEU에 가입하였습니다. 이 활동을 통해 여러 스터디에 참여하며 다양한
개발 분야를 접하게 되었고 그중에서 서비스의 안정성과 효율성을 책임지는 백엔드에 관심을 가지게 되었습니다. 이러한 관심을 바탕으로 Spring Boot 스터디에 꾸준히 참여하며 스터디원들과 함께 각 챕터의 핵심 개념을 도출하고 토론함으로써 Spring Boot 기반의 백엔드 지식을 체계적으로 쌓을 수 있었습니다. 이런 경험을 바탕으로 실제 기업에 현장 실습을 나가게 되었고 실무 프로세스와 현업 기술을 익힐 수 있었습니다. 이 과정에서 프론트엔드와 백엔드 두 분야를 모두 경험하게 되었습니다. 이후 웹 개발자로서의 경험을 더욱 쌓기 위해 외부 IT 동아리 DND에 가입하였습니다. DND에서는 백엔드 개발자로 프로젝트에 참여하며 하나의 서비스를 완수하는 과정에서 문제를 해결하는 능력과 다른 직군과의 협업 능력 등을기를 수 있었습니다.
이외에도 팀원들과의 정기적인 코드리뷰를 통해 중복된 로직을 공통 모듈로 분리하고 재사용성과 유지보수성을 높이는 설계방향을 제시하였습니다. 이를 통해코드의 품질을 개선하고 개발생산성을 향상시키는데 기여하였습니다. 이러한 경험을 통해 백엔드 개발에 대한 전문성을 높이고 문제 해결 능력과 협업 능력을 강화하였습니다
[목표에 대한 집념과 환경의 적응력을 가진 개발자
성격의 장점은 목표를 향한 열정과 끈기가 강하다는 것입니다. 목표를 향한 강한 집념을 가진 개발자로 어려운 상황에서도 문제를 끝까지 해결하려는 의지를 가지고 프로젝트에 임합니다. 이전 프로젝트에서 도커 인스턴스 문제로 이미지 출력이 되지 않는 상황에서 빠르게 해결책을 찾기 위해 AWS EC2에 JAR 파일을 직접 배포하는 방식으로 서버 운영 방식을 변경하여 해당 문제를 해결했습니다. 이 과정에서 팀원들과 적극적으로 소통하며 다양한 해결책을 모색하고 빠르게 적용하여 문제를 해결했습니다. 또한 프로젝트에서 새로운 기술 스택을 도입할 때도 집념을 발휘하여 빠르게 학습하고 적용할 수 있습니다. 프로젝트를 진행하며 사용해 본 적이 없는 기술이었지만 팀 프로젝트의 원활한 진행을 위해 관련 자료와 공식 문서를 기반으로 기초를 학습하였습니다. 이 과정에서 온라인 강의를 활용하여 기술에 대한 이해도를 높였고 실제 프로젝트와 유사한 다른 프로젝트의 코드를 찾아 분석하며 실질적인 적용 방법을 모색하였습니다. 이러한 노력 덕분에 팀원과의 협업이 수월해졌고 프로젝트의 기술적 요구사항을 충족시키는 데 기여할 수 있었습니다.
반면, 단점으로는 간혹 초반에 낯을 가리는 경향이 있다는 것입니다. 이러한 성향을 극복하기 위해 약 1년간 개발자 커뮤니티에 참여하며 다양한 사람들과 소통하는 경험을 쌓았습니다. 그 결과 새로운 환경이나 사람과의 만남에서 긴장을 하기도 하지만 이를 극복하기 위해 적극적으로 소통하게 되었습니다. 실제로 현장 실습을 나갔을 때 낯선 환경에 긴장했지만 주변 동료들에게 적극적으로 질문하며 업무에 빠르게 적응할 수 있었습니다. 앞으로도 이러한 성향을 긍정적으로 활용하여 새로운 환경에서도 더 빠르게 적응하고 팀원과 협업을 통해 팀의 일원으로서 더 큰 기여를 할 수 있도록 노력하겠습니다.
[기능 구현에서 성능 개선으로 성장하는 개발자]
서비스의 성능이 고객의 경험에 결정적인 역할을 할 수 있기에 개발자로서 서비스를 개발할 때 성능을 고려하며 개발을 진행해왔습니다. 저는 외부 IT 동아리에 가입해 6명의 팀원과 팀을 이루어 협업하여 프로젝트를 진행하며 성능 개선을 위한 2가지 방법을 적용한 경험이 있습니다. 프로젝트의 목표는 아날로그로 진행되는 업무를 디지털화하여 편의점 근무자가 업무를 효율적으로 수행할 수 있도록 하는 웹 애플리케이션 서비스를 개발하는 것이었습니다. 프로젝트의 백엔드 개발자로서 6명의 팀원과 약 3개월 동안 프로젝트를 진행하였습니다. 프로젝트는 팀원들과의 활발한 소통과 협업을 통해 정해진 기간 내에 성공적으로 완수하였습니다. 프로젝트가 종료된 이후 진행 당시에 마감 기간을 완수하기 위해 기능 중점적으로 개발을 한 것이 아쉬움으로 남아 프로젝트의 피드백을 받은 내용 중 하나인 서비스의 느린 응답 네트워크 응답 속도를 추가로 개선하기로 결정하였습니다. 먼저 느린 응답 속도의 원인이 과도하게 발생하는 DB 연결이라고 판단하여 먼저 불필요하게 DB 연결이 발생하는 부분을 찾고 DB 연결이 발생하는 빈도를 줄이는 방향으로 코드를 수정하였습니다. 응답 속도가 개선되었지만 개선할 여지가 있다고 판단하여 캐시를 추가로 도입하였습니다. 이때 서비스가 운행되는 서버의 성능을 고려하여 많은 정보보다는 재접근이 많은 사용자 정보 하나만을 캐싱하였습니다. 이렇게 캐시를 도입한 결과 서비스의 응답 속도는 약 51% 개선되었습니다. 이런 프로젝트 경험을 통해 다른 직군과의 협업 능력과 소통 능력을 기를 수 있었습니다. 그리고 서비스의 성능을 개선한 경험을 바탕으로 기능을 구현하는 것에서 나아가 개발 단계에서 성능을 함께 고려하는 개발자로서 성장하는 것을 목표를 가지게 되었습니다.
기술 스택
Java, Spring Boot, Kotlin, spring-jpa, MySQL, MariaDB, Docker
경력
(주)일주지앤에스
인턴(실습) | ESG경영
2022.03. ~ 2022.06. (4개월)
대학교 4학년 1학기 현장실습으로 실제 기업 환경에서의 프로젝트 진행 과정을 경험, ESG 경영부서에서 “중소기업을 대상으로 한 안전관리 플랫폼”을 개발
Vue.Js를 활용한 클라이언트와 Java기반 SpringBoot를 활용한 서버 개발을 담당하였으며 RESTful API 설계를 경험
클라이언트와 커뮤니케이션 코스트를 낮추기 위해 API 문서화 및 REST API 원칙을 지키며 명시적이고 유지보수 가능한 API를 개발하려 노력
안전 점검 관리, 그룹 관리 관리, 공정 관리 관리, 프로그램 관리 관리 등의 기능을 구현하여, 실제 비즈니스 요구사항을 기술적으로 해결
프로젝트
모임 정산 서비스 - 모또(Moddo)
IT동아리 DND
2024.12. ~ 진행 중
팀구성 : 6명 (프론트엔드 2명, 백엔드 2명, 디자이너 2명) / 팀멤버로 40%이상 기여
목적 : 외부 IT 개발 동아리에서 백엔드 개발자로 팀 프로젝트에 참여하여, 게이미피케이션 요소를 통해 사용자 참여도를 높이고 정산 과정을 효율화하는 모임 정산 서비스 개발
개발 환경 : Java17 / Spring boot, Spring Data JPA, Gradle, MariaDB, AWS EC2, Docker
기술적 경험 :
CI/CD 파이프라인 자동화
Docker와 GitHub Actions를 활용한 CI/CD 파이프라인 구축으로 배포 프로세스 60% 단축
자동화된 테스트 및 배포로 개발 주기 단축 및 제품 안정성 향상
데이터 모델 최적화
단방향 매핑을 적용하여 엔티티 간 관계를 단순화하고 메모리 최적화
불필요한 양방향 관계 제거로 데이터 일관성 유지
코드 품질 및 유지보수성
AOP를 적용하여 권한 검증 로직을 모듈화
코드 중복 20-30% 감소 및 비즈니스 로직의 가독성 향상
개발 프로세스 개선
단위 테스트를 통해 코드 품질 향상 및 버그 발생률 30% 감소
코드 리뷰를 통해 중복된 로직을 공통 모듈로 분리하고 코드 일관성 향상
게시판 프로젝트
개인
2024.05. ~ 2024.09.
목적 : Kotlin을 학습하기 위해, 읽기 및 쓰기 등급이 설정된 다양한 게시판에 글을 작성할 수 있는 게시판 프로젝트 진행
기술 스택 : Kotlin, Spring Boot, Spring Data JPA, Kotest, MariaDB, Redis, Sonar Cloud
기술적 경험 :
게시판 및 게시글 관리 시스템 구축
게시판 생성, 수정, 삭제 및 게시글 작성, 수정, 삭제 기능 구현
사용자 등급에 따라 게시판별 읽기 및 쓰기 권한 설정 가능하도록 시스템 설계
Redis 도입 및 성능 개선
게시글별 일간 조회수를 저장하고 조회 성능 최적화를 위해 Redis 도입
평균 응답 시간 440ms 342ms로 단축, 약 22% 성능 개선 달성
인기 게시글 순위 시스템 구현
저장된 조회수를 바탕으로 주간 및 월간 인기 게시글 순위 계산 기능 추가
Redis를 활용하여 일간 및 주간 데이터를 효율적으로 집계 및 관리
관련 링크 : 🔗 github
편의점 근무 관리 서비스 - 슬기로운 편의점 생활
IT동아리 DND
2023.01. ~ 2023.03.
팀구성 : 6명 (프론트엔드 2명, 백엔드 2명, 디자이너 2명) / 팀멤버로 40%이상 기여
목적 : 외부 IT 개발 동아리에서 백엔드 개발자로 팀 프로젝트에 참여하며, 수기로 진행되는 편의점 근무자의 업무 효율을 증가 시키기 위한 프로젝트 진행
기술 스택 : Java, Spring Boot, Spring Data JPA, MariaDB, AWS EC2
기술적 경험 :
공통 응답 포맷 및 문서화
공통 응답 포맷을 추가하여 일관된 API 응답 구조 적용
개발 문서 작성 및 공유로 팀 내 협업 효율성 20% 향상
프로젝트 발표 및 피드백 수집
프로젝트 발표 현장에서 60명이 직접 서비스 사용
실제 편의점 근무자들의 피드백을 반영하여 지속적인 개선 진행
응답 속도 개선
JPA N+1 문제 해결 및 Local Cache 도입을 통해 성능 최적화
전반적인 응답 속도를 51% 개선하여 서비스 품질 향상
포트폴리오
URL
교육
동의대학교
대학교(학사) | 응용소프트웨어공학과
2019.03. ~ 2023.02. | 졸업
진해여자고등학교
고등학교 | 인문계
2016.03. ~ 2019.02. | 졸업
대외활동
GDSC DEU 멤버 활동 (Google Developer Student Club)
2022
활동 :
Google에서 지원하는 학생 개발자 커뮤니티인 GDSC DEU에서 일반 멤버로 활동
Spring Boot 스터디와 OS 스터디에 적극 참여하며, 다양한 개발 세션에 참석
Spring Boot 스터디에서 꾸준히 참여하여 간단한 웹 프로젝트를 개발하고 발생하는 이슈들을 해결함으로써 Spring Boot에 대한 이해도를 높임
팀 프로젝트를 통해 협업 능력을 기르고 Git과 같은 버전 관리 도구를 효과적으로 활용하는 방법을 배움
성과 :
Spring Boot에 대한 이해도가 높아졌으며, 실제 프로젝트에 적용할 수 있는 능력을 키움
다양한 개발 스터디에 참여하여 실무에서 필요한 기술을 습득함
한이음 ICT 멘토링
한이음
2022
활동 :
현업 멘토의 멘토링 하에 설계부터 개발까지 진행하며 실무 프로세스를 경험
팀원들과 앱의 주요 기능과 사용자 요구사항을 논의하여 설계 방향을 설정하고 사용자 인터페이스를 구상을 하며 실무에서의 프로세스를 익힘
Spring Boot와 같은 특정 기술에 대한 스터디 그룹을 만들어 Spring Boot의 기초에 대해 학습
Git 강의를 완수하여 Git의 기본 개념과 사용법을 학습
AWS EC2 클라우드 서버와 RDS를 활용하여 데이터베이스를 설정하고, 서버에서 앱을 호스팅하는 방법을 익힘
성과 :
Spring Boot를 활용한 기본적인 웹 애플리케이션 개발 기술을 익혀, 백엔드 개발에 대한 이해도를 높임
AWS EC2와 RDS를 활용하여 클라우드 서버에 프로젝트를 배포하는 경험을 쌓음
자격증
정보처리기사
기사 | 한국산업인력공단
2024.09.