22년 1학기 회고, 여름 방학 시작

Yoonlang·2022년 6월 16일
0

이번 주를 끝으로 22년 1학기가 마무리된다. 이번 학기에 대한 총평은 '바쁜데 한가한'이다. 계속 이어진 코딩 테스트 준비, 면접 준비 덕에 여유롭진 않았다. 그래도 다음 학기면 4학년. 짬이 차서 그런지 시험공부에서는 압박을 많이 받지 않았다. 하나씩 천천히 회고해 보자.

학교 수업

이번 학기는 총 19학점을 들었다. 그중 전공이 13학점인데, 학기 난이도로 치면 굉장히 쉬운 한 학기를 보냈다. 덕분에 학교 수업 외적인 부분도 챙길 수 있어서 좋았다. 이번 학기 강의 중 제일 기억에 남는 강의는 대학 글쓰기이다. 대학 글쓰기 수업을 듣기 전에는 글쓰기는 고사하고 notion에 내 공부 정리하는 것도 힘든 수준이었다. 글을 쓰는 습관을 들일 수 있어서 너무 좋았다. 그게 스노우볼이 되어 지금은 일기 쓰기 16일차에 블로그에 내 생각을 정리해서 글을 쓸 수 있게 되었다. 글을 쓰는 능력이야 이전에도 있었겠지만 시작하기에 계기가 될 수 있는 건 좋은 의미이다. 대학 글쓰기가 계기가 되어 나를 알아가게 되어 다행이다.

교외

이번 학기는 학기 난이도가 쉬운 만큼 학교 수업 외적으로 많은 시간과 정신력을 썼다. 시간의 흐름을 따라가자면 구글 코테, 카카오 코테 순이다.

구글 코딩테스트와 Leetcode

구글 STEP 프로그램에 이력서를 제출했는데, 코딩 테스트에 대한 공고가 날아왔다. 이를 위해서 leetcode에서 영어로 된 문제들을 2주간 잔뜩 풀었다. 이 2주간 문제를 접근하는 방식에 대한 능력이 꽤나 올랐다. 이유로는 구글 interview에서 정형화된 문제 접근 방식이 있어서이다. 먼저 clarify를 통해 문제를 명확히 파악 후, 그 문제에 맞는 자료구조를 택해서 실제 코딩을 하는 방식이다. 이 방식을 접하고 어떤 자료구조를 쓸지, 시간 복잡도가 어떻게 될지에 대한 깊이 있는 생각을 하고 나서 문제를 푸는 좋은 습관이 생겼다. 그러면서 특히 많이 쓰게 된 것은 set, map이다. 개인적으로 코딩 테스트 최고의 무기라고 생각한다.

카카오 코딩테스트와 Javascript

이번 학기 6학점 뺨치는 시간 및 정신을 투자한 녀석이다. 결론부터 말하자면 서류 탈락인데, 내가 이력서를 얼마나 개떡같이 냈으면 싶다.. 다음번엔 이력서를 더 꼼꼼히 작성해야겠다.
5/7 카카오 인턴 코딩 테스트가 있었다. 이를 위해 중간고사 기간 및 시험 치기 전까지 대부분의 시간을 할애했다. 프로그래머스에서 이전까지의 카카오 코딩 테스트를 임의로 풀어볼 수 있는데, 시간을 재면서 푸니 5/5, 5/7이 여유롭게 나왔다. 처음엔 이번 코테에서 5문제를 다 맞추는 걸 목표로 해서 그런지 정말 공황에 가까운 나 자신이었다. 혼자 곪아가다가 생각해 보니 여기에 인생 거는 것도 아니고 3문제만 맞춰도 충분하단 생각이 번쩍 들었다. 심마를 이겨내고 코딩 테스트 당일 4.x솔을 해냈다.
서류 합불 통보는 5월 24일. 서류 합격을 예상하고 2주간 면접 대비를 위해 열심히 공부했다. 면접은 처음이라 집에 구멍이 송송 나있었다. 2주간 구멍을 다 채워놔야 했다. 처음은 CSE Seat 프로젝트의 프론트엔드 에러들을 잘 정리했다. 그리고 그 에러와 관련 있는 JS 개념들을 Notion 및 머리에 정리했다. 그리고 순수 JS에 대한 공부도 약점이었다. Inside JS를 복습하며 허겁지겁 DOM부터 ES6까지 최대한 공부하고 블로그에 정리했다. 이력서 내용 기반으로 질문 예상도 하고 대답도 하고 혼자 북 치고 장구 쳤다.
결론은 서류 탈락. 정말 머리에서 쿵 소리가 들렸다. 4.x솔인데 서류 탈락이라고? 정말 꽤나 충격이었다. 면접 준비 열심히 했는데 면접까지 못 간 건 아쉽지만 이거 탈락했다고 인생 끝나는 게 아니긴 하다. 탈락을 보자마자 정신이 확 들어서 다음 주에 있는 시험공부를 시작했다. 챙길 건 챙겨야 하니까.
느낀 점을 말하자면 아쉽지만 너무 좋은 시간이었다. 안된 건 아쉽지만 준비하는 과정이 다 피가 되고 살이 되는 과정이었다. 코딩 테스트 준비하면서 구현 요구사항에서 실수가 나지 않도록 연습했고, 면접을 준비하며 순수 JS 공부를 깊게 할 수 있어서 좋았다. 플러스로 기술 블로그를 도전해 보는 기회이기도 했다. 개인적으로 순수 JS 공부하면서 정말 리팩토링에 대한 욕구가 미치도록 샘솟았다. 방학이 오기만을 기다렸던 것 같다.

여름 방학

이번 여름방학엔 원래 현장실습으로 인턴을 하려 했는데, 결론적으로 아무것도 없는 방학이 되었다. 계절학기도 없이 정말 아무것도 없는 방학을 보내는 건 처음이다. 이번 방학엔 '깊은 생각을 하는 개발자'가 내 목표인 듯하다. 이게 무슨 뜻이냐. 현재 Jest 공부 2일차인데, 내 관심과 집중은 Jest의 함수보단 조금 더 원론적인 '무엇을 테스트해야 하나', '테스트가 과연 필요할까' 등에 있다. 컴포넌트에 대해서도 '어떻게 컴포넌트를 쪼개야 이상적일까', 'useMemo, React.memo를 어떻게 쓰면 리렌더링을 효율적으로 할 수 있을까' 등에 대해 이번 방학 때 결론이 도출되도록 노력할 것이다. 이번 방학 첫 목표로 CSE Seat의 리팩토링이 계획되어 있다. 저번 겨울 방학엔 구현과 에러 처리 부분에서 대부분의 시간을 할애해서 사실 깊고 근본적인 질문들은 피했다. 이번 방학이 끝날 때, 어떤 소감을 보일지 스스로에게 기대해 본다.

여름 방학에 하고싶은 공부

  1. Jest
  2. Typescript
  3. React 18
  4. 컴포넌트 및 리렌더링 최적화

이번 리팩토링 과정에서 Jest 도입 및 컴포넌트와 리렌더링 최적화에 대해 공부할 것이고, Typescript는 다음 프로젝트에 도입될지, 아니면 리팩토링 과정에 포함될지는 모르겠다. React 18은 이번 18버전에서 SSR을 구현할 수 있다고 들었다. CSE Seat이 Next.js로 이루어진 만큼 SSR을 React만으로 구현해 보고 싶다. 이것은 토이 프로젝트가 될지, 다음 프로젝트에 도입될지 모르겠다.

개발 외 탐나는 것들

  1. 토익 스피킹
  2. 운동
  3. 운전 연수

이번 방학이 앞으로 아무 공식 일정이 없는 만큼 개발 외적으로도 무언가를 챙기고 싶다는 열망이 크다. 기계처럼 생각해 보자면 롤토체스 유튜브 보고, 롤토체스하는 시간만 빼면 셋 다 할 수 있다. 근데 계기가 없으니 시작이 좀 어렵다. 운전은 사실 우선순위가 크지 않으니 밀어두고. 운동을 어떻게 시작하면 좋을까? 계기를 만들어봐야겠다. 이 글을 쓰고 바로 운동하러 가야 하나?

마치며

1학기 회고와 여름방학에 대해 적는 데 벌써 1시간 반이 흘렀다.
고생 좀 했던 1학기는 잘 가고 여름 방학도 열심히 살아보자.

0개의 댓글