미리보기
기본 정보
보다. 쉽게. 소프트웨어의 가치를 생각하며 개발하는 백엔드 개발자, 조재현입니다.
자기소개
저는 개발에 있어 ‘생각하는 태도’가 소프트웨어의 품질을 결정짓는 중요한 요소라고 생각합니다. 그런 태도를 기르기 위해 코드 리뷰를 통해 동료들과 토론하고, 개발자 커뮤니티에서 지식을 나누는 활동을 좋아합니다. 이러한 과정에서 문제 해결 능력과 새로운 지식을 얻으며 꾸준히 성장할 수 있었습니다.
특히, 이러한 경험을 바탕으로 ‘쉽게 읽히는’ 코드에 대한 고민을 깊이 하게 되었습니다. 디자인 패턴, 객체지향 원칙, 의존성 관리와 같은 기본 개념 속에서 문제를 정의하고 해결하는 과정을 통해 개발에 대한 시야를 넓혔습니다. 또한, 기술의 동작 원리를 깊이 이해하며 기술을 적용할 때 발생하는 효과나 문제의 원인을 명확히 파악할 수 있게 되었습니다.
이처럼 코드에 명확한 이유와 원칙을 담아 개발하니, 배움과 성장은 단순한 업무를 넘어 문제 해결의 즐거움과 성취감을 느끼게 해주는 취미가 되었습니다 :)
프로젝트
Bucket-Back
그렙
2023.10. ~ 2023.12.
가지고 싶은 취미 상품을 관리하고, 구매 결정을 위한 피드백을 받는 커뮤니티 서비스
역할
백엔드 3명, 프론트엔드 2명, 디자인 1명
팀장 & 백엔드 및 인프라 담당
개발 주요 사항
비즈니스 로직을 정의하고, 이를 돋보이게 하기 위해 Service 계층 하위에 구현 계층을 두어 필요에 따라 하위 계층을 의존하도록 설정함
Aggregate 간에 무거운 의존 관계를 덜어냄
Service 레이어에서 비즈니스 로직 가독성을 향상함
테스트 코드의 개발 시간을 줄이고 생산성을 향상하기 위해 적용
객체 생성과 같이 부수적인 작업을 Test-Fixture를 적용해 재사용성을 향상함
DTO를 VO 단위의 객체로 재변환
DTO를 단순히 데이터 전달 목적만을 가지는 것이 아닌, 하나의 정의 가능한 도메인 객체로 다시 재분류하는 역할을 함
Controller 레이어에서 DTO의 필드값이 드러나는 문제를 해결해 캡슐화를 지킴
Service 레이어에서 객체의 이름만으로도 비즈니스를 파악할 수 있어 코드의 전달력을 향상함
멀티 모듈 적용
계층별, 기술별로 문제 범위를 특정하기 위해 Infra, Domain, API, Common 모듈로 분류함
문제를 통제하고 빠르게 발생 지점을 파악할 수 있도록 개선함
SSE를 활용한 알림 기능 구현
이벤트 리스너, 스케줄러, HeartBeat 를 활용해 휘발성 알림 기능을 구현
LIME (LIfe - TIme)
팀 프로젝트
2024.01. ~ 2024.04.
역할
백엔드 3명, 프론트엔드 2명, 디자인 1명
팀장 & 백엔드 및 인프라 담당
개발 주요 사항
기존 Bucket - Back 에서 아쉬웠던 내용을 평가하고 보완한 프로젝트
기획 보완 -> 사용성을 높이기 위한 기능 10가지 재설계
개발 보완 -> 코드의 유연성, 고급 기술 적용 등 개발 퀄리티 보완
엔티티와 도메인 객체 분리
DB와 비즈니스 로직의 관심사를 독립적으로 분리하여 기술의 의존도를 최소화함
어댑터 디자인 패턴을 사용해 코드를 개선
비즈니스 적으로 생명주기가 일치하지 않는 엔티티 관계를 파악하고, JPA 연관관계를 제거해 객체 간 결합도를 낮춤
SSE 알림 기능을 옵저버 디자인 패턴을 적용해 관심사와 행위를 목적에 맞게 독립적으로 구성함
멀티서버, Blue-Green 배포 방식 적용
무중단 서비스를 위해 서버를 추가 도입 및 아키텍처 재설계
서버를 체크하면서 배포된 내용이 정상이면 배포 버전으로 전환하고, 그렇지 않으면 이전 버전을 그대로 사용하도록 서비스 안정화
Service 레이어에서 @Transactional 적용 여부에 대한 토론 후 기술 적용 기준을 마련하기 위해 학습한 내용 정리
양방향 연관관계에 대한 테스트 후 기술 사용에 대한 부작용을 검토한 내용 정리
포트폴리오
대외활동
프로그래머스 백엔드 데브코스 4기
그렙
UMC - 1기
연합동아리
Java 및 백엔드 개발 기초 학습
학교별 CS 스터디 활동 경험
수익형 애플리케이션 개발 - 멈뭄
유저 정보 관련 RESTful API 개발
교육
숭실대학교
대학교(학사) | 산업정보시스템공학과
2017.03. ~ 2024.02. | 졸업
운정고등학교
고등학교 | 인문계
2013.03. ~ 2016.02. | 졸업
기술 스택
MySQL, Git, Java, AWS, Spring Framework, Spring Boot, Docker, JPA, JIRA, Notion, Github
자격증
AWS Certified Developer Associate
Associate | AWS
2022.08.
AWS Cloud Practitioner
Practitioner | AWS
2022.02.
외국어
영어
비즈니스 회화 가능