본문 바로가기

일상

제로베이스 백엔드 부트캠프 4달 후기

제로베이스 백엔드 부트캠프를 과정을 다니면서 이제 4달째가 되었다.

 

첫번째 1세션인 코딩테스트와 자바의 기초및 CS관련 공부하는 것이 끝나고 실무에서 많이 쓰이는 스프링 단계로 넘어 가게 되었다.

이번 시간에는 PART 1의 회고록 형식으로 진행 해보려고 한다.

 

솔직히 직장다니면서 부트캠프나 다른 공부나 취미생활를 한다는 것 자체가 엄청나게 힘든 일이다.

더구나 나는 경기도에 살기 때문에 서울에 직장까지는 왕복 3~4시간이 소요되기 때문에 중간중간 포기하고 싶었던 적은 엄청나게 많았다.

 

주말에는 코딩이라는 공부를 벗어나고자 넷플릭스에 "타다" 라는 다큐멘터리를 보았었다.

 

 

스토리를 간단하게 말하자면, 처음부터 사업을 시작하게 되어서 주위에서 들었던 말들은 "괜찮아?", "이직 준비는 잘하고 있어?" 긍정적인 말 보다는 부정적이나 회유적인 표현들이 많이 듣게 된다.

 

하지만, 직원분들은 결과적으로 아쉬워 했지만 그 과정를 설명할때는 어린 아이가 만화영화를 설명하듯 할말도 많아 보이고 자부심을 느끼는 것같았다.

 

솔직히 제로베이스 백엔드 Section1을 진행하다보면 처음 개발하는 입장이라면 "이런걸로? 뭘 만들 수 있지?" 지금 만드는 건 콘솔창에 숫자와 문자만 나오는 형식이기때문에 "내가 뭐하는 거지?" 라는 말도 나왔을 거라고 생각한다.

하지만 타다나 지금의 스타트업들이 있기까지 미래의 불안감은 다들 시작했을 거라고 생각한다.

나도 배우는 입장이고 프로그래밍 세상에 접하기때문에 우리입장도 스타트업의 입장과 같다고 생각했다.

내가 적성에 맞지 않아서 취업이나 진도에 못따라간다고 해도 타다라는 기업 처럼 결과적으로는 실패를 했지만, 과정은 누구에게나 좋은 평가를 받을 사람이 되고 싶어 다시 노트북을 켜서 공부를 했었습니다.

 

제로베이스 백엔드를 다니면서 생각의 전환이 많이 되었었다.

원래는 프로젝트를 할때 Legecy Spring + mybatis가 제일 보편적이였다.

이러한 구조는 Java보다는 SQL에 치우쳐저 있어 Java 패턴 중에서도 싱글톤 패턴만 사용하고 getter, setter를 남발한다.

 

하지만, 객체지향 생활체조라고 불리는 마틴 파울러의 에세이를 보면 setter보다는 생성자를 사용하는 것이 좋다고 되어 있다.

 

또한, Java의 interface같은 부분이 있으면 serviceImpl 를 만들고 @Service를 달기 위해서 쓴다라고 만 알았는데 한 행동에 대해 다른 로직으로 구현할 수 있는 특성을 다형성이라고 하는 표현이 있다는 것을 알게 되고 실무에서 이렇게 쓰지만 왜 이렇게 썼는지에 대해 알게 되었다.

 

 

 

또한, 코테를 하면서 모든 문제를 List 나 Map으로 최대한 짧게 만들려고 노력했었다.

결론적으로 엄청난 시간이 걸리고 답안에서도 틀린 결과를 나타냈다. 하지만 이렇게 말고 일단 풀고 천천히 리팩토링 하는 형식이였던 풀고 점점 실력이 늘면 모범답안을 보면서 내 것으로 만드는 것이 정답이였었다.

브루투스포스, DP, 그리디 문제 등 여러 문제별 파악하고 맞게 풀었다면 어떻게 풀면 더 빠르게 풀수 있는지 알고리즘에 대해서도 많이 알아야 했었다.

 

성장점을 느꼈던점은 과제를 하면서 느꼈던것같았다.

전체적인 코드를 보여주지는 못해도 처음에는 어떨때 interface를 써야하는지, 어떻때 AOP를 써야하는지 생각해보면서 코드를 작성했었다.

하지만 처음에는 계좌 관리 시스템에서 피드백을 정말 많이 받았었다.

 

테스트코드를 작성하긴 했지만 결정적으로 실패 케이스를 생각하지 않았다.

 

 

 

내가 잘못 했던점을 리뷰해준다는 것이 너무 좋았었다.

 

그렇게 다음 과제에서는 그냥 Pass라고 받게 되니 내가 성장했다는 점을 느끼게 되어 좋았던것같다.

 

또한, 현직자 분들께서 라이브 세션으로 코테나 블로그 관리 등 여러가지 진행해주셔서 너무 감사하다고 느꼈고, 이런 어밴져스들을 어떻게 모였는지 대단하다고 생각이 들었다.

 

 

이 글은 데이원컴퍼니로부터 소정의 원고료를 지급받아 작성되었습니다.