미리보기
기본 정보
새로운 도전을 좋아하는 신입 백엔드 개발자 임수진입니다. - 새로운 지식과 기술을 마주하고 알아가는 것을 즐기고, 이에 대한 습득과 적용이 빠릅니다. - 해결하기 어려운 문제를 풀어나가며 좋은 방향으로 개선해 나가는 경험을 매우 좋아합니다. - 저의 경험을 블로그에 기록해 공유하고 사람들과 교류하는 것을 좋아합니다. - 팀이 공동의 목표를 향해 잘 나아갈 수 있도록 함께 일하는 팀원들과 효율적으로 소통하고 팀원들을 이끌어나갈 수 있습니다.
기술 스택
Java, Spring Boot, MySQL, Redis, Docker, AWS, Git, JPA, Spring Batch, github-actions, Jenkins, 네이버 클라우드, grafana, Prometheus
프로젝트
Hiff
Hiff
2024.03. ~ 진행 중
창업 팀에서 앱의 서버 개발을 담당했습니다.
[대용량 데이터 처리 성능 개선]
24시간마다 여러 조건을 검사해 사용자들을 매칭하는 기능에서 실행 시간이 오래 걸리는 문제가 발생했습니다. 이를 해결하기 위해 예상 사용자 수인 10만 개의 데이터와, 성능 지표로 사용하기 위한 1,000개의 데이터로 테스트하며 성능을 개선했습니다.
먼저 우선순위 큐를 활용해, 사용자에게 매칭되는 상대의 수를 분배하는 작업의 실행 시간을 단축했습니다. 또한 DB 조회 횟수를 최소화하기 위해 로직을 최적화하고, Spring Batch를 적용해 대규모 데이터에 대한 작업을 비동기 처리함으로써 성능을 개선했습니다. 인덱스 활용 시 더 좋은 성능을 보이는 테이블에는 인덱스를 적용해 조회 성능을 개선했습니다. 그 결과, 매칭 성능은 약 99.8% 개선됐습니다.
이 경험으로 대규모 데이터의 효율적인 처리를 위한 다양한 방법을 익힐 수 있었습니다. 또한 문제 해결을 위해 다양한 접근 방식을 시도하고 테스트하는 과정의 중요성을 깨달았습니다.
[Spring Batch 오픈 소스 코드 개선]
Spring Batch 개발자와 GitHub에서 오픈 소스 코드에 대해 토론하며 개선점을 모색했습니다.
개발 초반에는 다양한 시도를 위해 구현 자체에 집중했지만, 개발에 익숙해지면서는 공식 문서와 소스 코드를 분석하며 더 깊이 있는 개발을 추구하게 되었습니다. 그 과정에서 RedisItemReader/Writer 오픈소스 코드의 허점을 발견해 Spring Batch의 GitHub에 수정을 요청했습니다. 마침 개발자분도 같은 문제를 인지하고 코드를 수정 중이었으며, 작업 중인 코드를 공유하며 제 의견을 물었습니다. 저는 Redis의 특징을 바탕으로 제 코드의 효율성을 설명했고, 개발자분은 이를 긍정적으로 받아들였습니다.
이 경험을 통해 깊이 있는 탐구를 통한 문제 해결 능력을 키우며, 개발 효율성과 기술적 이해도를 크게 향상시켰습니다. 또한, 소통을 통한 기술적 성장의 중요성을 깨달았고, 다른 사람에게 의견을 명확하고 효과적으로 전달하기 위해 더욱 노력하게 되었습니다.
촌스러운 여행
2024.05. ~ 진행 중
시골 체험을 통해 현대인들에게 힐링을 제공하는 서비스를 개발하는 프로젝트에서 백엔드 팀장을 맡아 백엔드 전반을 관리했습니다.
[클라우드 기반 인프라 구축과 지식 공유]
NCP를 기반으로 인프라를 구축하고 이 경험을 공유해 클라우드 인프라 설계와 운영에 대한 심도 있는 지식을 쌓았습니다.
NCP는 다양한 기능이 직관적으로 구성되어 있어 사용하기 편리했습니다. 특히, AWS에서 공식 문서만으로는 확실히 이해하기 어려웠던 기능들도 NCP에서는 공식 문서만으로도 충분히 다룰 수 있었습니다. 이러한 이유로 NCP를 사용해 클라우드 서비스를 제대로 익혔습니다.
NCP에 대한 정보가 많지 않아 문제가 생겨도 혼자 공부하며 해결해 나가야 했지만, 그 과정이 저에게는 흥미로운 도전이자 즐거운 모험이었습니다. NCP 사용 경험을 블로그에 공유하며 사람들이 쉽게 따라 할 수 있도록 정보를 제공했고, 그 결과 네이버 클라우드 이달의 NClouder로 선정되었습니다.
이를 통해 클라우드 인프라 구축에 대한 깊은 이해와 문제 해결 능력을 키울 수 있었으며, 사람들과의 교류를 통해 기술적 지식을 더욱 확장할 수 있었습니다. 또한, NCP의 다양한 기능을 활용해보며 안정적인 클라우드 환경을 설계하는 데 관심을 갖고 학습하는 계기가 되었습니다.
짤뮤니티
2024.01. ~ 2024.04.
팀을 이끌어 짤을 쉽게 사용할 수 있는 웹 서비스의 서버를 개발했습니다.
[협업과 소통 능력 함양]
이 과정에서 가장 크게 배운 점은 협업의 중요성과 효과적인 의사소통의 필요성이었습니다. 초기에는 각자의 역할과 책임이 명확하지 않아 작업이 비효율적으로 진행되었습니다. 이를 해결하기 위해 주기적인 미팅을 통해 팀원들의 진행 상황을 공유하고, 문제가 발생할 때 즉시 해결책을 논의할 수 있도록 팀을 이끌었습니다. 또한 각 팀원의 능력과 성향을 파악하고, 이를 바탕으로 일을 배분하였습니다. 그 결과, 팀원들이 서로의 업무를 이해하며 프로젝트를 원활하게 진행할 수 있었습니다.
이 경험을 통해 혼자 작업하는 것보다 협업을 통한 성장이 더 크다는 사실을 깨달았습니다. 또한, 문제 상황을 공유하고 함께 해결하는 과정에서 자연스럽게 소통 능력과 협력 능력을 기를 수 있었습니다. 이 경험은 저에게 중요한 자산이 되었고, 개발자로서의 자질을 한층 더 강화하는 계기가 되었습니다.
포트폴리오
자격증
정보처리기사
합격 | 한국산업인력공단
2024.09.
SQLD
합격 | 한국데이터산업진흥원
2023.11.
OPIc
IH | ACTFL
2024.03.
교육
건국대학교(현재 졸업유예, 2025.02 졸업예정)
대학교(학사) | 응용통계학과
2019.03. ~ 현재 | 재학 중