♾️ 지속가능한 개발자가 되기 위한 네이버 부스트캠프
지속가능한 개발자로 성장하고 싶은 사람들을 위한 네이버 부스트캠프는 이번 9기부터 과정을 조금 달리하여 기존에 없었던 베이직 과정을 신설했다. 베이직(2주) - 챌린지(4주) - 멤버십(14주) 이렇게 구성되어 좀 더 단계별로 차근차근 성장을 할 수 있도록 세분화한 것 같았다.
베이직 과정은 컴퓨터를 활용한 문제 해결 방법을 고민하고 프로그램으로 구현하는 연습 과정이다. 컴퓨터처럼 사고하는 방식에 대해 이해하고 연습해보는 미션들이 제공된다. 또한 이를 프로그래밍 언어(지원 분야에 따라 JavaScript / Swift / Kotlin)로 구현하는 과정을 매일 작성해보게 된다. 미션과 학습 톺아보기, 셀프 체크 리스트와 데일리 회고 등의 활동이 커리큘럼으로 구성되어 있다.
지원하기 전에는 부스트캠프에서 진행한 온라인 설명회도 참가하고, 네이버 블로그에 잘 정리되어 있는 내역을 참고해서 지원하게 되었다. 무엇보다 문제를 해결하는 '과정'에 집중하겠다는 커리큘럼의 특징이 매력적으로 다가왔던 것 같다. 온라인 설명회에서는 기존 수료생분들이 나와서 경험을 쉐어해주는 시간도 있어서 흥미로웠다.
교육과정 안내가 자세히 되어 있는 블로그, 기존 수료생들의 인터뷰 자료도 도움이 된다.
boostcamp : 네이버 블로그
지속 가능한 개발자를 위한 커뮤니티, 부스트캠프 공식 홈페이지: http://boostcamp.connect.or.kr/
blog.naver.com
🤓 부스트캠프 베이직 과정 이전
나는 비전공자이고 남들보다 조금 늦게 이 분야로 전향하게 된 케이스라 항상 마음 속에 급함이 담겨있다. 그러다보니 최대한 효율적으로 결과를 도출하는데에만 집중되어 있었다. 6개월의 부트캠프 교육과정 수료 이후 현재까지 취업준비를 하면서 코딩테스트, 기술면접 준비는 답을 도출하는 로직을 잘 짜는 것에 중점이 있었던 것 같다.
🧐 베이직 과정에선 무엇을 하는가
베이직 과정은 '기본기'의 첫 스타트로 컴퓨터처럼 사고하는 로직을 이해하고 프로그래밍 언어로 구현하기 위한 과정을 그려가는 태도를 배우는 데에 핵심이 있었던 것 같다. 월요일부터 목요일까지는 매일 주어지는 데일리 미션을 풀어 내고, 금요일은 그룹 활동을 통해 함께 미션을 풀어 제출하는 활동이 중심이 되었다. 그런데 이 미션들이 정말 참신(?)했다. 단순히 요구사항이 담긴 문제와 입력값이 주어진 것을 핸들링하는 익숙한 코딩 테스트와는 좀 다른, 과정을 담아야 하는 미션들이 대부분이었다.
데일리 미션을 해결하는 로직이 담긴 JavaScript 코드를 구현하는 것보다 중요한 것이 내가 이 미션을 풀어낸 과정을 정리한 마크다운 파일이었다. 주어진 문제를 내 언어로 다시 정리하는 것, 문제에 주어지는 데이터를 정의한다면 어떻게 정의할지 고민해서 나의 로직대로 정리하는 것, 이러한 데이터 설계와 플로우를 남에게도 설명할 수 있게 정리하는 것, 설계한 데이터와 플로우를 바탕으로 문제를 해결하는 로직을 단계별로 정리해보는 것 등등 처음 접해보는 학습 방식이었다.
처음에는 글로 정리하는 것 자체가 너무 어려웠다. 그래서 초반에는 거의 문제 해결 로직을 단계별로 나누어 정리하는 수준으로 냈었던 것 같다. 그런데 정말 좋았던 점은 새로운 방식의 미션도 미션이지만, 다른 수료생들의 제출 내역을 내 것을 제출한 이후에 볼 수 있는 점, 그리고 기존 앞 기수 수료생들의 문제 해결법을 문서와 영상으로 접하며 다른 사람들의 문제 해결력과 사고방식을 알아볼 수 있었던 점이다. 정말 시야가 확장되고 많이 배울 수 있었던 지점이다. 또한 데일리로 셀프 체크 리스트, 회고글도 작성하는데 이를 통해 내 스스로 점검을 해가며 하루하루 조금씩 배우고 성장할 수 있었던 것 같다.
😎 짜릿한 그룹 미션
그룹 미션은 개인적으로 매우 힘들고 좋았던 경험이었는데, 금요일 당일에 랜덤으로 짜여진 그룹원들과 함께 미션을 해결하는 것이다. 일단 처음 만난 사람들과 주어진 시간 내에 문제를 이해하고 각자 이해한 것이 또 다양하므로 서로 생각의 싱크를 맞추는 과정이 꽤 시간이 걸리고 어렵다. 첫 미션 때에도 각자 이해하고 만나서 이해한 바를 논의했으나 단번에 이해가 안되어 몇 번이나 반복해서 문제에 대한 이해를 할 수 있었다. 그러한 과정을 거친 후엔 이해한 문제를 해결하기 위해 해결 방안에 대한 논의가 필요하고, 각자 역할을 나누어 해결 방안을 구현하고 과정을 기록한다. 이 부분도 진짜 어렵고 재밌었다. 처음에 이해를 모두 함께 했다고 하지만 문제를 해결하는 과정에서도 또 다시 생각들이 달라서 정리하기 어려워진다. 이러한 과정을 풀어나가며 함축적으로 그룹 활동을 전개할 수 있어서 의미있고 재밌었다.
🍀 베이직 그 이후, 나에게 남은 것
이 모든 2주의 과정 동안 가장 크게 도움이 되었던 점은 문제 해결의 과정에 집중하는 태도를 배웠다는 점이다. 특히 다른 사람들의 학습 내역, 문제 해결하는 방안들을 보고 협업해보면서 시야를 확장하고 나의 학습 방식, 문제 해결 태도를 조금씩 발전시킬 수 있었다. "다른 사람들은 이런 접근방식으로 사고하고 이 문제를 해결해나가는구나." 이런 생각을 많이 하게 되고 내 스스로를 되돌아보며 성장할 수 있었다. 그리고 이전에는 문제를 해결하는데에만 급급했다면, 이제는 문제를 해결하려면 어떤 것부터 고려하고 접근해야 될지부터 시작한다는 지점이 달라진 점이다. 문제의 요구사항을 단계별로 나누고, 절차에 따라 필요한 고민과 설계를 선행한 후에 문제 해결을 해나가는 태도를 배우게 되었다.
물론 아직 많이 부족하고, 새롭게 터득한 접근 태도는 내 습관으로 만들려면 시간이 더 필요하다. 그리고 사실 이 과정을 진행하는 동안 개인적으로 일을 병행해야 되는 점이 있어서 좀 아쉬움도 많이 있다. 하지만 이 과정을 통해 시야를 확장할 수 있어서 너무 뿌듯했고, 새롭게 배운 접근 방식은 의식적으로 태도를 유지할 수 있도록 할 것이다. 문제의 답을 도출하는 것이 아니라 문제 해결의 과정을 만드는 태도를 갖게하는 네이버 부스트캠프의 교육 방식은 다른 부트캠프나 교육과정에서도 있으면 좋겠다.
'Today I Learned' 카테고리의 다른 글
WebSocket과 WebRTC (0) | 2024.06.03 |
---|---|
[프로젝트 돌아보기 프로젝트] 세 번째, 왜 Next.js 앱 라우터인가? (0) | 2024.05.13 |
[프로젝트 돌아보기 프로젝트] 두 번째, Vanilla-extract를 사용한 이유? (0) | 2024.04.17 |
[프로젝트 돌아보기 프로젝트] 첫 번째, Next.js 프로젝트에서 React-query가 필요할까? (0) | 2024.04.08 |
CS 개념 정리 (0) | 2024.04.05 |