[우아한테크코스 7기 프리코스] 첫째주 1일차 회고록

 지금 나에게 필요한 건 그저 ‘잘’하는 것이 아니다. 내가 진정 백엔드 개발자가 되고자 한다면, 가장 많이 사용해보았던 Java의 기초를 아는 것이 중요하다고 판단했다. 그리고 작고 작은 키워드에도 “왜?”라는 질문을 던지며, 내가 좋아하는 프로그래밍을 평생 할 수 있는 나만의 학습법을 찾고 싶다.

 

 우아한테크코스를 지원한 이유는 함께하는 사람들이 있다는 것이 가장 큰 이유였다. 망망대해인 바다 한 가운데서 종이배를 타고 가더라도, 때론 물을 퍼내기도, 때론 나무를 덧붙일수도 있다. 기나긴 여정 끝에 발견한 섬에서 이미 정착해있는 다른 사람들과 배를 고칠 방법을 의논할 수도 있다. 때론 조언을 얻기도, 때론 조언을 줄 수도 있다. 내가 생각할 수밖에 없는 환경에 놓여져 의식적인 연습을 하고 싶었다.

 

이전 기수였던 6기 프리코스를 진행하며 새롭게 알게 된 부분이 많았다. 하지만 알게 된 기술을 나열하기만 하고, 이걸 왜 써야하는지, 어떤게 더 적절할지 등을 생각하지는 않았다. 이번 7기 프리코스는 의식적인 연습을 하기 위한 나의 첫 단계이다. 더는 컴포트 존에 머물지 않고, 성장하고 싶은 마음이 간절하다. 따라서 미뤄왔던 모던 자바 인 액션, 이펙티브 자바 책을 읽으며 더 깊고, 자세한 내용들에 빠져보려 한다.

시작하기에 앞서, 목표를 확실히 정리하고 싶었다.

 

1️⃣ 자기 주도적 학습 능력 키우기 → 나에게 맞는 학습 방법 탐색하기

 

2️⃣ 순환 구조를 따르며 학습 방법 찾아나가기

(1) 설계

- 해당 서비스의 핵심 기능 한 줄로 생각해보기

- 핵심 기능을 구현하기 위한 기능 목록 세우기

 

(2) 구현

기능 목록에 따라 가장 작은 0.0 버전 서비스 만들기

점진적으로 리팩토링하기

 

(3) 피드백

피드백 종합하기

이 피드백을 수용할 경우의 장점/단점을 생각해보기

피드백을 통해 코드 리팩토링 하기

 

(4) 회고

목표 달성 여부 및 목표 점검

 

3️⃣ 모던자바인액션, 이펙티브 자바를 통한 부족한 자바 문법 공부 및 객체지향에 대해 생각해보기

- 도파민을 유발하는 OTT가 아닌 독서와 더 가까워지고 싶음

- 객체지향이 왜 필요할까?

- 자바와 객체지향의 연관성

 

4️⃣ 끊임없이 생각하기

(1) 이 요구사항은 왜 있는걸까?

(2) 이 요구사항을 해결하려면 무엇을 알아야 할까?

(3) 이 요구사항을 수행하면 어떤 교육 효과가 있을까?

(4) 이 요구사항을 어떻게 수행하면 어떤 부분이 성장할 수 있을까?

(5) 내가 선택한 접근 방법이 적절한 방법일까? 다른 더 좋은 방법은 없을까?

(6) 이 기술이 어떻게 동작하는걸까, 왜 쓰이는걸까?

 

처음부터 잘 하는 것이 아닌 점진적으로 리팩토링을 통해 더 나은 코드를 구현하는 방법을 깊게 고민해보고 싶다. 일단 0.0 버전으로 돌아가는 서비스를 짜놓고, 점차 개선해나가면 조금씩 시야가 넓어지지 않을까 싶다.

즉, 고객이 요구한 요구사항에 맞게 0.0 버전을 내놓고, 점차 릴리즈 한다고 생각하면서 임할 것이다.