우아한테크코스 7기 백엔드 과정(2025.02 ~ 2025.11)에서 진행한 미션, 팀 프로젝트, 글쓰기, 발표, 소프트스킬 활동 기록. 작성자: 정구홍(대니, @goohong)
기간: 2025.02 ~ 2025.03
Java와 객체지향 설계 기초 미션.
| 미션 | 저장소 | PR |
|---|---|---|
| 로또 | java-lotto | 1단계 - 로또 구현, 2단계 - 로또 리팩토링 |
| 출석 | java-attendance | 1단계 - 출석 구현, 2단계 - 출석 다시 구현하기 |
| 블랙잭 | java-blackjack | 1단계 - 블랙잭, 2단계 - 블랙잭 베팅 |
| 장기 | java-janggi | 1단계 - 장기, 2단계 - 장기 |
기간: 2025.04 ~ 2025.06
Spring 기반 웹 애플리케이션. 방탈출 예약 서비스를 인증·예약 대기·결제·배포까지 단계별로 확장한 미션.
| 미션 | 저장소 | PR |
|---|---|---|
| 방탈출 예약 관리 | spring-roomescape-admin | 1~3단계, 4~9단계 |
| 방탈출 사용자 예약 | spring-roomescape-member | 1~3단계, 4~6단계 |
| 방탈출 예약 대기 | spring-roomescape-waiting | 1~2단계, 3~4단계 |
| 방탈출 결제 / 배포 | spring-roomescape-payment | 1단계, 2~4단계 |
| 레벨2 최종 미션 | lv2-final-mission | 최종 미션 |
기간: 2025.07 ~ 2025.11
팀 프로젝트(루티)와, HTTP 서버·MVC 프레임워크·JDBC 라이브러리를 바닥부터 구현한 미션.
| 미션 | 저장소 | PR |
|---|---|---|
| 팀 프로젝트 루티(Routie) · 경유지 동선 공유 서비스 | woowacourse-teams/2025-routie | 본인 PR 목록 |
| 레벨3 최종 미션 | lv3-final-mission | 최종 미션 |
| HTTP 서버 구현 | java-http | 1단계 - HTTP 서버 구현하기, 2단계 - 로그인 구현하기, 3단계 - 리팩터링, 4단계 - 동시성 확장하기 |
| @MVC 프레임워크 구현 | java-mvc | 1단계 - @MVC 프레임워크 구현하기, 2단계 - 점진적인 리팩터링, 3단계 - JSON View 구현하기 |
| JDBC 라이브러리 구현 | java-jdbc | 1단계 - JDBC 라이브러리 구현하기, 2단계 - 리팩터링, 3단계 - Transaction 적용하기, 4단계 - Transaction synchronization 적용하기 |
루티에서 한 일
- 팀원 4명이 함께 아키텍처, DB, 인증, 기획을 결정하는 방식으로 협업
- 백엔드 아키텍처 설계와 핵심 API 개발, DB 모델링, 사용자 인증(로그인/회원가입) 시스템 구현, '선호도 표시' 기능 풀스택 연동
- 부하테스트 담당: 조회 API TPS를 직접 측정하고 쓰기 경로의 커넥션풀 병목을 확인해 팀에 공유
| 미션 | 글 | PR |
|---|---|---|
| 레벨1 글쓰기 | level1.md (감정 표현을 주제로 한 회고) | PR |
| 레벨2 글쓰기 | level2.md (학습 방식을 돌아본 회고) | PR |
| 테크니컬 라이팅 | technical-writing.md (공식 문서를 아군으로 만드는 사용 설명서) | PR |
"누군가 '왜 솔직하게 감정을 표현하고 살아야 하나요'라고 묻는다면, 그냥 이렇게 사는 것이 더 즐거워서라고 답할 것 같다. 표현해야 안다. 그것이 쌓이면 말하지 않아도 안다." (레벨1 글쓰기 중)
- "record 그렇게 쓰는 거 아닌데" (2025.03)
- Java record의 의도(불변 데이터 캐리어)와 흔히 잘못 쓰는 패턴을 정리해 동기들 앞에서 발표
레벨마다 소프트스킬 목표를 세우고, 실험하고, 스터디 동료들과 회고를 주고받는 활동. 목표의 변화가 그대로 성장 기록이 되었다.
- 레벨1 목표: "감정을 지혜롭게 표현하는 사람이 되자". 실험 과정 전체를 레벨1 글쓰기로 정리
- 레벨2 목표: "명확하게 의견을 표현하는 사람이 되자"에서 "상대방 말을 경청하는 사람이 되자"로 전환. 페어에게 "의견을 너무 강하게 피력해서 부담스러웠다"는 피드백을 받고, 잘하던 것을 더 잘하기보다 피드백이 가리키는 약점을 다음 목표로 삼았다.
"'내 생각이 맞아'하고 사고를 닫고 바로 고집 피울 것이 아니라, '그 말도 맞을 것 같은데? 비교해봐야지'라는 마음을 가져야할 것 같다." (레벨2 회고 중)
"돌아보니 내 생각의 객관적인 근거가 많았다기 보다는 스스로 세운 논리로 논리를 지탱하면서 이렇지 않을까?를 그럴싸하게 만들었을 뿐인 것 같다. 객관적으로 내 의견과 남의 의견을 바라볼 수 있다면 좋을 것 같다." (레벨2 회고 중)
테크니컬 라이팅 활동에서 "공식 문서를 나의 가장 든든한 아군으로 만들어줄 사용 설명서"라는 주제로 본인의 학습 방식을 문서로 정리했다.
- 공식 문서를 진실의 원천(Source of Truth)으로 삼는다. 사용법(How)만이 아니라 작동 원리(Why)까지 확인한다.
- 언어 장벽, 정보 과부하, 불친절한 서술이라는 장벽을 인정하고 각각의 대응 전략을 세운다.
- 읽기 목적을 분리한다. 탐색은 API Reference 중심, 학습은 Getting Started에서 Core Concepts 순서로.