
2024년, 올 하반기를 함께한 부스트캠프가 지난 주 수료식을 마지막으로 끝났다.
마냥 후련하고 속 시원할 줄 알았는데 정이 많이 들었는지 슬픈 마음이 더 큰 것 같고.. 일주일간 공허했다. 아침에 일어나서 출석체크를 하고 데일리 스크럼을 해야할 것 같은데? 이제 늦잠을 자도 아무 상관이 없다는 게 마냥 기쁘지 않았다. 반년간 매일 붙어있던 연인과 헤어진다면 이런 느낌이지 않을까 싶다. ㅋㅋ
하지만 일주일이 지난 지금은 슬퍼하지 않고 잘 보내주고(?) 멋진 시작을 해보고 싶은 마음이 생겼다. 하지만 난 구질구질하니까 곱게 떠나보내줄 순 없어. 잔뜩 추억하고 보내줄 거다. 그래서 이 글을 쓰게 되었다.
네부캠에서 배운 것을 한 단어로 축약하자면 '나'라고 표현하고 싶다. 네부캠은 단순히 내 개발 실력을 향상시켜주는 곳이 아니었다. 나를 알아가는 공간이었다. 그래서 부제를 '부캠, 나!'라고 달았다. 그리고 이 글에서 '부캠, 나!'가 된 역사를 실~컷 이야기해보려고 한다. 조금 긴 글이 될 것 같다.

부스트캠프 9기 지원

기억나니..? 우리의 첫만남..
나는 저때 한창 너무 정신없이 바빴다. 알바, 네부캠 지원하고 문제 해결력 테스트 보고, 현대 소프티어 2차 시험 준비..등등
소프티어 최종은 떨어졌다. 유감임. 오! 시험을 좀 못 봤나보네..하고 반나절정도 슬퍼하고 말았다. 대학 수시를 18번 떨어져봐서 그런지 뭐 어디에 떨어진다고 내 인생이 망한 건 아니니까~하고 조금 초연해질 수 있었던 것 같다.
그래도 네부캠 1차는 합격했다. 나는 운 좋게 2차 직행자였지만 베이직부터 쭉 함께했다. 1, 2차 합격 후기와 베이직 회고는 요기에!!!
2024.07.10 - [🌱 네이버 부스트캠프] - 네이버 부스트캠프 웹/모바일 9기 1차 + 2차 합격 후기
2024.07.11 - [🌱 네이버 부스트캠프] - 네이버 부스트캠프 웹모바일 9기 베이직 회고
또 정말정말 감사하게도 챌린지에 합격하게 되어서 수명이 연장 됐다.
챌린지 기간 | '왜'에 대하여
이땐 정말 하루하루가 챌린징했다. CS 전반에 대해 많은 것들을 몸소 겪어보며 알아갔다. 러닝바이두잉!
하루만에 과제를 내야하는데 내 실력으론 절대 하루 안에 못 끝낼 분량이라 부담감이 컸다.
사실 선택과 집중을 적절히 해서 내가 얻어가고 싶은 부분만 얻어갈 수도 있겠으나 그러기가 쉽지 않았다. 가장 큰 부담은 '내가 이걸 해내지 못 하면 떨어질까봐'에서 오기 때문이다.
1차 문제해결력 테스트를 볼 때까지만 해도 떨어지면 어떡하지? 하는 걱정이 잠깐 들더라도 떨어지면 그냥 다른 거 할 거 알아보면 되지 하며 마음이 편했는데, 이미 베이직과 챌린지 과정을 겪으면서 날이 갈수록 빠르게 성장하는 맛을 봐버렸고 함께 하고 싶은 좋은 동료도 많이 알게된 상태라 떨어지고 싶지 않았다. 날이 갈수록 간절해졌고 간절한만큼 여유를 잃었다.
그럴 때마다 내가 왜 이렇게까지 간절해야하는가? 단순히 부캠 멤버십에 붙고 무사히 수료하는 게 내 삶의 지향점인가?에 대한 생각을 많이 했다. 부캠은 내 인생 목표가 아니다. 나는 성장을 위해 부캠에 들어왔고, 부캠에서 배워가고 싶은 것은 협업과 탄탄한 기초였다. 잘 생각해보니 지금 당장도 동료들과 함께 코드를 짜보면서 협업을 맛보고, 매일매일 챌린징한 하루를 보내면서 기초를 쌓아가는 근력을 기르는 중인데? 될지 안될지도 모르는 것에 매달리며 현재를 고통스럽게 보내기엔 내 현재가 너무 아깝지 않은가? 그래서 그냥 근력 기르기에 충실하자고 다짐했다. 꼭 나를 세뇌하듯이 잠들기 전마다 '나는 지금 배우러 온 거야. 점수 따러 온 게 아니야.'를 곱씹었다.
그리고 내 주변의 인적 자원을 소중히하자고 다짐했다. 사실 혼자 고군분투 하는 건 부캠이 아니더라도 얼마든 할 수 있다. 부캠의 큰 장점은 동료학습이기에 주변에 실력 좋은 분들의 방식을 열심히 쌔벼보고 나에게 맞는 방식으로 조금씩 고쳐나가야겠다는 마음가짐으로 임했다. 그렇게 해야만 만약 떨어지더라도 좀 더 즐길걸 하는 후회가 없을 것 같았다. 그렇게 4주를 보내니 결과를 기다릴 때 떨어져도 괜찮겠다, 하지만 붙으면 더 좋겠다^^ 하는 생각이 들었다.
베이직과 챌린지를 합쳐 내가 배운 것은 '왜?'였다. 내가 왜 이걸 해야하지? 이걸 해서 내가 얻어갈 수 있는 게 뭐지? 내가 여기서 뭘 배워야 하는 거지? 나는 왜 이걸 틀렸지? 왜 에러가 났을까? 왜 이 경우에선 멀쩡한데 이 경우에선 안되지? 오만가지의 질문을 던져봤다. 하지만 아는 게 많지 않은 상태로 질문을 던지니 '정지호는 왜 정지호지?'같이 이미 정해져있는 것에 대한 쓸데없는 의문에 시간을 쏟은 적도 꽤 있었다. 당시에는 그 시간이 너무 허무하고 아까웠으나 여러 시행착오를 거치며 왜?를 해야할 때를 함께 알아갈 수 있었던 것 같다. 그래서 베이직과 챌린지만으로도 충분히 내게 의미있는 시간이었다.
정말정말 감사하게도 내게 또 기회가 주어졌다. 멤버십에 합격하게 되었다.
멤버십 전반부 | 내 개발 인생의 터닝 포인트
학습 남발하다가 슬럼프 만나기
고등학생 때 6.10 민주항쟁에 대해 발표해야됐던 때가 기억난다. 당시에 프레젠테이션을 좀 더 멋지게 해주는 각종 효과들을 막 배운 상태라 열심히 효과들을 때려넣었다. 나는 6.10 민주항쟁에 대해 자료조사하면서 많이 슬펐고, 감사했다. 하지만 PPT 상태가 너무 요란했다. 새로운 것에 너무 신난 나머지 정말 중요한 것을 잊어버린 것이다.
멤버십 초기의 내가 딱 그랬다. 왜?에 대한 질문을 하고, 깊이 학습하는 데에 지나치게 매몰된 나머지 결과물을 거의 내지 못 했다. 하루종일 고민하고도 코드 10줄만 수정하고 하루가 마무리 되는 날이 지속됐다. 이상하다 생각하면서도 많이 배워가고 있으니까 괜찮다며 스스로를 위안했다. 사실 괜찮지 않았나보다. 슬럼프가 강하게 찾아왔다. 뭘 해도 너무 재미가 없었다. 어떤 것을 해도 성취감이 없었다. 아래는 내가 당시에 슬랙에 남겼던 글이다.

정말로 그랬다. 나아지는 게 눈에 확확 들어오지 않으니 열심히 살고 싶지 않았다. 그래도 열심히 살아야 한다니까 뭐 최선을 다하긴 하겠으나 최선을 다하고 자기 전에 누우면 삶이 그저 막막했다. 그래서 다른 사람들은 어떻게 지내는지가 궁금했다.
저렇게 올리고 많은 연락을 받았다. 많은 분들의 위로와 조언을 들으며 또 '왜?'라는 질문을 던져봤다. 나는 원래 개발이 정말 재밌었는데 어쩌다 이렇게 재미가 없어졌을까? 딥다이브, 학습, 뭐 이런 거에 지나치게 집착했던 것 같다. 사실 나는 똥인지 된장인지 먹어봐야 아는 바본데 말이야. 백문이불여일견, 백견이불여일행인데 백문, 백견만 하고 있었다. 딥다이브에 집착하느라 정작 나를 잠시 잊고있던 것 같다. 그래서 다시금 마음을 먹었다.
내가 좋은 개발자가 되려면 어떻게 해야할까?에 대한 고민
일단 나에 대해 생각했다. 나는 효율을 중시하는 편이다. 삼수할 때 수능 공부할 때도 (사실 그러면 안됐을거같지만) 하루에 5시간만 공부했다. 대신 5시간 내에 최대 효율을 낼 수 있는 방법을 생각했다. 그저 앉아있는 시간이 길다고 해서 결과가 좋은 건 아니다 하는 마인드였다. 근데 네부캠에서 최대한 학습을 많이 해가야해, 많이 성장해야해 하는 생각으로 너무 지나치게 효율을 멀리했다.
왠지 네부캠에서 강조하는 딥다이브는 너! 책상 앞에 오래 앉아있어! 아주 사소한 것도 다 공부하고 고민해봐! 너가 짜는 모든 코드를 다 최적화할줄 알아야해! 이건 절대 아니었을 것 같다. 대신에 너가 상태 관리에 useState를 사용했어? 왜? 다른 방법은 없었어? useState가 어떻게 동작하는데? 어떨 때 리렌더링 되는데?하는 것들을 알고 사용하라는 거였겠지.
그렇다고 저 생각을 기능 구현의 모든 순간마다 다 할 순 없다. 나는 효율을 지금 내게 필요한 지식이 어디서부터 어디까지인지 판단하는 데에서 찾아보려고 했다. 그리고선 내게 지금 필요한 만큼만이라도 제대로 알고 넘어가자고 결심했다.
그리고 또 고민했다. 그냥 냅다 기능 구현 해보고 싶어. 그런데 잘 알지 못 하는 상태에서 공식문서 사용법만 보고 구현해놓으면 나중에 거기서 생기는 문제를 고치는 데에 시간이 더 들잖아. 어떻게 해야 좋은 개발자가 될 수 있는 걸까? 처음부터 좋은 코드를 짜려면 애초에 많이 실수하고 많이 굴러봐서 이렇게 하면 안 된다 하는 빅데이터가 생겨야 하지 않을까? 근데 나는 지금 절대적으로 경험이 부족해. 대형 프로젝트는 당연히 해본 적도 없고, 그럴 기회를 얻는 것도 쉽지 않아. 그렇다고 지금 내 수준에서 고작 0.01ms 성능 개선하자고 몇시간씩 갈아넣는 건 하기 싫어. 그럼 내가 어느정도로 해보면 좋을까?
해서 내가 생각해본 세 가지 방법이 있다.
1. 일단 해보고 개선점을 찾고 고치기: 여기에서 중요한 건 개선점을 찾고 고치는 데까지 너무 오래걸리면 안 된다. 이미 너무 멀리 온 상태에서 고치려하면 엄두가 안 난다. 피드백 루프가 짧아야 한다. 그리고 그 '고치는 과정'을 학습이라고 여기고 최선을 다하기. 내 경우에는 오늘 하루를 돌아보며 오늘 내 코드가 어떤 부분에서 얼마나 그지같았는가를 늘 메모해두고 고치려했다.
2. 기준점을 만들기: 일단 아무것도 감이 안 올 때는 베스트 프랙티스를 내 상황에서 어떻게 적용하면 좋을지 판단해보고 적절히 맞춰서 냅다 따라한다. 그러면서 왜 이게 베스트 프랙티스인지를 기존의 내 개발새발 코드와 비교해본다. 그러면서 감을 찾고 점점 개선해나간다.
3. 상여자식 학습법: 내가 왜 이걸 공부해야되지? 생각이 들면 걍 안한다. 지금 당장 나한테 필요한 학습이 아니니까 저런 나태한 생각이 드는거임. 지금 당장 내게 문제가 닥쳤고 그걸 해결해야되는 상황에서 학습을 할 땐 왜 같은 생각 안 든다. 급해죽겠는데 잡생각은 사치임. 그냥 겁나 공부하게됨. 그럼 학습이 재밌다.
한 몇년 지나서 보면 그거 아냐..! 하고 외치게 될 수도 있겠으나 지금 내 판단에서는 이 세 가지 방법이 적어도 내게는 유용한 것 같다. 그래서 열심히 따르고 있다.
그리고 사실 한창 고민될 때 챗지피티한테도 고민 상담을 했다.

고맙다.
네부캠에서는 운영진 분들이 계속해서 실수해도 괜찮다는 말씀을 해주신다.
정확하고 가장 빠른 길로 갈 수 있다면 정말 좋겠지만 경험이 별로 없는 상태에서 내게 최적의 길을 어떻게 찾아가나요? 원래 초행길은 헤매는 법이잖아요~ 내가 경험이 많이 없기에 헤맬 수 있다는 걸 머리로는 정말 잘 알고있지만 가끔 내게 가혹해질 때가 있다. 다른 사람들의 실수는 그럴 수 있다고 한없이 너그러워질 수 있지만 내 실수에는 왜 이렇게 실망스러운 마음이 들까.
그럴 때마다 실수해도 괜찮다는 말씀에 많이 위안이 되었다. 맞아. 실수해도 괜찮다. 사실 남들은 나한테 그렇게 큰 관심이 없다. 내가 초대박 대형 사고를 친다면 모르겠지만 작은 실수에 너무 벌벌 떨 필요는 없을 것 같다. 대신에 실수를 반복하면 그건 습관이 되어버리니, 그러지 않기 위해 내가 왜 실수를 했는지, 실수를 다시 하지 않으려면 어떻게 해야하는지에 대해 생각해보고 같은 실수를 반복하지 않으려 노력한다면 괜찮을 것 같다. 왠지 네부캠 거치며 조금 뻔뻔해진 것 같기도. ㅎㅎ;
멤버십 후반부 | 대망의 팀 프로젝트
기술적 도전? 학습?
6주 간의 팀프로젝트가 있었다. 정말 다사다난했지만 많이 배워갔다. 프로젝트 깃헙은 요기!
https://github.com/boostcampwm-2024/web14-betting-duck
GitHub - boostcampwm-2024/web14-betting-duck: 베팅으로 즐거움을 더하고, 채팅으로 소통하며, 오리를 구매
베팅으로 즐거움을 더하고, 채팅으로 소통하며, 오리를 구매해 나만의 마이페이지를 꾸며보세요!🐤 - boostcampwm-2024/web14-betting-duck
github.com
일단 기술적으로는.. 프론트에서 socket 해제를 잘 하지 못 해서 서버를 터뜨려버렸다. 이때 와 진짜 클났다 하는 생각으로 컴포넌트 생명 주기와 socket 연결 수립/해제를 어떻게 해야하는지 팀원분과 많은 이야기를 나눴고, 해결했다. 다행히 우리 백엔드분들은 상당히 친절하셔서.. 백엔드에서도 이런 경우를 어떻게 해결하면 좋을지에 대해 고민해주셨다..ㅎㅎ
그 외에도 상태관리에 대한 고민도 많이 했다. 객체로 상태를 관리하면 어떤 점이 안 좋은지 백엔드에 초당 1000건이 넘는 요청을 보내버리면서 체득했다. 백엔드 분들께 압도적 죄송과 압도적 감사. 이것저것 많이 배웠다.
어떠한 도전을 했는가? 하면 솔직히 그건 잘 모르겠다. socket 자체가 너무 잘 되어있어서 내 스스로 도전이라고 할 만큼의 굉장한 노력이 있진 않았다..ㅎㅎ 나에겐 도전이라기보다는 학습의 시간이었던 것 같다.
대신 사용자 피드백을 반영해보려고 조금씩 노력했다.

아주 사소하게는 채팅 UI에 대해 조언을 듣고 개선하고, 타이머에 '분' 표시가 안 되는 것이 불편하다는 피드백에 그걸 개선하고, 타이머를 1분씩만 올리기 불편하다는 말에 타이머를 좍좍 올릴 수 있도록 개선하고.
이런 것들은 어떤 기술적인 고민보다 훨씬 시간과 노력이 적게 들지만 그럼에도 사용자에게는 보다 좋은 경험을 안겨줄 수 있다. 사실 사용자는 내가 소수점 단위의, 그것도 ms 단위의 성능 개선을 위해 몇시간을 들였는지는 관심도 없을 거고, 지금 당장 UI/UX가 편한지가 가장 중요할 것 같다.
그래서 왠지 사용자와 프론트엔드 개발자와의 관계가 손님과 직원의 관계가 아닐까 하는 생각도 든다. 내가 얼마나 무슨 노력을 하든 그건 별로 중요하지 않고 소비자에게 근사한 경험만 해주면 일을 잘 하는 거지~~ 소비자는 나의 성장 역사에는 관심이 없어!
사용자에게 더 좋은 경험을 더 빠르게 안겨주면서 같이 일하는 사람들에게도 좋은 경험을 줄 수 있도록 클린 코드까지 구사하려면 평소에 굉장히 많은 노력이 필요할 것 같다. 이미 네부캠에서 좋은 코드를 짜기 위해 많은 것을 배웠으니 이젠 내가 열심히 실천할 일만 남았다.
팀프로젝트 - 협업편
나는 지금껏 팀프로젝트에서 엄청나게 좋은 인상을 받은 적이 몇 번 없었다. 예전에 한 번은 교수님께서 불참자가 한명이라도 있으면 감점하겠다고 폭탄 선언을 하셨는데, 매번 불참하던 팀원이 그날까지도 연락 두절이었던 적이 있다. 그때 너무 열 받아서 그냥 집에 찾아가서 끌고왔다. 지금 생각해보면 당시 잠깐 미쳤던 게 아닐까 싶다.
솔직하게 "일을 열심히 하지 않는 사람이 있으면 어떻게 할 거냐"는 질문을 받으면 할 말을 잃는다. 이 나이 먹고도 참여 안 하는 사람은 그냥 그런 사람인 거지 제가 무슨 말을 한다고 바뀌겠나요..?
하지만 네부캠 프로젝트를 하면서 팀플에 대해 다시 생각하게 됐다.
사실 이번 프로젝트 우리 팀 금쪽이는 내가 아니었을까. 주말에는 쉬어야 하는 나. 너무 오래 앉아있고 싶진 않아하는 나. 반대로 시간을 많이 들이시고 주말에도 열심히 하시는 팀원분. 완전 정반대의 성향이었는데도 나를 이해하고 배려해주기 위해 최선을 다하시는 모습을 보면서 나도 내 기준에서의 휴식 시간을 조금씩 양보하게 되었다. 이 과정에서 내 기준에서 열심히 하지 않는 이가 있으면 박박 구박했던 지난 날의 나를 반성했다.
동료는 마냥 남남의 관계는 아닌 것 같다. 그냥 나와 함께 일하는 소중한 동료라고 생각하고 상대의 마음을 이해하려고 노력하면 의견 차이로 조금 투닥투닥 하더라도 상대의 말을 곡해 없이 있는 그대로 인정하고 받아들일 수 있는 것 같다. 만약 오해가 생길 것 같을 때는 너무 마음에 담아두지 말고 솔직하게 이야기하고 대화하기. 아주 어렵지만 사실 가장 편히 갈 수 있는 길이 아닐까?
대화가 안 통하는 사람이 있으면 어떻게 할지는..아직 생각을 안 해봤다. 그땐 좀 화가 날 것 같긴 하다.
나는 이번 그룹 프로젝트 때 단순히 기술, 학습 뭐 그런 것을 넘어서 협업에 대한 소중한 인사이트를 얻었다. 함께 합을 맞춰 원하는 결과를 내기 위해 고군분투해준 나의 소중한 동료들에게 진심으로 감사하다.
부캠, 나!
부스트캠프에서 다양한 인연을 만났다. 동료들, 운영진분들, 멘토님들.. 한 분 한 분께 감사인사를 전하려면 또 청룡영화제 수상소감을 또 한 편 적어야될테니.. 짧게 적어야지. 저와 함께 해주셔서 감사합니다!!!!!
나는 부스트캠프에서 나에 대해 많은 생각을 했고, 많이 알아갔다. 지금까지는 늘 가까운 사람들이 보는 나, 내가 보는 나에 대해서만 알았는데, 부스트캠프에서 동료들이 보는 나에 대해서도 알 수 있었다.
동료로서의 나는 밝고 긍정적이라는 이야기를 정말 많이 들었다. 하지만 내가 생각하는 나는 그렇지 않다. 심지어 나는 한남대교를 지나면서 어떠한 사고가 나서 차가 다리 아래로 떨어진다면 나는 수영을 하지 못 하는데 어떻게 살아 남을 수 있을까? 하는 생각으로 수영을 배우러 다닌 전적이 있다. 정말 걱정도 많고 그렇게 밝지도 않고 싫어하는 것 투성이인데 왜 다들 나를 그렇게 좋게 봐주는 거지? 의문이었다. 처음에는 내가 생각하는 나와의 괴리감때문에 마냥 좋지는 않았던 것 같다. 하지만 이제는 조금 즐기는 중이다. 나의 부캐를 키우는 느낌으로. ㅋㅋ
협업 할 때 내 장점이 밝음이라면 일 할 때는 조금 햇살같은 사람이 되어도 좋지 않을까. 다른 이들이 좋게 봐주는 걸 마냥 뱉어내지 말고 새로운 나의 강점으로 가져가봐도 좋겠다는 생각이 든다.
내가 개발자로서 어떻게 나아가면 좋을까에 대한 고민도 많이 한 것 같다. 특히 프론트엔드 개발자로서 좋은 개발자가 되려면 어떻게 해야할지에 대한 고민이 많았다. 이건 내가 개발자로서의 삶을 살아간다면 늘 마음 한 켠에 자리잡고 있지 않을까? 고민하고 나아지고 싶어서 내 고민도 그냥 품어주기로 했다.
나를 알아가고, 좋은 사람들을 알아가고. 긴 인생에서 아주 짧은 시간이지만 오래오래 기억에 남을 만큼의 소중한 시간을 보냈다.
늘 씩씩하게 어떤 일이 있어도 잘 이겨나갈 수 있기를! 화이팅!!

2024년, 올 하반기를 함께한 부스트캠프가 지난 주 수료식을 마지막으로 끝났다.
마냥 후련하고 속 시원할 줄 알았는데 정이 많이 들었는지 슬픈 마음이 더 큰 것 같고.. 일주일간 공허했다. 아침에 일어나서 출석체크를 하고 데일리 스크럼을 해야할 것 같은데? 이제 늦잠을 자도 아무 상관이 없다는 게 마냥 기쁘지 않았다. 반년간 매일 붙어있던 연인과 헤어진다면 이런 느낌이지 않을까 싶다. ㅋㅋ
하지만 일주일이 지난 지금은 슬퍼하지 않고 잘 보내주고(?) 멋진 시작을 해보고 싶은 마음이 생겼다. 하지만 난 구질구질하니까 곱게 떠나보내줄 순 없어. 잔뜩 추억하고 보내줄 거다. 그래서 이 글을 쓰게 되었다.
네부캠에서 배운 것을 한 단어로 축약하자면 '나'라고 표현하고 싶다. 네부캠은 단순히 내 개발 실력을 향상시켜주는 곳이 아니었다. 나를 알아가는 공간이었다. 그래서 부제를 '부캠, 나!'라고 달았다. 그리고 이 글에서 '부캠, 나!'가 된 역사를 실~컷 이야기해보려고 한다. 조금 긴 글이 될 것 같다.

부스트캠프 9기 지원

기억나니..? 우리의 첫만남..
나는 저때 한창 너무 정신없이 바빴다. 알바, 네부캠 지원하고 문제 해결력 테스트 보고, 현대 소프티어 2차 시험 준비..등등
소프티어 최종은 떨어졌다. 유감임. 오! 시험을 좀 못 봤나보네..하고 반나절정도 슬퍼하고 말았다. 대학 수시를 18번 떨어져봐서 그런지 뭐 어디에 떨어진다고 내 인생이 망한 건 아니니까~하고 조금 초연해질 수 있었던 것 같다.
그래도 네부캠 1차는 합격했다. 나는 운 좋게 2차 직행자였지만 베이직부터 쭉 함께했다. 1, 2차 합격 후기와 베이직 회고는 요기에!!!
2024.07.10 - [🌱 네이버 부스트캠프] - 네이버 부스트캠프 웹/모바일 9기 1차 + 2차 합격 후기
2024.07.11 - [🌱 네이버 부스트캠프] - 네이버 부스트캠프 웹모바일 9기 베이직 회고
또 정말정말 감사하게도 챌린지에 합격하게 되어서 수명이 연장 됐다.
챌린지 기간 | '왜'에 대하여
이땐 정말 하루하루가 챌린징했다. CS 전반에 대해 많은 것들을 몸소 겪어보며 알아갔다. 러닝바이두잉!
하루만에 과제를 내야하는데 내 실력으론 절대 하루 안에 못 끝낼 분량이라 부담감이 컸다.
사실 선택과 집중을 적절히 해서 내가 얻어가고 싶은 부분만 얻어갈 수도 있겠으나 그러기가 쉽지 않았다. 가장 큰 부담은 '내가 이걸 해내지 못 하면 떨어질까봐'에서 오기 때문이다.
1차 문제해결력 테스트를 볼 때까지만 해도 떨어지면 어떡하지? 하는 걱정이 잠깐 들더라도 떨어지면 그냥 다른 거 할 거 알아보면 되지 하며 마음이 편했는데, 이미 베이직과 챌린지 과정을 겪으면서 날이 갈수록 빠르게 성장하는 맛을 봐버렸고 함께 하고 싶은 좋은 동료도 많이 알게된 상태라 떨어지고 싶지 않았다. 날이 갈수록 간절해졌고 간절한만큼 여유를 잃었다.
그럴 때마다 내가 왜 이렇게까지 간절해야하는가? 단순히 부캠 멤버십에 붙고 무사히 수료하는 게 내 삶의 지향점인가?에 대한 생각을 많이 했다. 부캠은 내 인생 목표가 아니다. 나는 성장을 위해 부캠에 들어왔고, 부캠에서 배워가고 싶은 것은 협업과 탄탄한 기초였다. 잘 생각해보니 지금 당장도 동료들과 함께 코드를 짜보면서 협업을 맛보고, 매일매일 챌린징한 하루를 보내면서 기초를 쌓아가는 근력을 기르는 중인데? 될지 안될지도 모르는 것에 매달리며 현재를 고통스럽게 보내기엔 내 현재가 너무 아깝지 않은가? 그래서 그냥 근력 기르기에 충실하자고 다짐했다. 꼭 나를 세뇌하듯이 잠들기 전마다 '나는 지금 배우러 온 거야. 점수 따러 온 게 아니야.'를 곱씹었다.
그리고 내 주변의 인적 자원을 소중히하자고 다짐했다. 사실 혼자 고군분투 하는 건 부캠이 아니더라도 얼마든 할 수 있다. 부캠의 큰 장점은 동료학습이기에 주변에 실력 좋은 분들의 방식을 열심히 쌔벼보고 나에게 맞는 방식으로 조금씩 고쳐나가야겠다는 마음가짐으로 임했다. 그렇게 해야만 만약 떨어지더라도 좀 더 즐길걸 하는 후회가 없을 것 같았다. 그렇게 4주를 보내니 결과를 기다릴 때 떨어져도 괜찮겠다, 하지만 붙으면 더 좋겠다^^ 하는 생각이 들었다.
베이직과 챌린지를 합쳐 내가 배운 것은 '왜?'였다. 내가 왜 이걸 해야하지? 이걸 해서 내가 얻어갈 수 있는 게 뭐지? 내가 여기서 뭘 배워야 하는 거지? 나는 왜 이걸 틀렸지? 왜 에러가 났을까? 왜 이 경우에선 멀쩡한데 이 경우에선 안되지? 오만가지의 질문을 던져봤다. 하지만 아는 게 많지 않은 상태로 질문을 던지니 '정지호는 왜 정지호지?'같이 이미 정해져있는 것에 대한 쓸데없는 의문에 시간을 쏟은 적도 꽤 있었다. 당시에는 그 시간이 너무 허무하고 아까웠으나 여러 시행착오를 거치며 왜?를 해야할 때를 함께 알아갈 수 있었던 것 같다. 그래서 베이직과 챌린지만으로도 충분히 내게 의미있는 시간이었다.
정말정말 감사하게도 내게 또 기회가 주어졌다. 멤버십에 합격하게 되었다.
멤버십 전반부 | 내 개발 인생의 터닝 포인트
학습 남발하다가 슬럼프 만나기
고등학생 때 6.10 민주항쟁에 대해 발표해야됐던 때가 기억난다. 당시에 프레젠테이션을 좀 더 멋지게 해주는 각종 효과들을 막 배운 상태라 열심히 효과들을 때려넣었다. 나는 6.10 민주항쟁에 대해 자료조사하면서 많이 슬펐고, 감사했다. 하지만 PPT 상태가 너무 요란했다. 새로운 것에 너무 신난 나머지 정말 중요한 것을 잊어버린 것이다.
멤버십 초기의 내가 딱 그랬다. 왜?에 대한 질문을 하고, 깊이 학습하는 데에 지나치게 매몰된 나머지 결과물을 거의 내지 못 했다. 하루종일 고민하고도 코드 10줄만 수정하고 하루가 마무리 되는 날이 지속됐다. 이상하다 생각하면서도 많이 배워가고 있으니까 괜찮다며 스스로를 위안했다. 사실 괜찮지 않았나보다. 슬럼프가 강하게 찾아왔다. 뭘 해도 너무 재미가 없었다. 어떤 것을 해도 성취감이 없었다. 아래는 내가 당시에 슬랙에 남겼던 글이다.

정말로 그랬다. 나아지는 게 눈에 확확 들어오지 않으니 열심히 살고 싶지 않았다. 그래도 열심히 살아야 한다니까 뭐 최선을 다하긴 하겠으나 최선을 다하고 자기 전에 누우면 삶이 그저 막막했다. 그래서 다른 사람들은 어떻게 지내는지가 궁금했다.
저렇게 올리고 많은 연락을 받았다. 많은 분들의 위로와 조언을 들으며 또 '왜?'라는 질문을 던져봤다. 나는 원래 개발이 정말 재밌었는데 어쩌다 이렇게 재미가 없어졌을까? 딥다이브, 학습, 뭐 이런 거에 지나치게 집착했던 것 같다. 사실 나는 똥인지 된장인지 먹어봐야 아는 바본데 말이야. 백문이불여일견, 백견이불여일행인데 백문, 백견만 하고 있었다. 딥다이브에 집착하느라 정작 나를 잠시 잊고있던 것 같다. 그래서 다시금 마음을 먹었다.
내가 좋은 개발자가 되려면 어떻게 해야할까?에 대한 고민
일단 나에 대해 생각했다. 나는 효율을 중시하는 편이다. 삼수할 때 수능 공부할 때도 (사실 그러면 안됐을거같지만) 하루에 5시간만 공부했다. 대신 5시간 내에 최대 효율을 낼 수 있는 방법을 생각했다. 그저 앉아있는 시간이 길다고 해서 결과가 좋은 건 아니다 하는 마인드였다. 근데 네부캠에서 최대한 학습을 많이 해가야해, 많이 성장해야해 하는 생각으로 너무 지나치게 효율을 멀리했다.
왠지 네부캠에서 강조하는 딥다이브는 너! 책상 앞에 오래 앉아있어! 아주 사소한 것도 다 공부하고 고민해봐! 너가 짜는 모든 코드를 다 최적화할줄 알아야해! 이건 절대 아니었을 것 같다. 대신에 너가 상태 관리에 useState를 사용했어? 왜? 다른 방법은 없었어? useState가 어떻게 동작하는데? 어떨 때 리렌더링 되는데?하는 것들을 알고 사용하라는 거였겠지.
그렇다고 저 생각을 기능 구현의 모든 순간마다 다 할 순 없다. 나는 효율을 지금 내게 필요한 지식이 어디서부터 어디까지인지 판단하는 데에서 찾아보려고 했다. 그리고선 내게 지금 필요한 만큼만이라도 제대로 알고 넘어가자고 결심했다.
그리고 또 고민했다. 그냥 냅다 기능 구현 해보고 싶어. 그런데 잘 알지 못 하는 상태에서 공식문서 사용법만 보고 구현해놓으면 나중에 거기서 생기는 문제를 고치는 데에 시간이 더 들잖아. 어떻게 해야 좋은 개발자가 될 수 있는 걸까? 처음부터 좋은 코드를 짜려면 애초에 많이 실수하고 많이 굴러봐서 이렇게 하면 안 된다 하는 빅데이터가 생겨야 하지 않을까? 근데 나는 지금 절대적으로 경험이 부족해. 대형 프로젝트는 당연히 해본 적도 없고, 그럴 기회를 얻는 것도 쉽지 않아. 그렇다고 지금 내 수준에서 고작 0.01ms 성능 개선하자고 몇시간씩 갈아넣는 건 하기 싫어. 그럼 내가 어느정도로 해보면 좋을까?
해서 내가 생각해본 세 가지 방법이 있다.
1. 일단 해보고 개선점을 찾고 고치기: 여기에서 중요한 건 개선점을 찾고 고치는 데까지 너무 오래걸리면 안 된다. 이미 너무 멀리 온 상태에서 고치려하면 엄두가 안 난다. 피드백 루프가 짧아야 한다. 그리고 그 '고치는 과정'을 학습이라고 여기고 최선을 다하기. 내 경우에는 오늘 하루를 돌아보며 오늘 내 코드가 어떤 부분에서 얼마나 그지같았는가를 늘 메모해두고 고치려했다.
2. 기준점을 만들기: 일단 아무것도 감이 안 올 때는 베스트 프랙티스를 내 상황에서 어떻게 적용하면 좋을지 판단해보고 적절히 맞춰서 냅다 따라한다. 그러면서 왜 이게 베스트 프랙티스인지를 기존의 내 개발새발 코드와 비교해본다. 그러면서 감을 찾고 점점 개선해나간다.
3. 상여자식 학습법: 내가 왜 이걸 공부해야되지? 생각이 들면 걍 안한다. 지금 당장 나한테 필요한 학습이 아니니까 저런 나태한 생각이 드는거임. 지금 당장 내게 문제가 닥쳤고 그걸 해결해야되는 상황에서 학습을 할 땐 왜 같은 생각 안 든다. 급해죽겠는데 잡생각은 사치임. 그냥 겁나 공부하게됨. 그럼 학습이 재밌다.
한 몇년 지나서 보면 그거 아냐..! 하고 외치게 될 수도 있겠으나 지금 내 판단에서는 이 세 가지 방법이 적어도 내게는 유용한 것 같다. 그래서 열심히 따르고 있다.
그리고 사실 한창 고민될 때 챗지피티한테도 고민 상담을 했다.

고맙다.
네부캠에서는 운영진 분들이 계속해서 실수해도 괜찮다는 말씀을 해주신다.
정확하고 가장 빠른 길로 갈 수 있다면 정말 좋겠지만 경험이 별로 없는 상태에서 내게 최적의 길을 어떻게 찾아가나요? 원래 초행길은 헤매는 법이잖아요~ 내가 경험이 많이 없기에 헤맬 수 있다는 걸 머리로는 정말 잘 알고있지만 가끔 내게 가혹해질 때가 있다. 다른 사람들의 실수는 그럴 수 있다고 한없이 너그러워질 수 있지만 내 실수에는 왜 이렇게 실망스러운 마음이 들까.
그럴 때마다 실수해도 괜찮다는 말씀에 많이 위안이 되었다. 맞아. 실수해도 괜찮다. 사실 남들은 나한테 그렇게 큰 관심이 없다. 내가 초대박 대형 사고를 친다면 모르겠지만 작은 실수에 너무 벌벌 떨 필요는 없을 것 같다. 대신에 실수를 반복하면 그건 습관이 되어버리니, 그러지 않기 위해 내가 왜 실수를 했는지, 실수를 다시 하지 않으려면 어떻게 해야하는지에 대해 생각해보고 같은 실수를 반복하지 않으려 노력한다면 괜찮을 것 같다. 왠지 네부캠 거치며 조금 뻔뻔해진 것 같기도. ㅎㅎ;
멤버십 후반부 | 대망의 팀 프로젝트
기술적 도전? 학습?
6주 간의 팀프로젝트가 있었다. 정말 다사다난했지만 많이 배워갔다. 프로젝트 깃헙은 요기!
https://github.com/boostcampwm-2024/web14-betting-duck
GitHub - boostcampwm-2024/web14-betting-duck: 베팅으로 즐거움을 더하고, 채팅으로 소통하며, 오리를 구매
베팅으로 즐거움을 더하고, 채팅으로 소통하며, 오리를 구매해 나만의 마이페이지를 꾸며보세요!🐤 - boostcampwm-2024/web14-betting-duck
github.com
일단 기술적으로는.. 프론트에서 socket 해제를 잘 하지 못 해서 서버를 터뜨려버렸다. 이때 와 진짜 클났다 하는 생각으로 컴포넌트 생명 주기와 socket 연결 수립/해제를 어떻게 해야하는지 팀원분과 많은 이야기를 나눴고, 해결했다. 다행히 우리 백엔드분들은 상당히 친절하셔서.. 백엔드에서도 이런 경우를 어떻게 해결하면 좋을지에 대해 고민해주셨다..ㅎㅎ
그 외에도 상태관리에 대한 고민도 많이 했다. 객체로 상태를 관리하면 어떤 점이 안 좋은지 백엔드에 초당 1000건이 넘는 요청을 보내버리면서 체득했다. 백엔드 분들께 압도적 죄송과 압도적 감사. 이것저것 많이 배웠다.
어떠한 도전을 했는가? 하면 솔직히 그건 잘 모르겠다. socket 자체가 너무 잘 되어있어서 내 스스로 도전이라고 할 만큼의 굉장한 노력이 있진 않았다..ㅎㅎ 나에겐 도전이라기보다는 학습의 시간이었던 것 같다.
대신 사용자 피드백을 반영해보려고 조금씩 노력했다.

아주 사소하게는 채팅 UI에 대해 조언을 듣고 개선하고, 타이머에 '분' 표시가 안 되는 것이 불편하다는 피드백에 그걸 개선하고, 타이머를 1분씩만 올리기 불편하다는 말에 타이머를 좍좍 올릴 수 있도록 개선하고.
이런 것들은 어떤 기술적인 고민보다 훨씬 시간과 노력이 적게 들지만 그럼에도 사용자에게는 보다 좋은 경험을 안겨줄 수 있다. 사실 사용자는 내가 소수점 단위의, 그것도 ms 단위의 성능 개선을 위해 몇시간을 들였는지는 관심도 없을 거고, 지금 당장 UI/UX가 편한지가 가장 중요할 것 같다.
그래서 왠지 사용자와 프론트엔드 개발자와의 관계가 손님과 직원의 관계가 아닐까 하는 생각도 든다. 내가 얼마나 무슨 노력을 하든 그건 별로 중요하지 않고 소비자에게 근사한 경험만 해주면 일을 잘 하는 거지~~ 소비자는 나의 성장 역사에는 관심이 없어!
사용자에게 더 좋은 경험을 더 빠르게 안겨주면서 같이 일하는 사람들에게도 좋은 경험을 줄 수 있도록 클린 코드까지 구사하려면 평소에 굉장히 많은 노력이 필요할 것 같다. 이미 네부캠에서 좋은 코드를 짜기 위해 많은 것을 배웠으니 이젠 내가 열심히 실천할 일만 남았다.
팀프로젝트 - 협업편
나는 지금껏 팀프로젝트에서 엄청나게 좋은 인상을 받은 적이 몇 번 없었다. 예전에 한 번은 교수님께서 불참자가 한명이라도 있으면 감점하겠다고 폭탄 선언을 하셨는데, 매번 불참하던 팀원이 그날까지도 연락 두절이었던 적이 있다. 그때 너무 열 받아서 그냥 집에 찾아가서 끌고왔다. 지금 생각해보면 당시 잠깐 미쳤던 게 아닐까 싶다.
솔직하게 "일을 열심히 하지 않는 사람이 있으면 어떻게 할 거냐"는 질문을 받으면 할 말을 잃는다. 이 나이 먹고도 참여 안 하는 사람은 그냥 그런 사람인 거지 제가 무슨 말을 한다고 바뀌겠나요..?
하지만 네부캠 프로젝트를 하면서 팀플에 대해 다시 생각하게 됐다.
사실 이번 프로젝트 우리 팀 금쪽이는 내가 아니었을까. 주말에는 쉬어야 하는 나. 너무 오래 앉아있고 싶진 않아하는 나. 반대로 시간을 많이 들이시고 주말에도 열심히 하시는 팀원분. 완전 정반대의 성향이었는데도 나를 이해하고 배려해주기 위해 최선을 다하시는 모습을 보면서 나도 내 기준에서의 휴식 시간을 조금씩 양보하게 되었다. 이 과정에서 내 기준에서 열심히 하지 않는 이가 있으면 박박 구박했던 지난 날의 나를 반성했다.
동료는 마냥 남남의 관계는 아닌 것 같다. 그냥 나와 함께 일하는 소중한 동료라고 생각하고 상대의 마음을 이해하려고 노력하면 의견 차이로 조금 투닥투닥 하더라도 상대의 말을 곡해 없이 있는 그대로 인정하고 받아들일 수 있는 것 같다. 만약 오해가 생길 것 같을 때는 너무 마음에 담아두지 말고 솔직하게 이야기하고 대화하기. 아주 어렵지만 사실 가장 편히 갈 수 있는 길이 아닐까?
대화가 안 통하는 사람이 있으면 어떻게 할지는..아직 생각을 안 해봤다. 그땐 좀 화가 날 것 같긴 하다.
나는 이번 그룹 프로젝트 때 단순히 기술, 학습 뭐 그런 것을 넘어서 협업에 대한 소중한 인사이트를 얻었다. 함께 합을 맞춰 원하는 결과를 내기 위해 고군분투해준 나의 소중한 동료들에게 진심으로 감사하다.
부캠, 나!
부스트캠프에서 다양한 인연을 만났다. 동료들, 운영진분들, 멘토님들.. 한 분 한 분께 감사인사를 전하려면 또 청룡영화제 수상소감을 또 한 편 적어야될테니.. 짧게 적어야지. 저와 함께 해주셔서 감사합니다!!!!!
나는 부스트캠프에서 나에 대해 많은 생각을 했고, 많이 알아갔다. 지금까지는 늘 가까운 사람들이 보는 나, 내가 보는 나에 대해서만 알았는데, 부스트캠프에서 동료들이 보는 나에 대해서도 알 수 있었다.
동료로서의 나는 밝고 긍정적이라는 이야기를 정말 많이 들었다. 하지만 내가 생각하는 나는 그렇지 않다. 심지어 나는 한남대교를 지나면서 어떠한 사고가 나서 차가 다리 아래로 떨어진다면 나는 수영을 하지 못 하는데 어떻게 살아 남을 수 있을까? 하는 생각으로 수영을 배우러 다닌 전적이 있다. 정말 걱정도 많고 그렇게 밝지도 않고 싫어하는 것 투성이인데 왜 다들 나를 그렇게 좋게 봐주는 거지? 의문이었다. 처음에는 내가 생각하는 나와의 괴리감때문에 마냥 좋지는 않았던 것 같다. 하지만 이제는 조금 즐기는 중이다. 나의 부캐를 키우는 느낌으로. ㅋㅋ
협업 할 때 내 장점이 밝음이라면 일 할 때는 조금 햇살같은 사람이 되어도 좋지 않을까. 다른 이들이 좋게 봐주는 걸 마냥 뱉어내지 말고 새로운 나의 강점으로 가져가봐도 좋겠다는 생각이 든다.
내가 개발자로서 어떻게 나아가면 좋을까에 대한 고민도 많이 한 것 같다. 특히 프론트엔드 개발자로서 좋은 개발자가 되려면 어떻게 해야할지에 대한 고민이 많았다. 이건 내가 개발자로서의 삶을 살아간다면 늘 마음 한 켠에 자리잡고 있지 않을까? 고민하고 나아지고 싶어서 내 고민도 그냥 품어주기로 했다.
나를 알아가고, 좋은 사람들을 알아가고. 긴 인생에서 아주 짧은 시간이지만 오래오래 기억에 남을 만큼의 소중한 시간을 보냈다.
늘 씩씩하게 어떤 일이 있어도 잘 이겨나갈 수 있기를! 화이팅!!