모든 과제와 HA 문제를 다 풀고 PRE 코스가 끝났다. 한달은 짧은 기간이지만 과정을 따라가다보니 어느새 꽤 많은 것을 학습한 것 같다. 적어도 한달 전엔 나는 코딩에 대해서, 자바스크립트의 기초적인 문법에 대해서, 어떤 식으로 깃허브에 푸시하는지, 테스트주도개발이나 재귀 등의 개념이 무엇인지에 대해서 아는 것이 하나도 없었던 것에 비교하면 말이다. Immersive 과정에 들어가기 전에 간략하게나마 회고 글을 작성해본다.
학습과정
-PRE 과정에서 배운 것들은 코플릿의 문제들을 풀면서 javascript의 기본 문법, 고차함수, 알고리즘, 재귀 등을 학습했고, 여러 스프린트를 통해서 유닛테스트, 테스트 주도 개발, DOM, 고차함수가 작동하는 방식에 대해서 조금 더 알 수 있었다. 전체적으로 동적으로 작동하는 웹페이지를 만드는 과정을 대략적으로나마 체험한 것 같았다.
-가장 흥미로웠던 스프린트는 트위틀러였다. 아마 직접 눈에 보이는 페이지를 만들고 심지어 그게 작동도 하기 때문이 아닐까 싶었다. 페어 프로그래밍으로 트위틀러를 진행할 때, 페어 분은 정규 학습시간 동안 뚝딱뚝딱 완성하셨는데 나는 그것의 몇배나 더 많은 시간을 투자해야 해서 주눅이 들기도 했다. 하지만 학습을 시작할 때 '내가 잘해낼 것이라고 생각하지 말자. 분명히 나는 잘 안돼서 좌절감을 느낄 거고 그것을 자연스러운 과정이라고 생각하자'라고 다짐한 것을 되새기고, 완벽하지 않은 학습이지만 놓지 않고 계속 이어가려고 했다. 그렇게 해서 트윗 작성자를 눌러 작성한 트윗을 필터링하는 기능까지 적용하니 무척 뿌듯했다. 코드 스테이츠의 일정을 충실하게 따라가는 범위 안에서 스스로의 페이스가 어떤지 찾아내고 유지하는 것이 앞으로의 16주 동안의 여정을 완주하기에 중요하겠다는 생각이 들었다.
Pair Programming
-페어 프로그래밍은 처음에는 낯설고 어색한 느낌이 들었다. 모르는 동기 분과 역할을 나누어서 주어진 문제를 해결해야 하는 것이 특히 그랬었고, 이렇게 과제를 수행하는 것이 어떤 도움을 주는 것인지 알 수가 없었다. 하지만 나는 코플릿의 문제들은 아주 만족스러웠고, 그래서 페어 프로그래밍도 믿고 따라가다보면 어떤 도움을 주는지 알 수 있을 것이라 생각했다.
-내 경우에는 앞에 다른 분이 있으면 먼저 당황하는 게 가장 큰 문제였다. 혼자서 차분하게 집중했더라면 시간이 걸릴지라도 풀 수 있었을 문제를 페어 프로그래밍 상황에서는 더욱 버벅거리게 되는 것이다. 특히 거의 모든 페어 분들이 나보다 잘하는 분이라서 더욱 그랬었던 것 같다. 물론 스스로 이런 성격이라는 것은 알고 있었지만, 페어 프로그래밍을 진행하는 내내 나의 이런 성격을 크게 느낄 수 있었다. 내가 개발자로 일할 때 그런 상황에서 침착하게 문제를 해결하는 능력을 반드시 갖추어야 할 것이다.
-페어 프로그래밍의 가장 큰 효용은, 바로 그 능력을 기르는 것을 연습하는 과정이기도 하다고 생각했다. 어쨌든 개발자는 협업해서 일을 하는 사람들(사실 대부분의 일이 그렇다)이고, soft skill을 기르는 것이 문법이나 업무에 필요한 여러 개념들을 이해하고 실제로 적용할 수 있는 능력을 기르는 것 만큼이나 중요하다는 걸 알 수 있었다.
Hiring Assessment
-코플릿으로 주어진 문제들 푸는 것은 그래도 해 본 것이라 익숙했지만, 레퍼런스를 전혀 확인할 수 없고 어쨌든 스스로의 힘으로 문제를 풀어야 했다. 코플릿으로 DOM 문제도 나오는 등, 한달동안 공부한 것들을 얼마나 숙지했는지 스스로 확인할 수 있는 기회였다. 내 경우에는, 한달 동안 공부를 하면서 밀린 과제들을 솔로위크 동안 처리할 수 있는 시간이기도 했다. 이전의 코플릿 문제들이 그랬던 것처럼, HA 문제들도 쉬운 것들도 있었고 어려운 문제도 있었다. 특히 5번 문제와 6번 문제를 풀었을 때, 코플릿의 테스트를 초록색으로 다 채웠을 때 기분은 아주 좋았다. 내가 한달동안 허투루 공부하지는 않았구나, 개발자가 되고 싶다 등의 생각을 했었던 것 같다. 마지막 7번 문제를 힌트 없이 스스로 풀어냈으면 더욱 좋았을텐데.
부족한 점 / 아쉬웠던 점
-<헬프데스크를 적극적으로 이용하지 않은 점> PRE 코스 초반에 일부러 질문해야겠다고 메모까지 해놓고 질문했던 단 한 번을 제외하면 과정 내내 헬프데스크를 이용하지 않았다. 스스로 문제를 해결하겠다는 고집도 있었고, 질문 자체가 두려웠던 이유도 있었다. 질문 글을 쓰는 것 자체가 생각보다 많은 노력이 필요한 일이기도 했고. 하지만 그 노력 자체가 학습하는 과정이었을텐데, 그 점은 반성해야겠다고 생각했다. 나는 일부러 질문해야겠다고 딱 정해두지 않으면 질문을 하지 않는 성향이기 때문에 일주일에 한 번은 질문을 만들어서라도 하겠다는 규칙을 정했다. 주말에 질문하는 시간을 따로 정해두면 좋을 것 같다.
-<스스로 문제를 해결하겠다는 고집을 부린 점> 물론 문제를 해결하겠다는 의지 자체는 좋지만 문제는 그것이 비효율적인 학습으로 이어진다는 것이다. 코플릿 문제 하나를 가지고 두시간, 세시간 고민하는 것 같이 말이다. 나는 그런 고집의 결과로 솔로위크가 다가왔을 때는 HA 뿐만이 아니라 밀린 과제들을 해결하느라 고생했다. Immersive 때는 과제가 끝나는 당일에 1차 제출을 해야하는 모양인데, 계속 이렇게 비효율적인 방식으로는 마감을 제대로 마칠 수 없을 것이다. 게다가 코플릿 문제를 풀다가 결국에 레퍼런스를 확인했다고 하더라도 이후에 그 문제를 풀어보면 이전보다 더 나아졌다는 것을 알 수 있었다. 충분히 고민하되 도움을 요청하는 것을 망설이지 말 것. 그러기 위해 헬프데스크가, 오피스아워가 있는 것이다.
-<시간관리> 여러 스프린트를 진행하면서, 특히 underbar를 진행할 때쯤에는 정말 허덕이면서 과정을 따라간 것 같다. 의욕이 너무 앞서서 밤낮을 뒤바꾸면, 다음날은 더 많은 피로가 찾아왔다. 이번 한달은 어떻게 버텨왔지만 아무리 생각해도 네 달동안 이 짓을 반복할 수 없다. 코스 회고 시간에 나온 것처럼 차라리 일찍 일어나서 공부하는 것이 낫다. 남들이 깨어있는 동안에 나도 깨어있고, 그 동안에 정말 집중하자.
-<모각코에 적극적으로 참여하지 않은 점> 적극적으로 참여하지 않은 이유는 헬프데스크를 많이 이용하지 않은 이유와 같다. 하지만 모각코는 질문보다 덜 부담스러웠고, 정규학습 시간 이후의 학습을 효율적으로 만드는 데에 많은 도움이 됐을텐데 그것이 아쉽다. 코드스테이츠에 지원서를 넣을 때 더이상 망설이지 않겠다고 써넣은 게 부끄러웠다. 필요하다면, 그냥 하자.
이제 Immersive 과정의 시작이다. 한달 전에 PRE 코스를 시작할 때에 아무 것도 아는 것이 없었기 때문에 스스로 할 수 있을지에 대한 의구심으로 가득 차 있었다. 그렇다면 지금은 스스로에 대한 확신으로 가득 차있는가? 절대 그렇지 않다. 하지만 한달동안 열심히 했고, 어쨌든 Immersive 과정에 합류하게 됐다. 나는 나의 이 작은 성취를 바탕으로 앞으로의 16주 동안 더 많은 것을 배우고 개발자로 거듭날 수 있기를 바란다. 개발자가 되고 싶어!