패스트캠퍼스 백엔드 과정을 진행한지 어느덧 10주가 지났다.
온라인 강의 진행도 따라가랴, 실시간 강의 따라가랴, 하고 싶은 공부도 하랴 정신 없이 공부하다 보니 시간이 순식간에 지나가는 느낌이다.
이번 블로그 글을 작성하기전에 내가 얼마나 성장했는지 확인해보고자 한다.
부끄럽지만 나는 학부생 시절 C언어, 자바 강의 학점이 각각 C, D+ 이였다.
개발자로 취직할 생각도 없었던 시절이다.
개발자가 내 목표가 된 것은 3학년 부터였다. 하지만 당연히 언어에 대한 지식이 거의 없으니 개발을 잘 할리가 만무했다.
아! 학점이라도 채우자,, 노력했다. 매 학기 성적 장학금을 받을 수 있었다. 하지만 남는 지식은 없었다.
문득 생각이 들었다. 내가 개발자로 취직을 할 수 있을까?
개발 실력은 노베이스 정도는 아니지만 개발 공부를 한달정도 한 비전공자 수준이라고 생각했다.
실제로도 그러했다..
그 시절 내가 짠 코드의 일부이다. 해당 메소드를 포함하는 클래스의 역할이 아닌 기능을 가지고 있을 뿐더러 이해하기도 힘든 지저분한 코드이다.
패캠 교육과정을 듣기 전에도 공부는 했었지만, 언어에 대한 공부는 전혀 하지 않았다.
언어가 그렇게 중요한지 몰랐다. 당장 스프링부트를 공부하기 급급했고, 언어에 대해 이해를 하지 못했음에도 코딩 테스트 연습을 했다. 순서가 잘못된 것이다.
패스트 캠퍼스에 들어와서 언어에 대한 공부를 했다.
정말 놀라웠다.
내가 알던 자바가 이렇게 동작하는구나, 메모리는 어떻게 저장되며 어떻게 관리되는구나,
자바에 대해 아무것도 몰랐던 나는 지금 JVM동작 방식을 이해하고, 내가 작성한 코드가 JVM안에서 어떻게 메모리가 할당되고 어떻게 실행될지 어느정도 예측가능한 수준이 되었다.
뭐든지 기본부터 배우는 것은 이유가 있다고 생각이 들었다.
이번 블로그 포스팅 주제는 멘토링이다.
내가 멘토링을 통해 어떤 성장을 하게 되었으며, 어떤 것을 느꼈는지 적어보려 한다.
멘토링
패스트캠퍼스에서 5명씩 스터디 그룹을 짜고, 담당 멘토님을 붙여주신다.
주 1회 1시간 멘토링 시간을 가지게되는데, 이는 형식적인 멘토링 시간이고 우리 스터디의 멘토님은 개인적인 시간을 쪼개서 여러 부분을 신경 써주신다. (너무 감사한 부분이다.)
회고
우리는 기본적으로 매주 학습체크와 계획을 회고를 간단하게 작성하여 멘토님의 깃 레포에 PR한다.
그리고 멘토링 시간에 이를 확인하며 머지하는 것으로 멘토링을 시작한다.
멘티들이 한주를 되돌아보며 자연스럽게 복습하는 시간을 가지고, 더불어 Git의 사용에 익숙해지게 하고 싶으셔서 생각하신 방법같다고 느껴졌다.
매주 PR하고 코드 리뷰를 하다보니 git에 익숙해진 느낌이다.
코드 리뷰
멘토님은 과제의 코드 리뷰를 해주신다.
확실히 내가 전혀 생각하지 못했던 부분을 콕 짚어주신다.
코드리뷰를 통해 코드를 작성하며 어떤 부분을 더 신경써야 하는지, 나의 안좋은 습관은 뭔지 알게 되었다.
특히 나는 ‘무의미한 메서드 분리가 많다’ 라는 말을 많이 들었다. 이는 어쩌면 한 클래스에서 너무 여러가지 일을 처리하는 것일지도 모른다. 혹은 정말 무의미한 메서드 분리가 이루어졌을 수도 있다.
따라서 나는 나만의 메서드 분리 원칙을 하나씩 만들어가며 코드를 작성하고 있다.
모의 면접
커리큘럼상 최근에 JAVA가 끝나게 되었다.
아직 배우고 싶은 것이 많지만 일단은 커리큘럼을 잘 따라가며 남는 시간에 하고 싶은 공부를 해야겠다.
JAVA가 끝난 기념(?)으로 멘토님 주관하에 모의 면접을 진행하였다.
각자 지금까지 학습했던 내용을 토대로 회고를 작성하고 이를 통해 모의 면접을 진행하는 방식이다.
멘티들은 각자 면접자, 면접관, 부면접관으로 역할을 나누어 면접을 진행했다.
다른 사람의 면접 질문을 준비하며, 나의 면접도 준비해야하니 내가 학습한 내용을 복습하는 시간이 되었다. 또한 다른 사람은 어떤 공부를 했는지 새로운 부분은 학습하고 알았던 부분은 복습하는 시간이 되었다.
과제
최근에는 멘토님이 멘티들이 코드 작성 능력이 부족하다는 사실을 캐치하신 것 같다.
자바를 이용하여 행맨 게임을 구현하는 간단한(?) 구현과제를 내주셨다.
정성스럽게 요구사항까지 작성해주셔서 열심히 하지 않을 수가 없었다..
구현 과제를 진행하며 확실하게 느낀점이 있다면 개발 실력이 늘었다는 점이다.
예전에는 static의 사용, 클래스의 역할 분배, 적절한 메서드 분리, 상황에 알맞은 컬렉션의 사용등은 하나도 고려하지 않은 정말 동작만 하는 프로그램을 작성했었다. 아래의 그림이 정말 그 때의 내 프로그램과 딱 알맞다.
지금은 확실히 예전보다는 클래스의 역할과 협력을 생각하며 코드를 짤 수 있게 된 것 같다.
사실 누군가의 코드 리뷰가 없었다면, 예전에 머물러 있었을 것이다.
그 때는 그게 잘못된 것인줄도 몰랐으니까.
이제 커리큘럼상 스프링에 들어간다.
계속 자바만 하다보니 스프링을 너무 배우고 싶었던지라 기대가 된다.
앞으로도 열심히 해보자!
'패캠 BootCamp' 카테고리의 다른 글
[패스트 캠퍼스 : 백엔드 개발 5기 부트캠프 기자단] 중간 회고 (0) | 2023.07.12 |
---|---|
[패스트 캠퍼스 : 백엔드 개발 5기 부트캠프 기자단] 강사진, 멘토진 (0) | 2023.06.28 |
[과제] 테이블 설계하기 (0) | 2023.06.12 |
[패스트 캠퍼스 : 백엔드 개발 5기 부트캠프] 과정을 진행하며,, 그룹스터디_멘토링_피어리뷰 (0) | 2023.05.16 |
[패스트 캠퍼스 : 백엔드 개발 5기 부트캠프] 개인공부 5개월 드디어 부트캠프 입성_OT 후기 (0) | 2023.03.21 |