Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
자바스크립트 첼린지 후기
#javascript
1년 전
4,912
3

저는 웹 코딩, 특히 자바스크립트 자체를 별로 안좋아합니다. 그럼에도 불구하고 재미있게 끝까지 완주를 했네요.

사실상 위의 두 문장이 이 후기의 가장 중요한 부분이자 요약 입니다만, 성의가 없어보일까 더 자세히 적어봅니다.

제가 학부생일 때 자바스크립트는 HTML+CSS와 묶어서 프로그래밍 영역으로 취급하지 않던 학풍이 있었습니다. 당시 웹 기술도 오늘날의 것과는 아주 큰 차이가 있었어요. 당시에 선배들은 자바스크립트만 하는 분들을 프로그래머와 구분해서 퍼블리셔 라고 불렀습니다. 프로그래밍(C/자바) 공부 열심히 안하면 퍼블리셔(자바스크립트) 해야 한다며 으름장을 놓기도 하셨지요.

제가 그런 시각을 별로 개의치 않았음에도, 자바스크립트와는 자연스럽게 거리를 둔 것 같습니다. 10년 넘는 시간동안 이제는 거의 사라진 비주류 언어들 까지도 접해보았는데도, 정작 주류 언어가 된 자바스크립트는 거의 건들지 않았어요. 심지어 근무하던 도메인에서 웹 개발자의 영역이 엄청나게 커졌음에도 불구하고 진심으로 공부 할 필요성 자체도 못느끼고 있었습니다.

그러다가 나는 저렇게 되지 않아야겠다 히는 생각을 들게 해주는 시니어 PM들을 만났어요. 그들의 공통점은, 기술과 개발자를 이해 하려는 마음 자체가 없다는 점이었습니다. 반면교사 하는 마음으로, 현재의 웹 기술을 이론적으로 이해하는 것 이상으로, 고마운 팀원들, 개발자들을 경험적으로도 조금이라도 이해 할 수 있는 능력을 길러야겠다고 생각을 했습니다. 당장 회사에서 사용하던 리액트와 타입스크립트부터 직접 써보기 시작했습니다. 친구의 도움도 받고, 혼자 있을 때는 Nico 님 리캡 영상들을 활용하면서 공부하고 있었어요. 그러다가 조금 더 이해 하고 싶은 부분이 생겨서, 바닐라 자바스크립트 강좌도 몇 개 봤지요. 그러다가 강좌를 다 보고, 자바스크립트 첼린지도 참여를 했습니다.

바닐라 자바스크립트를 보면서, 이 언어는 왜 이따위지? 라는 거친 생각이 속으로 많이 들었어요. 저는 인자하지 못해서 이 정도 되면 '더 이상 볼 것도 없다' 하고 그만 보는 경우가 많아요. 그럼에도 불구하고 끝까지 강좌를 다 보았습니다. 첼린지도 하루도 빠짐 없이 끝까지 했네요.

드랍아웃 없이 완주 할 수 있는 이유는, 크래프트 중심의 코딩이 큰 것 같습니다.

대게 사람들이 무언가를 만들기 시작하면 어떻게든 마무리는 지으려고 합니다. 강아지를 한 마리 그린다면, 아무리 대충 그려도 발은 다 그립니다. 10초 만에 강아지를 그려달라고 해도, 강아지 다리를 반 개만 그리고 멈추는 사람은 거의 없습니다. 시간이 촉박해도 최소한 외곽선은 완성을 하고서 펜을 내려놓습니다. 이런 것은 무언가를 시작하면 완성을 시키려고 하는 인간의 일반적인 성향이고, 코딩에도 동일하게 적용이 된다고 생각 합니다.

Nico 님은 그런 부분들을 잘 짚어내는 것 같습니다. 코드로 무언가를 만들 때, 완성했다고 느낄 수 있는 최소한의 요건이 무엇인지를 제시 합니다. 전에 언급한 '강아지 그림 그리기'라고 치면, 털과 주름의 묘사를 가르치는게 아니라, 다리 네 개, 꼬리 하나, 주둥이 하나 정도를 주된 교육 목표로 잡아서 가르쳐주는 능력이 있습니다. 그리고는 강아지 다리를 반 쯤 그려놓고, 나머지 그림을 완성 해 보라고 과제로 주는 겁니다. 최종 과제와 중간 과제를 자세히 얘기 할 수는 없지만, 이런 방식의 학습 과정으로 이루어져있죠. 이렇게 목표와 범위가 적절하게 설정이 된다면, 배우는 분들이 완주를 할 가능성이 높아 질 수 밖에 없습니다.

이런 부분을 Nico 님이 많은 고민을 하신건지, 선험적으로 체득 하셨는지, 혹은 타고난 재능인지, 저로서는 알 수 없겠으나, 아주 멋진 강좌를 만들었다는 것은 분명합니다. 그리고 어떤 이유가 되었든 좋은 목표, 좋은 범위, 좋은 과정, 세 가지를 모두 잡는 다는 것은 쉬운일이 아닐 겁니다. 멋진 컨텐츠 만들어주셔서 고맙다는 얘기는 한 번 더 드리고 싶습니다.

추가적으로 개인적인 의견을 하나 드리자면, assignment에 extra point 항목이 들어있습니다. 거기에 조금 더 자유로운 주제가 있으면 좋지 않을까 생각했습니다. "내가 넣고 싶은 기능 하나 추가하기" 정도가 될 까요? 초보 수준에서는 과하다는 생각이 들 수도 있고, 그 기능이 보편적이거나 유용 하기는 어려울 겁니다. 다만, 배운 것을 바탕으로 스스로 생각하고 활용 할 소중한 기회가 될 거라고 믿습니다. Extra Point라는 평가 항목의 성격에도 부합하는 것 같고, Nico 님의 철학에도 부합하지 않을까 싶어서 첨언 정도로 드립니다.

개인적인 얘기까지 섞어가면서 장황하게 후기를 적는 이유는, 진심으로 고마운 마음이 들기 때문입니다. 그 마음이 잘 전해지기를 바랍니다. 고맙습니다.

3 comments