해당 글은 코드스쿼드 CS16 과정 자세한 내용을 포함하지 않으며 저의 느낌 만 작성할 계획이다.
매주 1개의 큰 CS 주제와 주제에 관련한 2개의 미션을 각각 월화 / 목금 그리고 격주로 수요일에 알고리즘 문제를 풀며 진행되었다.
CS16을 시작하기 전 너무 걱정이 가득 이였다. 과거 특성화 고등학교를 다니며 배운 CS 수업은 수면제 그 이상이었기 때문이다. 2달 동안 지옥 같은 이론 수업에 살겠구나 생각하였다.
하지만 나의 생각과 다른 수업 진행 방식에 다행이라 생각을 가지게 되었다. 마스터의 간단한 주제와 미션 소개, 그룹 간의 소통과 개인의 공부로 문제 해결, 마스터의 이론 수업, 다시 그룹원과 소통과 리뷰로 이 과정이 새로웠고, 여러 사람과 함께 소통하며 공부한 다는 경험이 처음인데 정말 즐거웠다.
과거에 특성화고를 다니며 CS관련 지식을 배웠기 때문에 나름 지식을 많이 가지고 있을 것이라 생각했다. 하지만 그것은 나의 착각이었고 모르는 부분, 틀린 부분, 잊고 있던 부분 사실 CS를 새로 공부했다고 해도 이상하지 않았고 CS의 중요성을 다시 한번 느낄 수 있었던 좋은 수업이었다.
1. 나의 코드를 공유하기
-> 나의 코드를 남에게 보여주고 싶지 않았다. 나의 실수, 풀이가 완벽하지 않아 부끄러웠기 때문이다. 하지만 매 미션마다 정해진 시간에 그룹 리뷰 시간이 있었다.
그 리뷰 시간에는 서로의 미션 코드, 접근 방식, 풀이 등을 공유하는 시간이었다. 이 시간을 가지며 같은 접근 방식이더라도 이해하거나 풀이가 모두 다른 경우도 있었다.
나의 코드를 부끄러워 하기보다 서로 생각이 다르다 생각하며 다른 사람의 피드백을 적극적으로 받아들이며 좀 더 좋은 방향으로 수정할 수 있게 되었다.
2. 완벽하지 않지만 계획을 세우기
-> 항상 코딩에 계획을 세우지 않고 살아왔다. 사실 계획이 단 한 개도 없이 살지는 않았다. 너무너무 크고 당연히 해야 하는 것을 계획으로 삼았기 때문에 계획이라 생각하지 않았다.
예를 들면 미션을 보고 "아! 미션에 있는 동작 예시에 맞게 만들어야지" 계획이 아닌 미션을 보면 누구나 해야 하는 생각이다. 하지만 지금은 조금 달라졌다. 미션을 보고 이 부분은 A처럼 하고 B를 써서 해보고, 여기는 C를 써서 D처럼 해보자! 나름의 계획을 세우기 시작했고 그 계획에 맞게 미션을 세분화하여 풀기 시작했다.
3. 숲이 아닌 나무를 보자(?)
-> 원래 반대로 쓰는 말 같지만 2번처럼 계획을 세우며 생긴 변화 중 하나이다. 원래 문제나 미션을 보게되면 항상 하나의 덩어리 즉 숲이라 생각하고 "와 이 숲 어떻게 만들지?" 이런 생각을 하고 있었지만 지금은 숲을 만들기 위해 나무 하나하나를 심는것 처럼 미션의 필요한 동작 하나하나 세분화 하여 해결하게 되었다.
그래서 좀 더 미션에 접근이 빨라진 것 같다.
4. 매일 알고리즘 문제 풀기
-> 알고리즘 풀이에 대한 부족함을 많이 느끼게 되었다. 그래서 정말 쉬운 문제라도 매일 풀고 잔디를 심으면 나중에는 나의 빽빽한 잔디밭과 몇백개의 문제를 푼 모습을 상상하며 시작했다.
하지만 벌써 구멍이 5개.. 그래서 잔디에 집착해서 잔디를 위한 알고리즘 풀이가 아닌 나의 문제 해결 능력 향상을 위해 풀기로 했다.
5. 늦게 자고 일찍 일어나기(?)
-> 이 부분이 좋은 건지는 잘 모르겠다. 백수 기간에는 항상 새벽 3시가 넘어 잠에 들며 8시쯤 일어났다가 다시 자서 점심시간에 일어나는 엉청난 생활 패턴으로 살았다.
코드 스쿼드 수업 시간을 맞추기 위해 무조건 9시 20분에는 일어났어야 했고 그 시간에 일어나기 위해 12시쯤 취침을 했다.
하지만 미션의 난이도가 올라가며 문제를 무조건 기간 내에 해결하겠다는 욕심이 생겨 미션에 투자해야 하는 시간이 늘며 점점 늦게 자게 되었다. 드디어 공부에 의욕과 욕심이 생긴 것 같다.
6. 게임 시간 대폭 감소
-> 10시 ~ 6시 수업이 끝난 뒤 바로 헬스장에 가서 1시간 20분 운동 후 씻고 저녁을 먹으면 9시쯤이 된다. 그리고 1시간 가족과 시간을 보내며 휴식을 하고 나면 10시가 된다.
그러면 이제 다시 해결하지 못한 미션 미션 풀게 되면 게임을 할 시간이 없었다. 사실 미션에 필요한 시간이 늘며 게임을 할 수 없게 되어 버린 것이다. 과거에 게임을 정말 숨 쉬듯이 중독인가? 싶을 정도로 많이 하며 살았지만 지금은 게임 없이 오히려 공부를 숨 쉬듯이 하게 되었다.
1. 미션 해결에 집착과 소홀해진 이론
-> 미션 해결만큼 이론의 공부 그리고 그 이론을 기록하는 것이 매우 중요하다 생각한다. 하지만 미션 해결에 너무 큰 집착을 가지고 있다. 그렇기 때문에 이론에 맞게 공부를 하며 그 상황에 필요한 정보를 구글링하며 문제만 해결해 나간다. 지식이란 게 완벽히 머리에 남지 않기 때문에 이론을 정리할 필요성을 느끼지만 미션을 해결하고 나면 다음 미션이 찾아 오기 때문에 사실 이론 정리와 공부는 점점 밀려나게 되었다.
2. 블로그 작성
-> 공부를 시작하며 내가 배운 내용, 해결한 알고리즘 문제 등을 다시 정리하며 기록을 남기기 위해 velog를 개설했다. 개설할 당시에도 TIL처럼 자주 쓸 수 있을 거라 생각하지 않았지만 격주로 작성하던 알고리즘 풀이마저 1월 이후 1달 동안 작성하지 않았다.
3. 글쓰기에 대한 어려움
-> 1, 2번 문제점과도 밀접한 문제점이라 생각한다. 어릴 적부터 언어에 대해서 거리감이 느껴지며 어려움을 느꼈다. 그래서 학창 시절부터 남들 앞에서 발표와 같은 말 하기, 영어, 국어에서 항상 힘들어하였다.
남들이 읽었을 때 술술 읽히는 그런 멋진 글을 작성하고 싶지만 정말 어렵다.. 좋은 단어 선택 좋은 글귀 하나 쉬운 일이 없어 항상 힘들다.
그래서 코딩도 못하나..?
4. 나 혼자만의 타협점을 찾기
-> 모든 일에 타협점은 필요하겠지만 이 타협점의 위치 또한 중요하다 생각한다. 하지만 나는 점점 힘들고 스트레스를 받게 되면 계속 쉬운 곳을 찾아 타협점으로 두게된다. 항상 "이 정도면 되겠지" 이런 생각 때문에 항상 애매한 위치에서 손을 놓아 버리는 안 좋은 습관이 있다.
기억보단 기록을
위 글귀가 제일 먼저 생각났다. 기억은 정말 잠깐만 지나도 금방 사라진다고 생각한다.
그렇다면 기록을 남기고 필요한 순간에 그 기록을 찾아온다면 좀 더 시간을 단축하며 나에게 도움이 될 것 같다. 완벽하고 잘 꾸며진 글이 아니더라도 글을 쓰는 연습이 필요하고 기록 또한 필요하다고 생각한다. 앞으로 있을 본 과정 프론트엔드 맥스에서는 기록을 좀 더 생활화하여 메모도 하고 블로그도 좀 더 꾸준히 하고 싶다.
결국 내가 못하고 싫어하는 것을 외면하고 도망치지 말고 맞서 싸워보자!