부트캠프/회고

[MIL] 프로그래머스 프론트엔드 데브코스 MIL 1편

Junly_21 2023. 10. 20. 10:41

7월부터 시작된 모집기간과 8월에 있던 테스트와 면접을 거쳐 9월초에 발표가 났다.

9월 중순부터 커리큘럼이 시작되었고 한달이 지났다.

 

  • 한 달동안 나는 무엇을 했는지?
  • 어떤점에서 성장했는지?
  • 그럼에도 부족한 점은 무엇인지?
  • 한달동안 하며 다른 느낀점은 무엇이었는지?

 

를 중심으로 하여 한 달 회고를 작성해보려고 한다.

 

 

 

1. 한 달동안 나는 무엇을 했는가🏃‍♂️

한 달간 한 일을 되짚어보기 위해 블로그에 작성한 글, 특히 WIL로 돌아보았다.

 

우선 코어타임에 진행된 학습 측면에서는 크게 JS스터디, 구현 과제, 알고리즘, Vanilla JS 를 학습하였다.

 

코어타임 외의 학습 측면에서는 알고리즘 특강, 깃 특강, 성장과 기록습관 특강, 브라우저 렌더링 역사 특강을 들었다.

 

기타 학습 외의 측면은 블로그 꾸준히 작성하기, 멘토님과의 주 1회 커피챗, 코드리뷰 , 모각코, 우아한 형제들 사옥탐방 정도가 있을 것 같다.

 

 

 

2. 어떤 점에서 성장했는가💪

 

 

 (1) 약 한 달간 강의와 스터디를 병행하며 JavaScript에서 알야아하는 개념을 최소 한 번씩은 보았다는것

 

  기존엔 JS를 너무 얕게 써보기만 한 상태여서 

  • 배열 메서드가 무엇이 있는지
  • 혹은 Symbol타입의 개념이 생긴 이유
  • JS에서의 불변값과 가변값 등

 

이런 기본이지만 넘기기 쉬웠던 이론들에 대해서 한 번씩 알아보았다.

 

 

 

(2) JavaScript에서 기존에 미약하게 알고 있던 개념들, 혹은 어렵다고 느껴서 제대로 모르던 개념들을 확실하게 꼼꼼히 공부해서 정복했다는 것 (Promise, 클로저, 호이스팅 등)

 

  프로미스, 클로저, 호이스팅, 실행 컨텍스트, 이벤트루프 같은 개념들은 알고는 있지만 예전의 나에게는 다소 어렵게 느껴져 훑어본 방식으로만 이해했었다.

 

하지만 한 달간 학습하며 이러한 개념들에 대해서 깊게 공부할 수 있었다.

 

특히 심적 여유가 있으니 공부하면서 왜인지, 어디에 쓰는지, 왜 나왔는지 이런 것을 궁금한 대로 찾아보며 공부할 수 있어서 좋았다.

 

예를들어 클로저를 공부하던 중, 그래서 이걸 왜 쓰는데?🙄 라는 생각이 들었고, 찾아보니 변수의 은닉화를 위해 활용할 수 있다는 것을 알게 되었으며, 그 변수의 은닉화를 직접 구현해보다가 함수 실행문과 즉시실행문, 함수 참조에 대해서 의문이 생겨 찾아가게 된 적이 있었는데, 자율적으로 공부를 할 수 있다보니 이렇게 꼬리를 무는 공부방식이 참 재밌었다.

 

 

 

(3) 코딩테스트에 대한 막연한 두려움을 '하면 되겠는데?' 라는 자신감으로 바꾼 것 (N-Queens 문제)

 

  기존에는 내가 코딩테스트를 상당히 못한다고 생각했다.😥 DFS와 BFS, 그리고 순열을 풀다가 재귀의 흐름을 도저히 이해할수가 없다고 느꼈을 때 한번, 그리고 하루가 걸려 그 흐름을 이해한 후 N-Queens를 마주하고 한 번.

 

나에게 벽을 느끼게 했던 N-queens 문제를 이번에 데브코스에서 다시 마주하게 될 줄은 몰랐다.

자신은 없었지만 '급한것도 없는데 해보지 뭐' 라는 생각으로 노트에 끄적거리면서 어떻게 해야할지 의사코드를 작성하기 시작했고, 30분 정도 노트에 적은 뒤에 내 의사코드를 보니 '실행 되겠는데?' 라는 생각이 들었다.

 

코드를 작성하는데에는 10분도 안걸렸고, 정답입니다! 가 떴을 때의 그 희열은... 게임에서 최고점 찍는거랑 비슷한 도파민이 분비되었다.🤯

 

물론 내가 코딩테스트를 잘한다고 아직도 생각하지 못하지만, 생각을 천천히 해보며 의사코드를 먼저 작성하고, 이후에 코드를 작성한다 라는 코딩테스트 풀이 루틴을 만들어 냈다는것이 크게 성장체감을 하게 해줬다.

 

 

 

(4) 바닥부터 구현하는 것을 기피하던 태도를 고치고 직접 노트에 적어가며 코드를 작성하는 자세와 숙련도를 가지게 된 것

 

  구현을 쌩으로 하는걸 좋아하지 않았다. 레퍼런스와 카피 그 사이의 애매모호한 선에서 늘 남의 코드를 입맛에 맞게 변경하는 쪽으로 구현하는 것을 선호했고, 빠르기도 했지만 바닥에서 혼자 할 능력이 부족했기 때문인 것 같다. 

 

  그러나 데브코스에서 굴러지며 계속 타이핑을 하다보니, 그냥 혼자서 짤 수 있을 정도의 숙련도가 갖춰졌고, 아. 훈련이 부족했던거구나... 라는 것을 느꼈다.

 

 

 

(5) 특강을 통해 건강한 개발자의 자세를 가지게 된 것 (왜 성장해야하며 어떻게 공부해야하고 어떻게 기록해야하는지)

  

  데브코스를 진짜 높게 평가할 수 있는 이유 중 하나는 특강의 퀄리티 인 것 같다. 처음엔 코딩테스트 팁과 깃 사용법 같은 가벼운 강의가 주제였는데, 이후에는 성장을 위한 방법, 렌더링의 역사 등 진짜 개발자의 자세와 지식을 갖출 수 있도록 심도있는 주제를 다루었다.

 

  심지어 깃 사용법을 할 때에도 무려 토스 진유림님께서 특강을 해주시며 소스트리 등 내가 알지 못하던 GUI를 알려주셨고, 기본부터 꿀팁까지 몰랐던 내용을 알아갈 수 있었다.

 

  그리고 개발자가 왜? 🙄 라는 물음을 던져야 하는 이유에 대해 알려주신 우아한 형제들 광휘님의 특강도 좋았다. 이 강의에서 왜? 를 강조해주시다 보니 어떻게 공부하고 어떻게 기록하여 어떻게 자신을 드러내는 면접을 봐야할지 깨닫게 되었다. 뼛속부터 T인 나를 완전히 납득시키시는 강의였고 푹 빠져버렸다..

 

  당근마켓 프론트 개발자시면서 강의를 맡고계신 로토님은 브라우저 렌더링과 CSR, SSR에 대해서 설명을 해주셨는데, 강의를 듣고나니 Next.js가 떠오르고 있는 것을 CSR이 SSR로 넘어가게 된 이유와 함께 엮어서 설명할 수 있게 되었다.

 

  사실 이전에 몇다리 건너 듣기로는 '잘 하는 개발자는 프론트로 귀결된다.' '프론트도 서버와 인프라를 다 해야한다.' 

이런 이야기를 들었었는데 이유 없이 그냥 문장만 들으니 납득도 안되고 해야겠다는 생각도 안들었다.

 

  그러나 로토님 특강을 들으니 아... 서버쪽도 나도 언젠간 해야할 일이고 때가 되면 공부를 진행하는것이 마땅하구나 라는 생각이 들며 납득할 수밖에 없었다.

  

 

3. 부족한 점은 무엇인가 🦑

 아이러니 하게도  잘 성장했다고 느낀 모든 부분이 부족한 점이라고 느껴진다.😥

 

개발은 우매함의 봉우리에 있다가, 공부하면 할수록 나의 부족함을 느끼는 바닥인 것 같다.

 

5층을 보고 올라갔더니 10층이있고, 10층을 보고 올라갔더니 20층이 있고, 20층을 보고 올라갔더니 30층이 있고....

 

100층? 200층? 300층? 끝도 없을 것 같다. 😵

 

그러므로 허황된 꼭대기를 목표로 하는게 아닌, 내가 도달할 수 있는 일반인의 범주에서 최대한 노력을 해야겠다.

 

 

 

4. 기타 느낀점 🎸

MIL을 작성하다보니 생각보다 내가 자신감이 많이 없었다는 것을 깨달았다.

 

아마 숱한 불합격과 코딩테스트, 구현에 대한 불확신 때문이었던 것 같다.

 

그리고 이 한 달간 자신감을 많이 회복 했다는 것을 알 수 있었다. 그게 가장 큰 것 같다.

 

나에겐 '왜' 라는 이유가 정말 중요하고, 이게 있어야 움직이는 사람이구나 라는 생각을 했다.

 

누군가는 '이런거 해야돼!' 하면 이유가 있겠지, 하고 적절히 수용하겠지만 나는 그게 참 안되는 것 같다.

 

물론 그래서 이유를 뜯어서 따지는게 장점인 부분도 분명히 있으나, 피곤하거나 나에게 손해인 경우도 꽤 있는 것 같다.

 

앞으로는 수용성과 탐구성을 적절히 섞을 수 있도록 노력을..🧪

 

추가적으로 깃 커밋 컨벤션을 지키며 작성하기 시작했다는 것, 블로그를 운영하기 시작했다는 것...도 성장의 일부이려나?

 

아무튼 한 달 정말 꽉 채워 지냈다는 것을 회고를 통해 다시 느껴볼 수 있었다.