채용공고 올리기

손승현님을 응원해보세요!

이직/구직 중이에요
협업 지향
유연함
목표 지향적
커뮤니케이션
자기 주도적

미리보기

기본 정보

이름
손승현
직업
백엔드 개발자
이메일
sonshn@naver.com
간단 소개

코드와 세상을 연결하는 개발자, 손승현입니다. 저는 이러한 가치를 추구합니다. 1. 지속적 성장: 빠르게 발전하는 기술 속에서 지속적인 학습을 통해 성장하려고 노력합니다. 2. 도전적 사고: 학습한 내용을 프로젝트에 적용하여 더 나은 결과물을 만들기 위해 고민합니다. 3. 협업과 소통: 효과적인 커뮤니케이션을 바탕으로 팀워크를 강화하는 것을 중요하게 생각합니다. 4. 팀원과 함께: 상호 피드백을 통해 팀원과 알거나 모르는 내용을 공유하는 것을 좋아합니다. 5. 사용자 경험: 개발한 결과물을 사용자가 편리하게 이용할 수 있도록 고민합니다.

자기소개

자기소개

저는 호기심을 바탕으로 생산성을 개선할 수 있는 새로운 기술에 도전하는 것을 좋아하며, 공동 목표를 달성하기 위해 팀원과 적극적으로 의사소통하고 협업의 가치를 소중하게 여깁니다. 저는 이 가치를 지키기 위해 팀원이 뒤처지지 않도록 적극적으로 도와주었으며, 함께 프로젝트를 진행한 팀원들로부터 주로 '든든하다'는 평가를 받았습니다.

또한, 저는 iOS, Android, Web, PM, 디자이너 등 다양한 파트의 팀원들과 사이드 프로젝트를 3회 진행한 경험이 있어, 팀원의 역할을 이해하고 원활한 커뮤니케이션을 바탕으로 팀워크의 발전에 기여할 수 있습니다.

저는 '코드와 세상을 연결하는 개발자'가 되기 위해 지속적인 성장과 도전을 추구하며, 최근 회고와 정리의 필요성을 느껴 개발자 글쓰기 모임에 가입해 기술 블로그 운영을 시작했습니다. 이를 통해 배우거나 막혔던 부분을 돌아보고, 더 나아가 다른 개발자들과 지식과 경험을 공유하며 성장하고 있습니다.

기술 스택

기술 스택

Java, Spring Boot, JPA, MySQL, Redis, AWS, JIRA

프로젝트

프로젝트명

부꾸러미

소속/기관명

테오의 스프린트 18기 사이드 프로젝트

프로젝트 기간

2024.12. ~ 2025.01.

프로젝트 내용
개요

부꾸러미는 '부끄럽다'의 '부끄'와 '꾸러미'의 '러미'가 합쳐진 단어로, 사용자들이 평소에 부끄러워서 직접 하기 어려운 질문과 답변을 남길 수 있는 서비스입니다. 이 서비스는 '여러분은 주위 사람들에게 내가 어떤 사람이었는지 궁금하지 않으신가요?'라는 질문을 기획 의도로 삼아 만들어졌습니다.

사용자는 평소에 하지 못했던 질문(보따리)을 간단하게 만들어 주변 사람들에게 전달하고, 답변(구슬)을 받을 수 있습니다. 답변을 남긴 사람은 구슬의 색깔을 설정할 수 있으며, 그 색깔에 맞춰 메인 화면에 눈송이가 내려옵니다.


사용 기술

Spring Boot, jOOQ, AWS, MySQL, GitHub Actions, Swagger, Jira


개발 내용
  • SQL 문을 Java 코드로 직접 작성할 수 있고, 복잡한 JOIN의 처리와 성능 최적화에 유리한 jOOQ를 사용하여 질문별 답변 리스트 조회, 랜덤 답변 추출, 답변 생성 및 삭제 기능을 구현했습니다.

  • Spring에서 제공하는 Validation을 활용하여 입력 값에 대한 유효성 검증을 처리했습니다.

  • 별도의 API를 추가하지 않고, DTO의 필드를 활용하여 회원과 비회원 구분을 구현했습니다. 이를 통해 공유 링크를 통해 접속한 비회원도 답변을 남길 수 있도록 하여, 회원 여부와 상관없이 답변 기능을 제공했습니다.

  • Preflight 요청으로 인한 메인 페이지 로딩 지연 문제와 CORS 오류를 해결하기 위해, CORS 설정을 관리하는 Bean을 생성하여 해당 문제들을 해결했습니다.

  • Spring Boot 3에서 변경된 Swagger-UI 관련 설정을 반영하여, Swagger가 제대로 배포되지 않는 문제를 해결했습니다.

  • RDS에 데이터가 저장될 때 Asia/Seoul 시간대가 반영되지 않는 것을 확인하여, 수정한 엔드포인트를 Jasypt로 암호화한 후 배포함으로써 문제를 해결했습니다.

  • GitHub Actions를 사용했음에도 계속 서버가 한 단계씩 밀려 반영되는 문제를 발견하여, Docker 명령어들의 순서를 바꾸고, Checkout Workflow의 ref 설정을 수정하여 문제를 해결했습니다.


성과
  • 2025년 1월 배포 시작 후, 하루 만에 100명의 이용자를 확보하고, 일주일 후 이용자가 136명으로 증가했습니다. 또한, 서비스를 통해 이용자들 간에 총 101개의 질문과 282개의 답변이 활발하게 이루어졌습니다.

  • 프로젝트 회고


GitHub

프로젝트명

Family Moments

소속/기관명

UMC 4기 사이드 프로젝트

프로젝트 기간

2024.04. ~ 2024.09.

프로젝트 내용
개요

최근 현대 사회에서는 가족 구성원들이 서로의 일상을 나누는 시간이 줄어든 경우가 많습니다. 특히, 멀리 떨어져 사는 가족들은 소통하기도 더욱 어렵습니다.

이 앱은 이 문제를 해결하기 위해 가족 구성원들 사이 소통을 활성화하기 위한 목적으로 만들어졌으며, 사용자는 가족 구성원을 같은 공간에 초대하여 게시물과 사진을 업로드하고, 공유 앨범 및 캘린더 기능을 통하여 업로드한 사진을 가족들과 함께 공유할 수 있습니다.


사용 기술

Spring Boot, Spring Data JPA, AWS, MySQL, MongoDB, Redis


개발 내용
  • 동기간 진행한 다른 프로젝트에서 데이터가 추가됨에 따라 일부 조회 API의 응답 시간이 느려지는 것을 확인했습니다. 따라서, 동일한 상황이 발생할 것을 우려해 MongoDB를 적용하고 스키마를 수정하여 게시물 및 앨범 조회 API의 응답 시간을 평균 2초에서 1초로 감소시켰습니다.

  • 서비스 출시 전 QA 과정에서 일부 API 반환 값을 통해 개인 정보 유출 위험이 발생할 수 있다고 판단했습니다. 이를 해결하기 위해 Redis를 활용해 3분의 인증 유효 시간을 설정한 본인 인증 이메일 기능을 도입하여, 기존 문제도 해결하고 회원 가입 UX를 개선했습니다.

  • Staging Server를 구축해 개발 환경과 배포 환경을 분리하여 팀원들이 좀 더 안정적인 환경에서 테스트 할 수 있도록 도왔습니다.

  • AWS 환경 설정을 하면서 S3 버킷에 저장된 사진 객체가 제대로 삭제되지 않는 것을 발견하여, 관련 로직을 수정해 문제를 해결했습니다.

  • JPA를 활용해 게시글 좋아요 기능을 구현하고, 게시물 조회 API에 Paging 기능을 추가했습니다.

  • GitHub를 이용한 코드 리뷰 시스템을 도입하여, 총 65개의 PR에 남긴 댓글을 통해 팀원들 간에 서로 놓친 부분이나 더 나은 코드를 작성할 수 있는 방법을 알려주어 개발 생산성을 개선했습니다.


성과
  • 2024년 9월에 Google Play Store에 앱을 정식 출시한 후, 2025년 1월까지 약 4개월 간 운영을 진행했습니다.


GitHub

프로젝트명

Common Plant

소속/기관명

UMC 3기 사이드 프로젝트

프로젝트 기간

2023.07. ~ 2024.09.

프로젝트 내용
개요

반려 식물은 사무실이나 카페 같은 여러 사람들이 이용하는 공간부터 집과 같은 개인적인 공간까지, 우리의 일상 곳곳에 존재합니다. 이 서비스는 여러 공간에 있는 반려 식물들을 한 곳에 모아 조금 더 효과적으로 관리할 수 있도록 돕는 '모두를 위한 식물 관리 앱'입니다.


사용 기술

Spring Boot, Spring Data JPA, AWS, MySQL, Swagger


개발 내용
  • 회원별로 식물 관리 이력을 확인할 수 있는 캘린더 기능을 구현한 후, 데이터가 누적됨에 따라 API 응답 시간이 길어지는 문제를 발견했습니다. 이를 해결하기 위해 Hibernate의 Spring Data Envers를 도입하여 응답 시간을 기존의 30% 수준으로 단축했습니다.

  • 식물 조회 화면에서 식물을 키울 수 있는 팁을 제공하고, 식물 생성 시 물 주기 설정 기능을 추가했습니다.

  • 또한, 사용자가 물 주기를 관리할 수 있도록 식물별로 남은 날짜를 계산한 후, JPA를 활용해 오름차순으로 정렬된 식물 리스트를 메인 화면에서 조회할 수 있도록 했습니다.

  • 팀원이 식물을 관리하는 장소에서 탈퇴했음에도 그 팀원 관련 정보가 제대로 삭제되지 않는 것을 발견하여 CASCADE를 이용해 문제를 해결했습니다. 또, 더 나은 UX를 고려하여 탈퇴한 팀원은 '알 수 없음'으로 표시하도록 로직을 개선했습니다.


성과
  • Swagger를 도입하여 iOS 팀원들이 더 편하게 개발할 수 있도록 했고, 개발 속도를 개선시켰습니다.


GitHub

포트폴리오

URL

link

GitHub 프로필

깃허브
link

부꾸러미 (서비스 링크)

URL 링크
link

Family Moments (Google Play Store) 스크린샷

URL 링크

교육

소속/기관명

광운대학교

종류 | 전공

대학교(학사) | 컴퓨터정보공학부

재학 기간 | 재학 상태

2018.03. ~ 2024.08. | 졸업

대외활동

활동명

Open Contribution Jam 2024

소속/기관명

클라우드 유랑단

연도

2024

내용

Open Contribution Jam 2024에 참여하여, 6시간 동안 나인크로니클의 오픈소스 프로젝트인 Mimir 중 스킬 합성 기능에 대한 단위 테스트를 작성하고, 이를 PR를 통해 반영하는 기여를 했습니다. (관련 링크)

활동명

UMC 광운대학교 3기, 4기

소속/기관명

대학생 개발 연합 동아리 UMC

연도

2023

내용

1년 동안 UMC 광운대학교의 부원으로 활동하며 학기 중에는 교내 부원들과 Spring 스터디를, 두 번의 방학 기간에는 다른 학교의 부원들과 함께 두 개의 사이드 프로젝트를 진행했습니다. 두 개의 사이드 프로젝트 모두 최초 개발 기간인 2개월 후에도 추가 개발을 진행했으며, 그 중 1개는 Google Play Store에 정식 출시되어 4개월 동안 운영되었습니다.

자격증

자격증명

OPIC

점수 | 발급기관

IM3 | ACTFL

취득연월

2024.08.

자격증명

SQL 개발자(SQLD)

점수 | 발급기관

한국데이터산업진흥원

취득연월

2024.06.

자격증명

데이터분석 준전문가(ADsP)

점수 | 발급기관

한국데이터산업진흥원

취득연월

2021.12.

자격증명

정보처리기사

점수 | 발급기관

한국산업인력공단

취득연월

2021.11.

댓글