베이직 입과 결정!
1차 문제 해결력 테스트를 본 후 그 다음 주 수요일 쯤 결과가 발표되었다. 공식 블로그에 나온 것처럼 1차 문제 해결력 테스트 결과에 따라 베이직 입과 대상자가 결정되는데 나는 2차 문제 해결력 테스트 대상자로 선정되었다.
하지만 부캠에서 2차 테스트 대상자 여부를 떠나 모든 사람의 입과를 권장하기도 했고, 베이직을 안하고 2차 문제 해결력 테스트 떨어지면 부스트캠프 과정 중 아무것도 해볼 수 없을거란 생각에 베이직 입과를 결정했다. 그리고 2차 문제 해결력 테스트부터는 분야별 응시 언어 제한이 생기는데 베이직을 진행하면서 내가 지원하는 web 분야의 언어인 javascript를 연습할 수 있을거라 생각했다.
베이직 시작~
베이직은 6월 24일부터 7월 5일까지 2주간 진행되었다. 규율상 자세한 내용은 언급할 수 없지만 공식 홈페이지와 블로그에 따르면 매일 다음과 같이 체계적으로 진행되었다.
☝ 데일리 루틴
- 프로그래밍 미션이 주어짐
- 자기주도적으로 해결하며 미션을 해결한 과정을 글로 정리
- 가이드 영상과 동료들의 접근법을 참고해 자신의 접근 과정 돌아보기
- 하루를 회고하며 마무리
베이직을 통해 얻고 싶은 것
베이직 과정 동안 내가 얻고 싶었던 건 매일 회고하는 습관과 기록하는 습관이었다. 스스로 피드백으로 개선하는 힘이 부족하다고 생각해 미션을 매일 수행한 뒤에 부족한 점을 채워가고 싶었다. 그리고 글로 기록을 남기면서 공부한 내용을 완전히 이해하고 점검하는 과정을 루틴처럼 만들고 싶었다.
정말 기대되는군…
베이직 첫 날의 미션은 무엇이 나올지 정말 떨렸던 것 같다. 프로그래머스에서 푸는 코테 준비 문제 같을까? 아니면 과제 미션 같을까? 여러 상상을 했다. (MBTI N이라서) 그리고 무엇보다 매일 미션이 주어진다는데 얼마나 시간이 걸릴지도 궁금했다. 챌린지는 10시간 넘게 하는 사람이 많은 것 같은데 베이직은 그것보단 난이도가 낮으니 3~4시간 안에 끝나겠지? 라고 생각했다.
3~4시간? 어림도 없지
자기주도적 학습의 특징 때문인지, 나의 과함 때문인지 모르겠지만 첫 날부터 하나도 놓치지 않고 꼼꼼히 다 정리하겠다고 설치다가 7시간이나 걸렸다. 이후 대부분의 미션도 7시간 이상 소요되었고, 미션이 쉬운 날이나 급하게 해결할 때만 3~4시간이 걸린 것 같다. 한두 번 정도 빼고는 모두 엄청 오래 걸렸다. 그래서 일정 때문에 늦게 시작한 날은 마무리하지 못하고 다음 날로 미뤄질 때도 많았다. 처음 입과했을 때는 미션을 당일에 꼭 제출하겠다고 스스로 약속했는데, 그 약속을 다 지키지 못한 게 아쉽다.
베이직 입과 전과 후…나 좀 성장했나?
처음에는 미션을 보고 어떻게 해결해야 하는지, 어떤 방식으로 학습을 기록해야 하는지 감도 오지 않을 정도로 헤맸지만 미션을 수행하면서 여러방면으로 점차 성장했던 것 같다.
선 설계 후 개발
예전에 한 스터디에서 개발 프로젝트를 진행할 때, 다른 사람이 프로젝트에서 구현할 기능을 메모장에 정리한 뒤 개발을 시작하는 모습을 본 적이 있다. 그 모습이 멋있어서 나도 해보려고 했지만, 잘 되지 않았다. 정신을 차려보면 무작정 개발하고 있었다.
하지만 이번 베이직에서는 미션을 진행할 때 문제를 보고 먼저 요구 사항을 분석하려고 노력했다. 요구 사항을 분석하는 데 시간을 많이 투자하여 문제를 충분히 이해하고 구현하니 코드 작성 속도도 빨라졌고, 수정하는 데 걸리는 시간도 훨씬 줄어들었다.
그렇다고 처음에 설계했던 내용이 한 번에 다 맞았던 적은 없다. ㅎㅎ 구현을 진행하면 설계의 구멍을 발견할 수 있었고, 미션을 거듭 수행할수록 설계를 수정하는 회수가 점차 줄어들었다.
다른 사람의 코드를 빠르게 파악하기
처음에 미션을 수행할 때는 코드를 읽어 버릇하는 습관이 덜 들어서 다른 사람의 코드를 읽는 게 어려웠다. 다음은 베이직 초반에 작성했던 회고 중 일부 내용이다.
다른 사람의 코드를 읽는 게 어렵다. 코드를 읽어 버릇하는 습관이 덜 들어서 그런 것 같다. 그래서 처음 미션을 할 때도 시간이 생각보다 오래 걸렸다.
하지만 미션을 거듭하며 베이직 기간 동안 주어진 코드를 빠르게 이해할 줄 아는 능력이 생겼고 짧은 시간 안에 더 많은 사람의 코드를 참고하여 스스로의 코드를 발전시킬 수 있게 되었다.
또한, 현업에서는 다른 사람의 코드를 읽는 경우가 많기 때문에 개발을 할 때는 자신의 코드만 잘 이해하는 게 중요한 것이 아니라 다른 사람의 코드도 빠르게 구조를 파악하고 이해하는 능력이 중요하다는 사실을 이번 캠프를 통해 깨달았다.
다 글로 남겨버리는 거야
베이직 초반에는 체계적으로 정리하는 방법을 몰라서 글 쓰는 데 오래 걸리고, 가독성이 떨어지게 작성했다. 베이직 초반의 내가 작성했던 회고다.
생각했던 내용을 있는 그대로 작성하고 싶다. 머릿속으로는 생각했는데 막상 글로 쓰려니 잘 안 써지거나 생각이 안 나서 내 의도를 명확히 작성하지 못할 때 슬프다.
처음에는 글 쓰는 것조차 힘들었지만 베이직을 진행하면서 나만의 정리 방식을 체계적으로 세울 수 있었다. 사전에 학습해야 하는 지식, 요구 사항 분석, 구현 과정, 실수(실수가 일어난 코드, 문제 상황 및 원인, 해결법), 새롭게 알게 된 점 순으로 정리할 수 있게 되었다. 나중에는 글을 쓰는 데 익숙해져서 빠르게 작성할 수 있었다.
이제는 문제 해결에서 끝나지 않고, 모르는 개념을 찾아 꼼꼼히 정리하며, 실수나 모르는 내용을 글로 기록해 놓친 개념이나 생각한 과정을 작성함으로써 더 철저하게 학습을 진행한다. 또한, 매일 회고를 작성하며 스스로의 부족한 점을 기록해 이후에 보완하는데 큰 도움을 받았다.
내가 선택하는 시행착오와 배움
베이직을 통해 내가 배우고 싶은 분야를 스스로 선택하고 주도적으로 학습하는 힘을 길렀다. 미션을 수행하면서 주어진 요구 사항 내에서 내가 시도해보고 싶은 내용을 자유롭게 시도했는데, 이 과정 속에서 다양한 접근 방법을 실험해보고 시행착오를 통해 많은 새로움 배움을 얻을 수 있었다. 내가 공부해보고 싶어서 진행하는 과정이라 더 재미있고, 깊숙이 파고들며 공부할 수 있었다.
2주 전의 내 모습과 현재를 비교해보면, 처음에는 문제를 어떻게 접근해야 할지 막막했지만, 이제는 다양한 방법으로 문제를 분석하고 해결책을 찾아내는 문제 해결력이 많이 향상되었다. 베이직 하길 너무 잘했다는 생각이 든다.
2차 문제 해결력 테스트로 다시 한 번 느낀 성장
베이직 과정을 진행하면서 2차 문제 해결력 테스트도 열심히 준비해보려고 했는데 생각보다 둘을 같이 하기에는 시간이 부족했다. 그래서 베이직 과정 외에는 프로그래머스에서 lv.1 수준의 문제 40개를 풀어본 게 테스트 준비의 전부였다. 이번 2차 문제 해결력 테스트는 작년 1차와 난이도가 비슷할 것이라 생각했고, 준비를 충분히 하지 못했다고 생각해 불안한 마음을 가지고 2차 문제 해결력 테스트에 응시했다. 시험과 응시 결과를 요약하면 다음과 같다.
📌 2차 문제 해결력 테스트
- 시간: 2시간 반(오후 2시 ~ 4시 반)
- 문제: 13문제(CS 8개 + 코딩 문제 3개 + 서술형 2개)
- 특이사항: 인터넷 O, 감독 O(모바일 폰 + 화면 공유(웹캠 X))
📌 응시 결과 요약
- 응시 언어: javascript(각 분야별로 제한됨)
- 시간: 2시간 반 모두 소요시간 분배: CS(20분) + 1번 문제(10분) + 2번 문제(1시간) + 서술형 1번(10분) + 3번 문제(40분) + 서술형 2번(10분)
- 푼 문제: 객관식은 3문제 맞췄을 듯 + 3솔 + 서술형 모두 작성 완료
다행히 코딩 문제는 모든 테스트 케이스를 통과했다. 베이직 과정을 하면서 공부한 내용이 도움이 되기도 했고 무엇보다 설계하는 습관이 정말 큰 도움이 되었다.
코딩 문제 3문제의 난이도는 쉬운 순으로 1번 → 3번 → 2번 순이었는데, 2번과 3번 문제를 풀 때는 베이직에서 요구사항을 분석했던 것처럼 a4 용지에 작성할 코드의 로직과 사용할 데이터 구조와 변수를 미리 정리한 뒤에 구현을 진행했다. 그랬더니 구현할 때 막힘 없이 코드를 작성할 수 있었고, 코드를 모두 작성한 이후에 2번 문제에서는 1번, 3번 문제에서는 2번 수정 후 모든 테스트 케이스를 통과할 수 있었다. 1차 문제 해결력 테스트를 풀 때는 바로 코드 작성부터 시작했다가 중간에 헤매서 시간이 오래 걸리고 수정도 많이 해서 시간 안에 못 풀 뻔 했는데... 많이 발전한 것 같았다.
여담으로 시험을 칠 때는 코드 복사가 안되는데 가독성 때문에 변수 이름을 15글자 이상으로 길게 지었다가 변수명 작성할 때마다 힘들었다… 변수명은 가독성을 고려해 잘 짓되, 너무 길게 하지 말자.
챌린지 합격과 앞으로의 다짐
베이직 미션을 꾸준히 수행하지 못해서 탈락하진 않을까 걱정했지만 다행히 챌린지에 입과할 기회를 얻게 되었다.
짧은 기간이었지만 베이직 덕분에 두려움 없이 새로운 문제에 도전하고, 이를 해결해 나가는 과정에서 더 큰 성장을 이룰 수 있을 것이라는 확신을 가질 수 있었다. 베이직에서 얻은 좋은 습관 중 앞으로 계속해서 실천하고 유지해 나가고 싶은 습관을 정리해 보았다.
- 코드를 무작정 작성하기 전에 해결 방법을 우선 고민하기
- 모르는 내용을 그냥 지나치지 않기
- 공부한 내용은 스스로 설명해보기
- 주기적으로 회고하며 피드백한 내용을 지키려고 노력하기
위 내용을 지켜나가며 앞으로는 지식을 넓히는 것뿐만 아니라, 문제를 해결하는 과정에서 배움에 중점에 두어 능동적이고 효율적인 성장을 이뤄나가는 개발자가 되고 싶다. 앞으로의 여정도 파이팅!
'회고 > 부스트캠프' 카테고리의 다른 글
[부스트캠프 9기] 멤버십 웹 풀스택 4주 과정 회고록 (1) | 2024.09.15 |
---|---|
[부스트캠프 9기 챌린지] 3주차 회고 - 🤒 (0) | 2024.08.04 |
[부스트캠프 9기 챌린지] 2주차 회고 - 😴 (0) | 2024.07.28 |
[부스트캠프 9기 챌린지] 1주차 회고 - 😇 (1) | 2024.07.21 |
[네이버 부스트캠프 9기] 지원부터 1차 문제 해결력 테스트 합격까지의 후기 (2) | 2024.07.11 |