민스씨의 일취일장

2개월 후기 | F-Lab Java Backend 과정 멘토링 본문

Personal Development/F-Lab 자바 백엔드 과정 [진행중]

2개월 후기 | F-Lab Java Backend 과정 멘토링

읻민스 2024. 7. 31. 21:41
반응형

F-Lab Java Backend 과정 2개월 후기 글이다.

F-Lab Java Backend 과정 멘토링 2개월 후기

F-Lab Java Backend 2개월 썸네일 이미지이다.
F-Lab Java Backend 2개월

어느덧 7월 한 달이 모두 지나고, F-Lab 멘토링을 진행한지 2개월이 지났다. 중간 점검을 하면서 지난 한 달을 돌아보려고 한다.

방향 점검

내가 올바른 방향으로 가고 있는지 판단하기 위해선 기준이 필요한데, F-Lab 멘토링을 시작할 때 가졌던 목표를 그 기준으로 삼아보려고 한다. 그 기준으로 지난 2개월을 살펴보고 잘 하고 있는지 또는 목표를 수정할 필요가 있을지 살펴보자.

시작할 때의 목표

이 글을 작성하면서 1개월차 후기를 다시 읽어보았다. 그 당시 목표는 "깊이 있는 지식 수준"을 갖추는 것이었다. 이 목표를 보니, 멘토링을 처음 시작할 떄가 새록새록 생각났다.

두 달 동안 학습한 내용

  • 최적화된 커리큘럼과 진행 속도

2개월, 총 9주의 멘토링 시간을 보내면서 느낀 점은 커리큘럼이 정말 좋다는 점이었다. 인강이나 책처럼 모든 내용을 하나도 빠짐없이 다루는 것이 아니라 정말 중요한 핵심 개념들을 공부하고 고민해 나가면 진도가 나아가고 있다. 그리고 이번 주 배운 주제가 다음주, 그 다음주에  꾸준히 활용되며 자연스럽게 이어졌다. 개별로 보면 쉽지 않은 주제들을 "좋은" 순서로 공부하는 것 만으로도 체감되는 난이도를 낮출 수 있었고 또 공부할 때 모르는 부분이 많아서 오는 스트레스를 완화해 줄 수 있었다. 혹시 그 "좋은" 순서가 궁금하다면 아래와 같다.

1주차 : 객체지향 프로그래밍 / 객체지향 4가지 속성/ 자바 컴파일 과정
2주차 : JVM 메모리 구조 / 자바 GC / Thread Safty와 동기화 / static, final
3주차 : Exception, Generic, Collection, Synchronized Collection, Concurrent Collection, HashMap
4주차 : JSP, Servlet, MVC Pattern, Cookie, Session, HTTP Method, HTTP Status Code
5주차 : JDBC, SOLID
6주차 : 디자인 패턴, Spring IoC & DI
7주차 : Spring AOP, ORM
8주차 : OPEN API Spec, REST API, MSA, Docker
9주차 : Spring Bean Scope, Spring MVC, Spring Transaction, APM
📣 주의
커리큘럼은 멘토님의 방향과 멘티의 수준에 따라 모두 다릅니다.
  • 기술의 큰 그림

프로젝트에 시작하기 앞서 서비스를 개발하는 전 과정과 서비스가 어떻게 성장하는지를 멘토님꼐서 설명해주시는 시간을 가졌다. 간단한 서사처럼 살펴보면 서비스는 다음과 같이 확장된다.

아주 간단한 CRUD 기능을 갖춘 서비스에서 시작해, DB를 이중화하고, 서비스 성능을 높이기 위해 캐시 DB를 적용한다. 또 이렇게 구성된 하나의 서비스를 마이크로 서비스로 하고, 여러 마이크로 서비스를 합쳐가며 자연스럽게 분산 서버를 사용하며 확장해 간다. 이런 마이크로 서비스에 접속을 돕기 위해 API 게이트웨이와 로드밸런서를 연결해주고, 마이크로 서비스간의 통신을 위해 이벤트/메시지 브로커를 연결해 주며 서비스가 원활하게 작동하도록 한다.

여태까지 백엔드를 공부하고 취업 준비를 하면서 이런 내용을 정말 몰랐다. 무심했었을 수도 있고, 이렇게 큰 그림을 모른채 파편적으로 듣는 기술 이야기가 잘 와닿지 못했을 수도 있다. 이 이야기를 처음 들었을 때 정말 시야가 확 넓어지는 기분이 들었다. 그리고 동시에 그 동안 정말 장난 수준의 기술 준비를 한 것 같은 기분도 들었다. 이렇게 알게 된 큰 그림을 토대로 앞으로 어디에 집중해 보고 싶은지 생각해 볼 수 있게 되었다. 실제 프로젝트 계획도 이 이야기를 베이스로 계획했다.

2개월차 회고

개발자 습관

솔직히 공부를 짧지 않는 시간 했다고 자부했기 때문에 특별히 공부습관에는 달라질게 없다고 생각했다. 그런데 2달의 시간이 지나고 보니 단순한 공부 습관을 뛰어 넘어 개발자습관 또는 개발자 루틴같은 것이 생겨나기 시작했다. 이론만 다루는 시간이 끝나면서 프로젝트도 진행하고, 이력서도 손보고, 알고리즘 문제풀이도 하면서 할일이 나날이 늘어가고 있다. 물론 이 모든걸 하면서도 이론 학습은 꾸준히 이어가고 있다. 돌아보면 첫 7주동안 아주 중요한 핵심 개념을 잘 다졌고, 이를 기반으로 공부의 질은 유지하면서 해내는 일을 늘려가는 훈련을 하고 있다는 생각이 든다. 이렇게 깊이 학습하는 패턴은 유지하면서 같은 시간 내에 해내는 일을 늘려가기 위한 하루하루의 노력이 "개발자로써" 가져야 할 습관이지 않나 생각해보게 되었다.

💡 개발자는 개발만 하지 않는다!

가이드의 중요성

매주 후기를 작성하면서 자주 언급하는 것이 가이드가 있어서 좋다는 이야기이다. 이 모든 걸 혼자서 했다면 이렇게 빨리, 자세하고, 다양한 내용을 다루지도 성취하지도 못했을 것이다. 멘토링을 하기전과 지금의 나는 그저 나일 뿐 사람이 바뀐게 아니다. 즉, 누군가의 믿을만한 가이드가 있었기에, 혼자할 때보다 훨씬 많은 것들을 해낼 수 있었다. 이렇게 소중한 가이드를 2달이나 더 받을 텐데, 앞으로 얼마나 더 많은 것들을 멘토링 기간 중에 해낼 수 있을지 기대된다.

다시보는 목표 - 목표도 성장중

"깊이 있는 지식 수준"을 갖추자는 마음가짐으로 F-Lab을 시작했다. 9주가 지난 지금 이 처음의 목표를 볼 때, 살짝 갸우뚱했다. 저것만으로 만족할 수 있을까? 실제로 요즘 멘토링에 임할 때 내 모습을 돌아보면 지식 수준을 갖추는 것만이 목표가 아니다. 백엔드 기술 전반의 큰 그림을 본 이후에는 그 기술 전반을 빨리 경험해 보고 싶어졌다. 그래서 2개월이 지난 지금 멘토링의 목표를 수정(?), 성장시키려 한다.

1. 깊이 있는 지식 수준을 갖추자!
2. 깊이를 다지면서도 최대한 백엔드 기술 전반을 경험해보자!

다음 달 이 글을 다시 보면서 어떤 기분이 들지 기대된다!

728x90
반응형