우테코 레벨2 회고( 다소 김 )

영슈·2024년 6월 18일
5

우테코

목록 보기
2/4
post-thumbnail

해당 내용은 우테코 레벨1 회고 ( 가벼운 ) 의 Try 부분에서 시작한다.

레벨1때의 Try 성과 회고

레벨1 회고때 KPT 를 통해 발전을 시도하려 했다.

Try 부분에는

  • 생각 정리하기
  • 의식적인 내용 기록
  • 내용을 깊게

목차가 있었다.
해당 내용들에 대해 스스로의 내용을 적어보자면 그렇게 잘 지키지 않았다. ( 생각 정리하기 제외 )

변명 아닌 변명을 해보자면
스프링에 적합하지 않는 전략이었다? 라고 생각한다. 하단에 내가 느낀 이유를 설명하겠다.

내용을 깊게

내용을 깊게는 나쁘지 않은 전략이다.
내가 현재 공부해야 하는 범위가 제한적이며 정답이 비교적 정해져 있을때는.

하지만, 스프링은
Controller 는 어떻고 , Controllder Advice는 어떻고 , JPA는 어떻고
등등 매주매주 내가 공부해나가야 하는 목표가 달랐다.

이때 과연 내가 Controller 가 어느 스프링 코드에서
어노테이션을 catch 해서 특정 기술을 부착시켜줘서 클래스 내 RequestMapping 메소드들을 가능하게 해준다
라는걸 확인하기 위해 코드 소스를 탐색해나갈 필요가 있을까?

삽질이 나쁜건 아니다.
하지만, 2m 까지 파야하는 구멍이 5개인데 1개의 구멍을 4m 까지 파기 위해 나머지 구멍을 파지 않는다면 의미가 있을까?

개발자의 전문 용어로 말하면 interface 가 있는데 굳이 구현체를 찾아나서는 것이다.
Request -> Interface -> Response 라는 로직에서 우리가 알것은 Request 와 Response 의 형식이다.

Interface 가 어떻게 구현하는지는 알 필요가 없다.

그렇기에 내용을 깊게 목표는 더 이상 의미가 없었다.
Controller 어노테이션을 붙히고, RequestMapping 을 붙히면 웹 요청을 받는구나! 까지가 내가 알 범위로 정했다.

의식적인 내용 기록

수업이 끝나면
20~40분은 무조건 내용을 정리하는 시간을 가진다.
(오전에 해서 끝나면? -> 점심 먹고 하면 되지? , 오후에 해서 끝나고 시간이 없으면? 0-> 저녁 먹고 하면 되지? )

수업이 끝나면 내용을 정리하는 시간을 가지기로 했다.
하지만, 이미 Nest Framework 를 통한 기본적인 지식을 알기에 수업 내용이 나에게 100% 새로움으로 다가오지 않았다.
( 특히, 미션1,2 까지는 )

그래서 크게 수업 내용에 집중을 하지 못했던 거 같다.
대신, 언어&프레임워크의 차이점에 대해서 관심을 가졌다. - Java-Spring 에서는 이런 식으로 접근 하는구나?

HandleArgumentResolver 가 뭔지, Interceptor 가 뭔지, Spring MVC가 뭔지...
와 같이 얇고 넓게 지식을 채워나갔다.
이는 위에 말한 내용을 깊게 에서 반론한 내용과 거와 유사하다.

생각 정리하기

생각 정리하기는 내 기준에서 레벨2동안 유의미한 달성을 했다고 생각한다.
질문을 하기 전
1. 무엇이 궁금한지
2. 내가 공부한 & 찾은 내용이 뭔지
3. 내가 생각하는 주장에 대해서 설명
4. 이에 대한 상대방이 대답해줘야 하는 의견
와 같은 방식으로 질문을 해나갔다.

500

이런식으로 리뷰어나 코치에 물어봤다.
내가 소요하는 시간이 되게 오래 걸리나, 그만큼 상대방이 소요해야 하는 시간이 줄어들었다.

  • 사전 지식이 어느정도인지 확인하는 시간
  • 상대방이 질문에 대해 듣고 싶은 내용을 확인하는 시간
  • 자신이 대답해줘야 하는 부분을 확인하는 시간

오프라인이 아니라 온라인인 점 + 상대방들은 현업에서 바쁘게 일하는 사람들인 점 두개를 명심하고 최대한 신경을 쓴것 같다.
또한 상대방에게 질문을 하기 위해 내용을 정리하며 내가 놓친 지식 + 몰랐던 지식에 대해서도 더욱 깊게 파고들 수 있었다.

3레벨,4레벨때는 이제 코드 리뷰를 받지 않고 프로젝트를 진행하지만
프로젝트 팀원들에게도 내 생각을 정리하고 주장을 하거나&의견을 물어서 유의미한 토론 및 성장이 이뤄나가도록 노력할 것이다.

레벨2 회고

소프트 스킬

어느덧 1,2단계가 끝나가며 코스의 50% 정도까지 다가왔다.

그러면 이제 슬슬 취업의 시간이 다가온다.
우테코에 들어올때만 해도 난 아직 너무 부족한게 많은데.. 1년 정도만 더 취업 생각하지 않고 원없이 공부하고 싶다 라는 간절한 생각이 있었다.
지금은?

아직까지도 지식은 부족하다. 그리고, 우테코 사람들과 꽤나 많이 놀러 다녔다.
( 레벨1 사람들도, 레벨2 사람들도, 방위동 피플들과도 .. )
원없이 공부하겠다고 들어간 우테코에서 놀아?? 라고 생각도 들때가 있었으나,
이 역시도 나에게 정말 큰 경험이였다고 생각한다.

3,4학년때 취업 준비를 하며 나는 항상 친구 연구실에 들어가서 다른 친구와 같이 맨날 취업 준비 & 백엔드 공부만 하고 있었다.
이때 공부를 열심히 했지만, 이게 진정으로 의미가 있었는가? 에 대해서는 잘 모르겠다.
의식적으로 C.S 공부하고, 의식적으로 코테 문제를 풀었지만 프로그래밍에 대한 열정이 아니라 단순히 취업에 대한 불안 때문이였다.

사실, 이때 당시 개발에 대한 흥미가 사라져가고 있었던 거 같다.
이유를 생각하면, 거의 혼자서만 공부하고, 내가 공부한 내용이 쓰일까? 라는 의구심을 벗어나지 못했던 거 같다.

모르는 사람들과 친해지며
같은 분야에 대해 심도있는 토론을 하는점현업 리뷰어와 궁금 및 고민하는 부분에 대해 얘기하는 점 을 할 수 있었다는 것은 어마어마한 축복이였다.

대학교라는 좁은 우물안에서 살고 있던 ( 대학교에서도 친한 친구들이랑만 관계를 유지했던 ) 나에게 우테코라는 세상은 꽤나 넓었다.
다양한 성격의 사람을 만나고, 원래 인생에서 완전히 관련 없는 개발자들과 친해지며 나만의 소프트 스킬 및 개발자로서의 인간상을 만들어 나갈수 있었던 거 같다.

커피챗

레벨1때 코수타 (코치와 수다 타임)리뷰어와 티키타가 를 Keep(지켜야 할점) 으로 적었다.
레벨2동안 해당 내용은 꽤나 대 만족이다.

기존에도, 자주 질문하러 갔던 네오가 담당 코치가 되면서
네오가 출근하면 사실상 수시로 그냥 가벼운 얘기를 하러 갔던거 같다.

중국은 트래픽 때문에 RDS도 사용하지 못하는거 알고 있나요??
MDC가 뭔지 아신가요?
아마존은 기획자가 없는걸 알고 있나요?

이런 미션과 전혀 상관이 없는 내용들이였다. 하지만, 꽤나 흥미로운 내용이였다.

이런식이였다. 레벨2때의 커피챗은 오히려 개발에 대한 얘기를 벗어났다.
구구와의 커피챗도, 리사와의 커피챗도, 웨지와의 커피챗도.

구구가 왜 배민이라는 신생 스타트업에 입사를 하게 됐는지, 리사와 연애 프로그램에 대한 만담이나, 웨지와의 곤조등
당장의 개발 성장에 필요없으나, 성장에 필요없는 얘기들이여서더욱 긴장 안하고 편하게 얘기를 할 수 있었던 거 같다. 🙂

다른 리뷰어분과도 커피챗을 신청할 예정인데 이때도 비슷하게 얘기를 하지 않을까?

나만의 기준 만들어나가기

위에서 말했듯 의식적인 내용 기록은 하지 않았다고 했으나, 미션을 구현하며 나만의 생각 정리해나가기 에 매우 노력했다.
레벨2 동안 더욱 뼈저리게 느낀점은 프로그래밍에는 정답이 없다 였다.
당장에만, Swagger VS RestDocs , 테스트 하는법 , 커스텀 예외를 어떻게 만들지 등등 쏟아진다.

그래서, 레벨2동안은 정답이 아닌 나만의 기준과 생각을 만들어가려고 노력했다.

나: 저희 이렇게 하면 안되요?
XX: 어, 혹시 왜 이걸 사용하고 싶나요?
나: 이거 제가 저번에 블로그에서 봤는데, 좋아 보이더라구요. or 그냥 이게 정답이니까요?
XX: ...

이렇게가 아닌

XX: 조이썬! 이번에 저희 프로젝트에 문서화 도구는 뭘로 할까요?

제가 생각하기에는
RestDocs 보다 SpringDocs 를 기반으로 한 Swagger 가 더 좋다고 생각해요.

XX: 이유가 뭘까요?

물론 어노테이션이 런타임 코드에 침범이 되긴 하나,
불필요한 Controller 슬라이스 테스트를 할 필요 없는 점 + Interface 를 통해 불필요 어노테이션과 스프링 어노테이션을 분리할 수 있는 점
들을 기반으로 써도 괜찮다는 생각이 들어요.

단순히, 지식 습득과 정답 추구가 아닌 나라는 개발자의 기준을 만들어갔다.
이게 정답이 아니라면 뭐 어떨까. 그게 정답이라는 기준은 누가 어떻게 세울것인가.
( 물론, 절대적인 정답이 있는 부분 + C.S 와 같이 개념적인 요소라면 얌전히 따라야겠지만 ㅋㅋ )

특히, 현업에 맹목적으로 의존하지 않으려고 노력했다.
프로젝트를 위한 마음가짐에서도 적겠지만, 꽤나 현업에 대한 환상이 꽤졌다.

리뷰어의 얘기는 리뷰어가 단순 개발자로서의 자신의 생각을 말해주는 것으로 받아들였다.
( 회사에서 무조건 이렇게 하는것이 아닌 + 현업에서 이렇게 하므로 정답이다가 아닌 )
따라서, 리뷰어들에게도 자신있게 내 의견과 코드에 대한 질문을 물어봤던거 같다.

레벨3 마음가짐

프로젝트에 대한 마음가짐은 별도로 적을 예정

C.S 공부

레벨3동안 다짐하는 것은 C.S 공부를 해나갈 예정이다.
단, 처음부터 끝까지 무턱대고 하는것이 아닌 프로젝트 중 마주친 개념들에 대해 관심을 가지고 파볼 예정이다.

나: 구구. 이번에 제가 C.S 공부를 하려고 HTTP 가이드를 폈는데
HTTP 0.9가 나오는데 너무 재미없어서 덮었습니다..

구구: (그건 당연히 재미없는게 맞죠..)
당장 너무 의식적으로 하는것보단 프로젝트중 마주친 C.S에 대해서 깊게 파보며 부분부분을 공부하는걸 추천해요.
자신이, 실제로 사용하거나 접목하는게 아닌것은 결국 재미없을수 밖에 없어요.

하나에 대해 공부하면, 꼬리질문 및 꼬리지식이 따라붙을텐데
그렇게 공부를 해나가는것도 좋을거 같아요.

구구와의 커피챗에서도 나온 얘기로
이렇게 해야 면접에서든, 나중에 누군가 묻든 내 경험을 기반으로 대답을 잘 할수 있을거 같다.

개발자,비개발자 분리하기

해당 내용은 유연성 강화 스터디에서 진행한 내용이기도 하다. (관련 글쓰기)
레벨 2동안 꽤나 열심히 살고 미션에 몰입도 열심히 했다.

레벨2도 바쁘게 지냈지만, 레벨3때 더 바쁠거라 생각한다.
프로젝트에 대한 열정 + 다가오는 취업에 대한 불안감으로 인해서.

레벨3동안 더욱 비개발자로서의 삶을 균형있게 가지도록 노력할 예정이다.
속도는 중요하지 않다. 꾸준히 나아가는 자가 중요할 뿐.

멈추지 않기 위해서 페이스를 조절해나가자.


레벨2 동안 열심히 살았으나, 레벨1 리사조,레벨2 네오조 크루들 덕분에 심적으로 스트레스를 많이 받지 않고 잘 보낸거 같다.
테코톡도 하고, 커피챗도 하고, 미션동안 PR에 Comment 많이 단 사람 3등도 하고 ㅋㅋ

( 리뷰어님 한테 자주 물으니 질문하니 온 꽤나 설레는 말 )

레벨2도 잘해나갔기에, 레벨3도 여전히 잘해나가겠지 뭐. 행복은 멀리 있지 않아요 ☺️

3개의 댓글

comment-user-thumbnail
2024년 6월 18일

크 행복은 멀리있지 않습니다,, 당장 크루만 봐도 재밌어서 큰일 🔥
레벨 2 고생했다! 나도 완전 삽질을 좋아하다보니 공감이 너무 됐네요 🥹 언젠가 깊게 파고든 게 쓰일 날이 오겠지 싶기도 하지만 요즘은 또 회의감이 들게 되는... 😬

1개의 답글