[네이버 부스트캠프 AI Tech 4기] Level1 회고

Jewon Joel Park·2023년 2월 7일
0
post-thumbnail

지난 포스팅에서 언급한 것과 같이, 이번 회차에서는

  • Level1에서 어떤 것들을 배웠나
  • Level1에서 어떤 사람들을 만났나
  • Level1 때 멘탈이 가출했던 이야기

를 위주로 서술하려고 한다.


나는 공감할 수 없는 이야기이지만, 혹자의 말을 빌리자면 이렇다.

훈련소 입소 전 보충대 또는 대기대에서, 아무 것도 모른 채 멀뚱거리던 신병이 된 것 같은 느낌이었다

(겪어보진 않았지만 무슨 말인지 알 것 같다... ㅋㅋㅋ)


Special Sessions

Week 01

타운홀 미팅 (Orientation)

  • 월요일 1000시
  • 대략 1시간 동안 진행 (스케줄 상 2시간이라고 적혀있긴 함)
  • 부캠은 어떤 스케줄로 움직이고, 조직은 어떻게 되어있는가
  • 부캠에서 생활하는 동안 지켜야할 규칙과 규정은 무엇인가
  • 사용하게 되는 플랫폼들(Basecamp라고 부름)은 무엇인가 + 카테고리별 질문하는 법
  • 플랫폼 사용 방법
  • 각 플랫폼별 개인 식별자(ID 등) 작성법 등에 대한 기본적 Convention 설명

나이스투밋유

  • 월요일 1530시
  • 보통 피어세션(팀원들이 모여서 줌 켜놓고 1시간(50분 필수 참여)동안 회의|학습내용 공유 등을 진행하는 세션)이 1600시에 시작되는데, 그 전 30분 동안 미리 팀원들 만나서 자기소개하고... Ice Breaking 하는 시간
  • 이 때부터 미리 수요일 10시에 진행되는 공통세션 준비를 해야한다.

피어세션이 피어씁니다

  • 수요일 1000시
  • 월 ~ 화요일 간 팀원 소개자료를 준비해서 트랙(도메인) 인원들에게 팀을 소개하는 자리
  • 같은 팀 팀원끼리도 어색한데 그 팀원들을 트랙 사람들한테 소개해야 한다.
  • (나는 원체 낯을 안가리는 편이라 그냥 내가 발표를 담당했다. 물론 팀원들한테는 나도 낯 가린다고 약한 척 했음)
  • 하필 MBTI가 대유행하던 시점이라 소개할 때 거의 필수 요소처럼 여겨지기도 했다.

Week 04

부캠 스몰톡 (팀원을 찾습니다)

  • 수요일 1800시
  • 무려 14주를 함께 보내야하는 Level 2~3팀원을 구하기 위해 내가 어떤 사람인지를 알리고, 다른 사람들을 알아보는 자리
  • ZEP이라는 메타버스 플랫폼을 통해 진행
  • '스페셜 피어세션'이나 다른 수단 (eg. 구팀 게시판 게시물 보고 Slack DM)을 제외하면 사실상 유일무이한 팀원 물색 환경이니, 적극적으로 어필해보도록 하자.

Week 06

타운홀 미팅 (프로젝트 실습 & AI Stages 안내)

  • 월요일 1000시
  • 처음 시작하게되는 팀 프로젝트를 진행하기 전 진행하는 오리엔테이션
  • AI Stages라는 플랫폼을 이용하는 방법을 자세하게 알려줌 (SSH로 원격 접속을 해야함)

Curriculum

W01) Python & AI Math

Pre-course에서 들었던 수업 내용이 사실상 그대로 나온다.

만약에 Pre-course를 열심히 안들었으면 굉장히 낯선 환경에서 생소한 정보들을 내 것으로 만들어야하는 상황이되므로, 이전 포스팅에도 말한 것 처럼 Pre-course를 열심히 들어놓자.
(참고로 필자는 1주차 학습내용 정리하다가 블로그를 접었던 이력이 있다)

W02) PyTorch

Python으로 ML/DL을 진행할 때 사용되는 2대 Major 프레임워크 중, 부스트캠프에서는 PyTorch를 사용하게 된다. (나머지 하나는 TensorFlow)

이 때 조금 심화적인 내용으로 PyTorch라는 라이브러리가 어떻게 구성되고 동작하는지에 대해 자세히 알고 싶다면 딥러닝 파이토치 교과서를 한번 보는 걸 추천한다.
(이 책이 나한테는 도움이 됐는데, 다른 사람들은 다른 책을 추천하는 경우가 많았다.)

실제 사용하는 기본적인 방법을 보려면 '이수안컴퓨터연구소'의 파이토치 한번에 끝내기 YouTube영상도 나쁘지 않은 것 같다.

W03) DL Basic & Data Visulization

2주차 내용도 소화하기 힘들어 죽겠는데
이번엔 Deep Learning, Optimization, CNN, RNN, Generative Model 등 대뇌 전두엽이 소금에 절여지는 것 같은 느낌을 주는 강의들이 쏟아진다.

물론 이전 내용들을 충분히 소화했다면 이번 강의들도 크게 부담스럽지는 않을 것이다.

문제는 저 내용 말고도 Data Visulization,
matplotlib을 활용하는 기술에 대해서 강의가 진행되는데(다음 주까지 들을 수 있다)
이 쯤 되면 해리포터 시리즈의 Hermione가 들고 다니는 '타임 터너'가 갖고 싶어진다.

W04) Data Visulization & 도메인 기초이론 + Github 특강

부캠을 시작하고 처음으로 알아들을 수 있는 내용이 나오는 Github 특강 시간이 찾아왔다.
사실 예전에는 그저 코드 공유 도구로써 활용하던게 전부였는데, 이고잉님의 특강 덕분에 제대로 Git을 활용할 수 있었다.
(프로그래밍 인생에서 제일 유익한 시간이 아니었나...)

그렇다고 당신이 한가해진다는 건 아니니 멘탈을 놓지는 말자.
다음 주에도 도메인 기초이론 강의는 이어지고, Github 특강도 2번이나 진행된다.

W05) 도메인 기초이론 + Github 특강

4주차에서 Data Visualization 강의 내용만 빠졌을 뿐, 동일하다(==지친다).

W06-07) 프로젝트 실습

  • 부캠에 발을 들인 당신의 첫 팀 프로젝트 기간
  • 각 도메인별 주제
    • CV : 마스크 착용 상태 분류 (Image Classification)
    • NLP : 문장 간 유사도 측정
    • RecSys : Book Rating Prediction
  • 마감 시점 : 7주차 목요일 1900시
  • 주의사항 : Level 1 팀으로 진행하는 유일한 프로젝트이니, 열심히 하도록 하자
  • Baseline 코드가 주어지는데, 요걸 어떻게 뜯어고치고 잘 활용하는지가 중요한 것 같다.

프로젝트를 마친 다음 주 월요일 1400시 까지 Wrap-up Report라고 말 그대로 마감 보고서를 써야하는데, 프로젝트를 진행하면서 겪었던 이슈와 모색한 해결방법 등을 미리 정리 해놓으면 보고서 작성에 큰 도움이 된다.


Level 1에서 만난 인연들

'명심해라, 부캠 평균 연령은 20대 중반이다'

부스트캠프야말로 평균의 오류를 가장 쉽게 체감할 수 있는 곳이다.
아무래도 선발과정을 거치고 살아남은 사람들이다보니, 표준정규분포 곡선에 수렴하지 않는다. 특히 나이가 그렇다.

과학고 또는 외국 고등학교를 조기졸업(...)하고 바로 부캠에 들어온 19세 슈퍼 루키부터, 어지간한 회사 임원급 나이의 아조씨까지 만나볼 수 있다.

하지만 내가 Level 1에서 팀원으로 만난 사람들은 놀랍게도 정규분포 가운데에 위치하고 있던 사람들이었고 특별히 모난 곳 없이 다들 열심히하는 성격이라, 30대 중반인 큰 형을 거부감 없이 받아주었다 (감동).

팀원 소개

특별한 의미를 담아서 소개를 하고자 하는 건 아니고, 나중에 크게 될 인물들인 것 같아서 지금 미리 이렇게 블로그 포스팅으로 못을 박아놔야 '우리가 남이가'를 써먹을 수 있을 것 같아서..는 농담

순서에 오해가 없도록 장유유서 + 혈연/지연/학연 순으로 .sort()

1) 신림동 절대음감

  • 산업공학 15학번
  • SSAFY(삼성 청년 SW 아카데미) 1학기 마치고 부캠 합류
  • 침착한 성격이라 내가 뇌절할 때마다 억제기 역할 수행해 줌
  • 피아노가 취미인데, 피어세션 때 죽전 수료증 수집가가 튕기는 기타줄 음계를 정확히 맞춤.. 화음도 아닌데 여러 음을 동시에 찾아내는 능력 보유 (연구 대상)

2) 상남 PC방 메이트

  • 컴퓨터공학 16학번
  • 나 졸업하고 3년 뒤에 입학한 대학동문.. 아무튼 동문임
  • 집이 창원이라 (상남동이랑은 상관 없음. 그냥 창원하면 상남동 떠올라서 상남임), 회식 마치고 둘이 기차 시간 기다린다고 같이 PC방 밤샘함
  • 조용하고 빠르게 코드 빌드한 뒤 별거 아닌 것처럼 담담하게 리뷰하는 코딩 에이스

3) 죽전 수료증 수집가

  • 전자정보공학 16학번
    • 맨날 반쪽짜리 혹은 비전공이라면서 문과생 당황하게 만듦
  • 매번 신기술 혹은 신문물을 들고와서 홍보하는 알림방 + 분위기 메이커
    • 나를 Notion에 본격적으로 입문시킨 당사자인데, 막상 내 노션 이력서 보고 놀란 건 비밀
  • 각종 대회에 참석하거나 강의를 수강하고 얻게 되는 Certi 수집에 희열을 느낌
  • 대학원에 합격해서, 부캠 끝나자마자 2년 간의 노예 생활을 앞두고 있음
  • 취미로 동영상 편집해서 유튜브 채널에 업로드

4) 분당 녹취록 마스터

  • 기계공학 18학번 (팀 막내)
    • 나이만 보면 내가 00학번 보던 느낌일텐데😥, 첫 피어세션 때 '호형호제' 메타를 정립해서 화기애애한 팀 분위기 조성에 큰 역할 수행
  • 팀 피어세션 때 첫 '스페셜 피어세션' 중 다른 팀 캠퍼들과 나눴던 대화들을 공유했는데, 그냥 녹취록 수준이어서 감탄을 금치 못하게 만듬 (본격적으로 비대면 수업을 들었던 세대라 그런가..)
  • 매번 '나는 아무고토 몰라요'하는 눈빛으로 똘망똘망 바라보는데, 팀에서 모델에 대한 수리 통계적 해석과 미래에 대한 걱정을 담당했던 브레인

형도 너네처럼 BMI지수가 20±2였던 시절이 불과 3년 전이다.. 관리 잘 하자 ㅠㅠ


Level 1 때 했으면 좋았을 것들

1) 멘탈 관리를 잘하자

'나는 강의도 제대로 이해 못하고(특히 통계학 & 모델링) 진도 따라가기도 버거운데, 남들은 다들 잘 소화하고 열정에 불타는 것 같다'는 기분을 매일같이 느꼈다.

점점 시간이 지날 수록 내가 이 집단에 속하는 게 정말 맞는가에 대한 의구심이 들면서 자존감이 낮아지고 우울해지기 시작했다.
이 우울감 때문에 내가 평소에 잘 하던 코딩에도 자신감이 떨어지고, 예전으로 돌아가는 것조차 어려울 것이라는 패배감에 젖어드는 악순환을 겪게되었다.

아주 나~중에 (Level2였나?) 진행된 '부캠라디오'에서 익명으로 사연을 보내고, 사람들이랑 비슷한 감정을 공유하면서 극복하게 되는데, 나 혼자만 뒤떨어져있다라는 생각을 갖지 않는 것이 중요한 것 같다.

뒤늦게 알게된 사실이지만, 이런 현상을 Imposter Syndrome (가면 증후군)이라고 부른다고 한다.

개발자 직군에서 무려 70%정도가 겪게 되는 현상이라고 하니 너무 염려할 부분은 아니지만, 내 개인의 발전을 저해하는 요소이다보니 부담감을 내려놓고 차근차근 스스로의 페이스를 찾는 것이 중요하다고 하겠다.

2) Level 2~3 Team 탐색을 적극적으로 하자

Level 1 팀은 운영진에서 지정을 해주는 것이었다면, Level 2~3에선 캠퍼들끼리 알아서 팀을 꾸려야하다보니 Level 1 프로젝트가 진행되는 중에 '팀을 찾습니다'라는 구팀 게시판이 생기고, 자신을 홍보할 수 있는 자리가 만들어진다.

이 과정이 정말 피곤하다.

프로젝트도 겨우 정신줄 붙잡으면서 하고 있는데, 자기PR 글을 써야하는 것도 어렵게 느껴지지만 사람들을 만나가며 같이 할 의사가 있는지 확인하는 것에 비하면 정말 쉬운 편에 속한다.

더군다나 비대면 환경에서 Level 1 팀원을 제외한다면 다른 사람들을 만나본 게 아니기 때문에, 게시글 하나만으로 남은 부스트캠프 기간 동안 함께할 수 있는 사람인지를 온전히 파악한다는 건 사실상 불가능에 가깝다.

이 당시 내가 했었던 생각들을 한 번 정리해보자

  • 사람들은 크게 두 부류로 나누어진다. ["취업 희망", "대학원 진학 희망"]
    • 'HRD 직업훈련인 KDT전형이 200명이고 일반전형이 4~50명인데, 뭐 이렇게 대학원에 지원하려는 사람이 많은 거지?'

  • 오프라인 강의였으면 좋았을 것 같다.
    • '아무리 사람이 많다고 한들 오고가며 그 사람의 행동(언어적 & 비언어적 태도 포함)을 살펴볼 수 있었을 텐데..'

  • 팀을 구할 때, 대체 왜 프로젝트 주제로 결정하려는 건지 이해가 안된다.
    • 예전 Java & Python 직업훈련에서 팀프로젝트를 진행하며 깨달은 게 있다.
      좋은 Teammate의 요건 중 가장 중요한 건 뛰어난 코딩 실력이나 번뜩이는 아이디어가 아니라, 협업 능력(성실함, 책임감, 그리고 Communication Skill)이다.
    • 그러나 우리가 다른 사람들의 협업 능력을 확인할 수 있는 시간은 오직 '스페셜 피어세션'과 '부캠 스몰톡'이 전부였고 그마저도 제한적인 수준이었던걸 감안하면, 판단할 수 있는 요소들이 부족한 환경이다.
    • 심지어 다들 이렇다할 아이디어가 있었던게 아니라서, 나는 '내가 해왔던 커리어가 @@@쪽이니 내가 생각한 최종 프로젝트 주제는 xxx정도가 있다. 그리고 프로젝트 주제는 팀 구성이 끝난 뒤에 모여서 결정하고 싶다.'를 어필했다.
    • 하지만 내가 대화를 나눠본 절대 다수의 사람들은 내가 써놓은 프로젝트 주제만 보고 자신과 안맞다고 생각하고는 대부분 거절 의사를 밝혔다.
      (사실 이 때 정말 많이 짜증났는데, 그냥 내 업보려니 하면서 넘어갔다.)

가뜩이나 우울했던 상황에서 나는 이런 일련의 과정들을 거치며 지쳐버렸고,
그냥 팀원 찾기를 포기하며 어느 정도 컨택했던 캠퍼들에게
'나 대신 다른 팀원을 구하시라'고 말씀드린 뒤 휴식의 시간을 가졌다.

'아무리 남겨진 사람들이라그래도 부캠 서류+코테 통과했으면 기본적인 수준은 되겠지'라며 안일하게 생각하고 해버린 이 행동이, 후에 얼마나 큰 파장을 가져올지 이 당시에는 알지 못했다.


다음 편 (3부) 예고

  • Level 2에서 어떤 것들을 배웠나
  • 어떻게 슬럼프를 극복할 수 있었나
  • 새로운 팀원들을 처음 만났던 자리
profile
10년을 돌고 돌아 마침내 제자리를 찾은 문과 출신 Python 개발자의 인생기록장

1개의 댓글

comment-user-thumbnail
2023년 3월 8일

3부가 궁금합니다. 어떤 일이 벌어졌나요?

답글 달기