마음만 바쁜 사람
article thumbnail

2023년 2월 7일 오리엔테이션을 시작으로 우아한테크코스 5기 백엔드 교육을 받기 시작했다. 백엔드 교육은 잠실캠퍼스에서 진행하며 레벨 1과 2까지는 고정이라고 한다. 재수 생활 이후로 잠시 잊고 있었던 9호선 지옥철 여정을 당분간 계속하게 될 듯하다. 

 

오리엔테이션에서 들은 얘기 중 가장 기억에 남는 부분은 우테코에 임하는 자세에 관한 이야기였다. 우테코에서 원하는 목표는 무엇인가? 각자 목표가 다를 것이고 그렇기 때문에 방법도 다를 것이다. 어쩌면 목적이 같다고 해도 해당 목적을 향한 방법이 다를 수도 있다. 이러한 상황에서 우리들은 어떻게 목적을 이루고 우테코는 어떻게 우리들을 서포트해 줄 것인가?

 

이제까지의 교육 또는 강의에서 내가 들어온 방식은 '물고기를 잡아주지 않는다, 그 대신 잡는 방법을 알려준다.' 같은 말들이었다. 하지만 우테코는 여기에서 한 발자국 더 나아간 형태의 교육 과정을 목표로 하고 있었다. 

 

'물고기를 잡아주지도, 잡는 법도 알려주지 않는다. 물고기를 잡을 수 있는 환경을 만들어줄 뿐이다.'

쉽게 말해 떠먹여 주는 것이 아닌 학생 개개인에게 맞는 최적의 학습 방법을 찾아내기 위한 환경 제공의 역할이 큰 느낌이었다. 실제로 우테코는 타 부트캠프와 다르게 수업 시간도 현저히 적다. 정규 수업은 보통 일주일에 2시간짜리 강의 두 번 정도..? 이외에 글쓰기 특강, 회고 특강, 크루들이 직접 준비해 발표하는 테코톡 등의 특별 강의들이 간간히 존재하는 형태였다. 해당 시간 이외에는 자신이 하고 싶은 공부를 하거나, 페어와 함께 과제를 진행하며 하루를 지내고 있다. 

 

 

총 10개월 동안의 교육 과정은 크게 5개의 레벨로 나뉘고, 각 레벨 당 8주 정도의 커리큘럼을 진행하게 된다. 

첫 번째 레벨의 주요 학습 목표는 자바에 대한 핵심 개념 학습과 단위 테스트를 통한 리팩토링 과정에 대한 이해이며

강의와 동시에 페어 프로그래밍 미션이 2주 간격으로 주어진다. 페어 프로그래밍은 두 명의 크루가 하나의 컴퓨터를 두고 서로 번갈아가며 기능을 완성시키는 작업이다. 이제까지 코딩은 항상 혼자 머리 싸매며 진행해 왔는데, 페어와 함께 여러 가지 기능에 대해 서로 상의를 거치며 진행하는 방식은 상당히 신선했다. 기본 수업들과 해당 미션을 진행해 나가며 자바 언어에 대한 친숙도를 높이는 것이 이번 레벨 1의 목표인 듯하다.

 

레벨 1의 첫 번째 미션은 '자동차 경주'이다. 모든 미션은 우테코 깃허브에서 확인할 수 있으니 관심이 있다면 들어가서 구현해 보는 것도 좋을 것 같다. 앞으로 미션이 끝날 때마다 이러한 방식으로 회고를 남기는 것이 목표이고, 회고의 형식은 공통 교육 시간에 추천해 준 프레임워크를 사용하려 한다. (내 마음대로 3F 1A 형식이라 이름 붙였다.)

회고를 교육과정에 포함시키다

 

https://www.codesoom.com/retrospective-into-the-curriculum

애자일하게 일해야 하는 게 옳다는 것은 이미 널리 퍼진 사실 같습니다. 기존의 폭포식으로 일하는 방식을 보면 굉장히 잘못됐다고 말합니다. 그런데 학습에 대해서는 사람들은 여전히 폭포식

www.codesoom.com

 

1. Facts (한 것)

  • MVC 패턴을 적용해 기능을 구현하였다.
  • 기능에 대한 단위 테스트를 작성해보고 즉각적으로 구현 코드를 피드백하였다.

2. Feelings (느낀 것)

  • 생각했던 것보다 훨씬 재밌게 미션을 진행했다. 어떤 페어를 만나느냐에 따라 정말 천차만별이겠지만 이번 페어와는 이야기도 잘 통하고 코드도 맞아서 신나게 행복코딩했다..
  • 내가 아는 것이 정말 없다는 생각이 들었다. 정확히는 어떤 개념에 대해 상대방에게 설명할 정도의 실력이 되지 않고, 설명하지 못한다면 그건 모르는 개념이라고 봐도 무방하다고 생각한다. 확실히 페어 프로그래밍을 진행하니 내가 어떤 개념을 얼마나 알고 있는지 파악할 수 있었고, 자신의 생각을 상대방에게 전달하는 방법에 대한 중요성을 깨달았다. 앞으로는 개념에 대해 곧바로 설명할 수 있을 정도로 자세하게 공부하고, 해당 지식을 어떻게 해야 상대방에게 효과적으로 전달할 수 있을지에 대한 고민을 해봐야 할 것 같다.  

3. Findings(배운 것)

  • 페어의 리뷰 중 일급 객체를 공부해 보라는 추천이 있어 일급 컬랙션에 대해 알아보고 곧바로 적용시켰다.  
  • 지적받은 부분 중 과도한 인스턴스화에 대한 부분이 많았다. 의도는 처음 보는 사람도 해당 기능을 빠르게 파악할 수 있도록 최대한 친절한 코드를 만드는 것이었는데, 과도한 인스턴스화로 오히려 가독성이 떨어지는 결과가 생길 수도 있다는 점을 리뷰 후에 깨닫게 되었다. 전체적으로 코드의 구성을 체크하며 적절한 인스턴스화 단계에 대한 기준을 세운 것 같다. 

4. Affirmation (할 것)

  • 테스트 코드의 작성이 조금 부실했던 것 같다. 서로 신나서 구현만 하다 보니 커밋 로그도 많이 까먹었고 테스트를 우선 작성하고 해당 기능을 구현하는 TDD도 잘 지키지 않았다는 생각이 들었다. 다음 미션에서는 조금 더 철저하게 TDD를 시도해 보려고 한다.
  • 처음에 기능 목록을 작성해 두고도 막상 구현할 때에는 정리한 구현 목록을 참고하지 않고 흐르는 데로 작업했다. 다음 미션에서는 조금 더 체계적으로 구현을 진행해보려 한다.
  • 자바 언어에 대한 이해도가 부족하다는 생각이 들었다. 학교에서는 자바를 배우지 않았고 졸업프로젝트 때나 프리코스 때는 필요한 함수나 기능이 있으면 그때그때 구글링 해보고 적용하는 식으로 진행해서 자바 언어에 대한 심도 있는 공부가 필요하다는 생각이 들었다. 레벨 1 기간 동안 따로 공부를 진행하여 2주에 한 번씩 게시글을 작성하는 것을 목표로 두어야겠다.
profile

마음만 바쁜 사람

@훌루훌루

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!