🥁 본 글은 뒷북입니다! 우아한테크코스 레벨2 글쓰기 미션 때 제출한 글입니다.
👀 본 글은 컨셉입니다! 지독합니다.
우리는 왜 공부를 해야 하는 걸까요?
답은 간단합니다. 공부를 해야 먹고 살 수 있기 때문이죠. 특히 개발자의 경우, 평생동안 새로 출몰하는 기술들을 공부하고 현업에서 써먹어야만 해요. 게다가 그렇게 공부한 지식들도 쉽게 옛것이 되죠. 프로그래머만큼 공부의 쳇바퀴를 벗어날 수 없는 직업이 또 있을까요? 하지만 누구라도 평생동안 시시포스처럼 공부하며 지루하게 살고 싶진 않을 겁니다.
거꾸로 말해, 프로그래밍 공부가 재밌지 않다면 인생도 재미가 없습니다. 어느 누가 즐겁게 살고 싶지 않을까요? 저는 재밌게 공부하는 방법들을 찾아내고, 나아가 즐거운 인생을 살기로 했습니다.
보통 공부는 재미없고, 게임은 재밌다고들 하죠. 그런데 생각해보면 공부와 게임은 공통점이 참 많아요. 공부한 것을 적용할 때, 제대로 공부했다는 것을 확인하며 보람을 느끼지 않나요? 게임을 할 때 퀘스트를 깨면 짜릿하고 레벨업을 하면 신나는 것처럼요.
호모 루덴스(Homo Ludens)라는 용어가 있습니다. 인간을 인간답게 만드는 것은 '놀이', 나아가 '재미'라는 뜻이죠. 확실히 재밌으면 몰입하게 되고, 몰입하면 공부가 잘되더라고요.
프로그래밍이나 이에 관련된 일을 하면서 즐거움을 느낀 경험이 한번은 있는 당신! 앞으로의 얘기들을 효과적인 게임 공략법이라고 생각하고 읽어주면 좋을 것 같습니다.
공략을 안 까먹으려면 어떻게 해야 할까요? 열심히 공부해도 잊어버리면 말짱 도루묵입니다. 어떻게 해야 오랫동안 공부한 것을 기억할 수 있을까 고민했어요.
제가 내린 답은 첫째는 기록하기, 둘째는 설명하기입니다.
기억은 흐려지기 마련이지만 기록은 잃어버리지 않는 이상 영원히 남습니다. 저도 모든 것을 영원히 기억할 수는 없더라고요. 공부한 내용들을 온라인 저장소에 보관하고 있어요. 그런데 뇌를 외주화하고 기록에만 의존하니 막상 써먹어야 할 때 기억이 안납니다.
전화번호부에 번호를 저장한 이후 가족 번호도 까먹은 지 오래. 몇만 자는 족히 넘을 블로그 글들이 머릿속에 그대로 남아있을 리 없습니다. 공식문서를 번역만 해 옮겨놓은 지 일주일, 뇌를 스치고 지나간 지식이 흔적도 없이 사라져 있더라고요. 그래서 블로그 글의 퀄리티는 포기하고 저만의 언어로 적당히 써두기로 했습니다.
대신 학습하며 적은 글 내용을 설명하는 연습을 시작했어요. 이때 다른 사람을 앞에 두면 좋습니다. 그 희생양은 학습로그 말하기 시간 상대 페어일 때도 있고, 아무것도 모른 채 순진하게 자기 공부중인 옆자리 크루일 때도 있어요. 확실히 남에게 이해할 수 있는 방식으로 설명하고 나면, 제 머리 속에도 개념들이 명확히 자리 잡습니다. 기록한 후, 해당 기록을 복습하고 실천하는 습관을 만드는 게 목표입니다!
아직 우테코에서 배운 수많은 개념을 온전히 내 것으로 소화하지는 못한 듯합니다. 그래도 이전보단 덜 잊어먹어요.
저번 웹 체스 구현 미션 때의 일입니다.
4기 크루 야호가 처음 쓰는 기능의 구현과 관련해 질문한 적이 있었어요. 그때 저의 레거시 HTML
코드를 화면 공유하며 함께 구현했습니다. 그런데 바로 다음 미션 때 제게도 고비가 찾아왔어요. JS
가 싫어 백엔드로 온 제게 JS
를 통한 코드 구현 미션이 주어졌던 거죠.
그때 창가 자리에서 함께 코딩하던 야호에게 30분에 한번씩 질문했던 것 같아요. 둘 다 클릭 이벤트 없이 커멘드 입력을 통한, JS
사용을 거의 안 하는 sparkJava
체스 웹 구현을 했어요. 즉 베이스 코드가 유사했죠. 그래서 @ModelAttribute
어노테이션 사용, 예약어 문제 등 여러 방면에서 큰 도움을 얻을 수 있어 고마웠습니다. 내 지식을 공유함으로써 거대한 지식 공유 울타리를 활성화할 수 있음을 깨달았어요.
비단 이 일뿐 아닙니다. 밤에 1시간 동안 이프의 스프링 강의를 들은 일, 써머와 밤새 테코톡 콩트를 준비한 일, 어썸오와 함께 레벨 인터뷰 연습을 했던 일,
맥주 한잔 걸친 채 마루와 카페에서 기어코 페어 프로그래밍 미션을 끝냈던 일,
게더에서 다 같이 DTO
의 사용범위에 관해 토론한 일 등. 감동 사연들이 차고 넘치네요. 서로가 서로의 고인물이 되어주니 레벨업이 빨라졌습니다.
개발에 진심인 사람들과 공부하니 저 역시 진심이 되고 있어요. 요새 스터디를 꽤 많이 참여합니다. 동시에 5개까지도 해봤어요. 게임할 때 길드원들과 파티 사냥을 하면 두배로 뿌듯하듯, 프로그래밍 공부에서도 그렇습니다.
책 한권 뽀개기를 목표로 스터디를 진행하는 게 혼자 졸면서 책 읽을 때보다 세 배는 더 재밌어요. 스터디 일정이 임박해 급히 책을 읽을 때면 긴장돼서 2배 더 재밌죠. (곱하면 6배) 그뿐 아니라 저와 비슷한 출발선상에 있는 사람들과 함께 달려 나갈 수 있어 기쁩니다. 서로 JAVA
, 네트워크
, 객체지향설계
등의 공략을 나누고 토론하며 함께 보스를 처치할 수 있어요. 같은 보스를 처치했다는 추억은 곧 다음 보스를 향한 계획으로 이어집니다.
꼭 스터디까지 가지 않아도 좋아요. 페어 프로그래밍을 하면서, 같은 미션을 수행하면서 크루들끼리 서로의 설계를 공유하고 수많은 인사이트를 듣게 됩니다. 내 사고의 틀에 갇혀있다가 타인의 말 한마디에 빠져나올 때 느끼는 희열이 커요. 방향을 잃지 않고 공부할 수 있습니다. 집단지성이 이런 게 아닐까요?
다만 너무 타인 의존적인 공부가 될 수도 있으니 주말에는 개인 공부 시간을 갖고 복습에 더 철저해지려 합니다.
방금 말한 목표는 사실 희망 사항일 뿐이에요! 스스로에게 엄격해지지 않기로 했습니다.
목표를 이루지 못했다고 자책해봤자 사기만 떨어집니다. 간략히 셀프 피드백 후 마음을 비우고 새롭게 목표를 설정하려 해요. 리드미 문서 수정하듯 목표를 수정하고 있습니다. 저번에 결제한 스프링 강의를 아직 절반밖에 안 들었지만, 방학 때 듣기로 결심했어요. (원래 레벨2 기간 안에 다 듣는 게 목표였습니다)
모든 공부법에는 한가지 전제가 붙어요. "지속 가능성"이죠. 완주 불가능한 공부법은 무의미하잖아요. 제가 원하는 수준의 학습을 100퍼센트 해내려면 몸이 3개는 더 필요하더라고요.
저는 스스로를 스프린터, 즉 "단거리 주자"형이라고 생각해요.
처음에는 욕심을 부려 달성하기 힘든 목표를 잡고 달려 나가요. 그러다가 일정이 길어지며 체력이 부족해 고꾸라진 적도 몇 번 있었어요. 하지만 인생은 해커톤이 아니잖아요. 저에게는 평생 해낼 수 있을 만큼은 쉬운 공부법이 필요해요. 차근차근 늘어가는 스탯을 자랑스러워하되, 남들의 빠른 레벨업에 조급해하지는 않으려 합니다.
공부법에 정답이 있을까요. 나 자신을 믿고 가보려 해요. 어제보다 더 나은 내일을 직감하면서!
(이번에도 지독한 컨셉입니다)
우테코 레벨2 글쓰기 미션 때 썼던 글이다. 지난 미션 글이 너무 지독한 컨셉이었어서 이번엔 좀 정상적인 글을 써보려 했었다. 결과적으론 이런 글이 나와버렸지만... 감동은 없어도 최소한 웃긴 글을 쓰고 싶었다.
그래도 진심이었다. 여전히 개발이 게임같다고 생각한다. 그래서인지 요새 게임이 예전처럼 재밌지 않다😂
우리의 최종 목적은 레벨업이 아니다! 프로그래머만큼 성장에 목말라하는 직업도 없다. 하지만 우리의 최종 목표는 성장 그 자체는 아니다.
그로써 어떤 소프트웨어를 만들 수 있을지, 소프트웨어에 어떤 기여를 할 수 있을지가 중요하다.
앞으로의 프로그래머로의 여정이 순탄했으면 좋겠다! 인생은 해커톤이 아니니까😎
재밌게 읽었어요