부스트캠프2019 챌린지 WEEK4, 챌린지 후기
부스트캠프 마지막 주차에 다다르면서, 어려운 미션이 많아졌다. 아무래도 멤버쉽에 갈 사람들을 선정하기 위해서 좀 더 난이도 있는 미션을 주셨어야 할 것 같다..ㅠㅠ 그래서 이번 주차에 TIL 마지막 2번은 쓸 체력도 없이 완전히 방전되었었다. 그날도 네트워크, 운영체제와 관련해서 많은 것을 배웠는데 이 부분도 한번 쉬면서 정리해둬야겠다.
이전 주차들에서도 그랬지만, 부스트캠프를 하면서 정말 많은 것들을 배웠고 나도 정말 많이 변해서 하길 잘했다는 생각이 든다.
옛날에는 어려운 문제를 보면 최대한 쉬운 방법으로 해결할 수 있는 방법들을 찾아보곤 했다. 일단 해결하는 것이 우선이었고, 새롭고 어려운 방식은 익숙하지 않아서 거부감부터 들었기 때문이다. 그런데 여러개의 미션들을 거치면서 좀 더 효율적으로 문제를 해결할 수 있는 방법들을 찾아보기 시작했다. 일단 피어세션을 진행할 때 내 코드가 지저분하면, 부끄러웠기 때문이다. 다른사람들의 깔끔한 코드를 보면서 아, 나도 저렇게 한번 짜볼걸.. 시간도 남았었는데. 하는 생각이 들기 시작했다.
그래서 회를 거듭할수록, 어떻게해야 더 버그없이 작성할 수 있을지 설계부터 하기 시작했다. 초반 미션에서는 키보드에 먼저 손을 댔고, 짜고나서 버그가 생기면 그 때 고쳤다. 그런데 물론 설계를 먼저 시작했다고 해서 버그가 없었던 것은 아니다 시간이 많이 부족했더라면 몰랐을까, 정해진 시간까지 충분한 시간이 남았다면 설계로 좀 더 깔끔하게 작성하는 편이 좋았을 것 같다는 생각이 들었다. 그 뒤로는 종이에 설계도 한번 해보고, 코딩에 들어가보기도 했다.
설계를 하는데 익숙한 편은 아니라서, 결과가 썩 좋진 않았다. 오히려 잘못된 설계로 쭉 짜다보니 더 참담한 결과를 이끈 적도 몇 번 있어서 그냥 먼저해볼걸 그랬나? 하는 후회를 하기도 했다. 이런 과정을 여러번 겪으면서 설계와 공부, 코딩을 시작하는 시간의 간극을 찾는 데 좀 더 익숙해져갔던 것 같다. 아직 완전히 얼마나 걸리는 것이 좋은가에 대해서는 잘 모르겠지만, 무작정 설계만 하거나, 코딩만 하는 것이 별로 좋지 않다는 것 만큼은 확실하게 알았다.
피어세션
도 정말 많은 도움이 되었다. 팀 프로젝트를 하면 각자 다른 문제를 풀기 때문에 코드리뷰를 해도 그냥 배워가는 느낌이 많았는데, 이건 같은 문제를 다른 방식으로 푼 형태이다보니 내가 푼 코드를 설명해도 상대가 부족한 부분을 찝어줄 수 있고, 잘한 부분은 칭찬도 해줄 수 있었다. 그렇게 부족한 부분도 알고 잘한 부분들도 알게 되니까 기분이 상하는 것 보다는 더 잘해야겠다는 생각이 들었고, 자신감도 잃지 않을 수 있었다.
거기다 각 문제에 대해 160명이나 다른 생각을 가지고 문제를 풀었기 때문에, 그 당시에는 피곤해서 다른 사람들의 브런치를 볼 시간이 없었지만 앞으로 회고 겸 다른 사람들의 코드도 하나씩 보면서 더 공부하는 시간을 가질 수 있어서 좋을 것 같다. 특히 그동안 나보다 잘하는 사람들이 있다는 것만 알고, 직접 그 코드들을 본적은 없었는데 그런 코드들을 통해서 많은 자극을 받을 수 있었다.
마지막으로 릴레이 프로젝트
는 정말 신기한 경험이었다. 아마 회사에 가면 이런 일이 가끔 있지 않을까, 싶은데 다른 사람들이 기획한 프로젝트를 받아서 그 다음팀이 1개 기능을 개발하고, 다른 팀이 2번째 기능을 개발하는 식이었다. 기획은 처음해봤는데, 와 이 프로젝트 내가 받지 않았으면 좋겠다라는 느낌이 들었다.. 그래도 마지막 주차에서 결과물을 보니 어느정도 완성된 느낌이어서 신기했다. 개발하면서는 다음팀 이거 제대로 개발할 수 있을까? 하는 생각이 들었다. 이전 팀에서 개발한 것을 해석하기도 힘들었고, 막상 그러느라 내가 했던 주차도 큰 결과물을 내지 못했기 때문이다. 그러면서 더 깔끔하게 해서 주던지, 아니면 설명이라도 잘해두자! 라고 생각하게 되었고, 깔끔하게 하는건 힘들었던 것 같아서 설명을 잘 적어주기로 했다.. 덕분에 문서를 작성하는 능력도 늘었던 것 같다.
릴레이 프로젝트를 하면서 페어 프로그래밍이라는 것도 처음 겪어봤는데, 현업에서도 가끔 쓰이는 방식이라고 한다. 현업에서는 주로 2명이서 하나의 코드를 작성하곤 하는데 우리 팀에서는 4명이서 하나의 코드를 작성해봤다. 1명은 쓰고, 3명은 생각하면서 말로 조종하다보니 사공이 너무 많은 느낌이긴 했지만 우리 팀은 그 방식을 1코어 4스레드
라고 불렀다ㅋㅋㅋㅋ 나름 좋은 방향으로 가기도 했고, 팀원들이랑도 페어 프로그래밍을 하지 않은 팀보다 더 빨리 친해질 수 있어서 좋았었다.
페어 프로그래밍 외에도 VSCode의 extension을 활용해 마치 구글 드라이브에서 문서를 작성하는 것 처럼 전부 VSCode로 한 코드에 접속해 실시간으로 다같이 코딩을 할 수 있는 작업도 한번 해봤다. 이 작업도 각자의 생각을 직접 코드로 보여줄 수 있어서 좋은 방법이었는데 잘 못 하다간 복기가 제대로 되지 않아서 조금 위험한 방식이기도 했다. 그래서 이전 코드를 지울 때는 주석 처리후에 안전한 지 확인을 해가면서 작업했었다.
두 방식 모두 각자의 장점이 있었고, 재밌는 경험이었다. :D
부스트 캠프에서의 일들은 정말 나쁜 기억 없이 모두 재미있는 경험들이었다. 덕분에 어렵기만 했던 Git에 익숙해질 수도 있었고, 다시 시작할 엄두조차 못냈던 CS 지식들을 개발을 하면서 좀 더 친숙하게 다가갈 수 있었다. 더 미리 공부했더라면 잘했을거란 생각때문에, 앞으로도 이에 대한 공부를 게을리하지 않을 수 있을 것 같다. 또 혼자서는 절대 이만큼의 node.js
를 공부해낼 수 없었을 것이라고 생각해서 같이 공부해준 팀원들, 이 기획을 시작해준 모든 분들께 감사하다 ;D
무료로 이렇게 좋은 경험을 할 수 있다는게 신기하고 대단한 것 같고, 정말 많은 사람들을 만날 수 있어서 진짜 좋았다. 아직 끝난지 하루밖에 되지 않아서 다음주에도 또 가야될 것 같은 기분이 들기도 하고 끝났다는게 완전히 실감나진 않는다ㅎㅎ..
이렇게 좋은 경험을 하게 해준 커넥트 재단, 그리고 코드스쿼드에게 감사드린다 ㅠㅠ.. 이제 곧 멤버쉽 참가자들이 발표가 날텐데, 좋은 결과가 있었으면 좋겠다! 그 때까지 열심히 챌린지를 복습해봐야지, 안되더라도 멤버쉽에 걸맞는 사람이 되고싶다 :)