나의 2017년 회고
2016년 12월 26일. 파이썬으로 처음 `Hello World`를 찍었다.
2017년 12월 31일. 멋진 엔지니어링 팀과 함께 일한 지 꼭 한 달이 되었다. 올해는 정말 특별한 해였는데 회고를 통해 그동안의 여정을 기록하고자한다.
퇴사
퇴사 시기와 맞물려 시작하는 코딩 교육 프로그램을 우연히 페이스북에서 보게 되었다. 항상 배우고 싶었지만 늘 계기가 없던 터였다. 8주간 파이썬/장고를 익히며 처음으로 프로그래밍 언어가 웹에서 어떻게 작동하는지 배웠다.
같은 시기 조기 대선을 위한 앱을 만드는 팀에서 MySQL을 처음으로 다뤄보았다. 훌륭한 개발자들 사이에서 오래 걸리는 모습을 보이기 싫어서 설날 이동하는 차 안에서도 파이썬 크롤러를 만들었던 기억이 난다. 이제 막 시작했을 뿐인데도 잘한다며 격려해주던 동료들 덕분에 자신감을 조금 붙였다. 개발자가 아닌 동료들이 DB를 관리할 수 있도록 어드민을 만들었는데(장고에선 터미널에 명령어 몇줄만 입력해도 어드민을 만들 수 있다) 누군가에게 도움이 되는 일을 했다는게 그렇게 뿌듯했다.
습관
잘하는 일에 집중하라는 말은 틀렸다. 어떤 일이든 처음은 있고, 처음엔 누구든 잘할 수 없기 때문이다. 조금씩이라도 매일 꾸준히 하는 게 중요한데, 프로그래밍을 독학하며 꾸준히 하고 있다는 걸 주변에 적극적으로 알린 덕에 응원도 많이 받았다. #100DaysOfCode에서 영감을 받아 2월부터 지금까지 #모각코와 #카페코딩을 인스타에 업로드하고 있다.
아무리 좋아서 시작한 일도 꼭 번아웃이 왔었는데 코딩은 그렇지 않았다. 물론 취직을 해야한다는 부담이 없었기 때문에 가능했던 일이긴 하다. 돈 쓰러 가면 사막에서도 즐겁고 돈 벌러 가면 해변에서도 지겨운 법이라고 했다. 매일 아침 ‘오늘은 어떤 예쁜 카페에서 코딩할까’ 고민하고, 좋아하는 노래 들으며 하루 종일 코딩하는게 하루 일과였다.
리모트로 외주하기
올해 3.5개의 외주를 했다. 제일 처음 제안받았던 일은 장고 백엔드에 HTML/CSS/JQuery를 붙이는 일이었다. 간단한 일이었지만 개발로 돈을 번다는 사실이 엄청난 자신감을 주었다. 정해진 시간 안에 실제 서비스 수준의 퀄리티를 내야 했고, 훌륭한 개발자들과 함께 일한 덕에 정말 많이 배울 수 있었다.
개발을 시작하게 된 이유 중 하나가 물리적 공간의 제약없이 내가 가장 생산적인 시간대에 일을 할 수 있다는 것이었다. 앞으로는 고정된 조직이 없는 일의 방식, 기술을 가진 사람들이 모여서 제품을 만들고 흩어지는 새로운 방식으로 일하는 사람들이 더 많아지지 않을까 싶다.
내 프로젝트
Seoul Startup이라는 커뮤니티 행사에서 스웨덴 개발자 친구를 만났다. 스타트업에 다니며 본인의 프로젝트를 하는 친구였다. 며칠 뒤 (지금 생각해보면 말도 안되지만) 그의 프로젝트에 합류하지 않겠냐는 슬랙이 왔다. 그 팀은 고양이 손이라도 빌려야했고, 나도 마침 배우고 싶은 스택에 프로젝트도 너무 마음에 들던 차였다. 그리고 10월까지 약 6개월 동안 Vue/Meteor/MongoDB/AWS를 써서 repick.co를 만들었다. 우리끼리 하는 거지만 나름 공동창업자 계약서도 작성하고 지분도 나누고 하니 정말 내 것 같았다. 그래서 더 들여다보고 코드도 신경쓰고 하며 실력이 한층 늘었던 것 같다.
리모트로 협업했기 때문에 매주 한 번씩 페어프로그래밍을 했는데 그게 정말 도움이 많이 됐다. 일주일간 헤매던 문제를 같이 풀면서 디버깅은 어떻게 하는지, 어떤 흐름으로 로직을 짜는지, 어떻게 더 깨끗한 코드를 쓰는지 직접 보며 배울 수 있었다.
스터디
지난 한 해 동안 7개의 스터디를 했다. 알고리즘, 파이썬, 장고, DRF, 자바스크립트 등 스터디를 하며 훌륭한 친구들 사이에서 자극도 받고, 소스코드 뜯어보는 습관도 만들게 됐다.
페미니즘
뜻밖에 페미니즘이 엄청나게 힘이 되었다. 비전공 콤플렉스는 일찍이 극복했지만 어렸을 때부터 자동차, 로봇, 각종 게임 등 기계/컴퓨터와 친숙한 유년을 보낸 긱들 사이에서 주눅이 들 때가 많았다. 장고걸스에서 엄청나게 멋진 여성 주니어/시니어 개발자들을 만났고, 차별적인 발언/대우에 단호히 대응하고 묵묵히 자기 길을 가는 동료들을 보며 힘을 얻었다.
세미나
올해 약 20개의 크고 작은 세미나, 밋업, 컨퍼런스에 다녀왔다. 당시엔 이해가 잘 안되더라도 한번 보고 들은 내용은 학습 거부감이 아주 낮아졌다. 애매했던 개념이 뚜렷해지기도 했다. 개발 경험을 현저히 개선하는 쿨한 툴들을 배워 오기도 했다.
Women Techmakers에서 짧게 장고걸스에 대해 발표를 했다. 장고걸스의 가치는 무엇이고, 초보 개발자에게 커뮤니티가 얼마나 도움이 됐는지에 대한 내용이었다. 올해는 썰푸는거 말고 기술 발표를 한번 해보고 싶다.
리액트
9월에 두 번째 외주를 하면서 리액트를 처음 써봤다. 사이드 프로젝트를 하며 Vue/Javascript와 익숙해진 것이 리액트를 배우는데 도움이 많이 되었지만 역시 기초가 부족하니 버거웠다. 리액트를 하면서 처음으로 프런트엔드 개발을 깊게 배워보고 싶다는 생각을 했다. 새로운 팀에서는 타입스크립트를 쓰고 있는데 올해는 타입스크립트와 React를 좀더 잘 쓰고 싶다.
커뮤니티
계속 개발을 해야겠다고 생각하게 된 가장 큰 이유 중 하나가 포용적인 개발자 커뮤니티다. 경력, 나이, 국적에 상관없이 서로 존중하고, 기술만으로 공감대를 형성하는 문화가 너무 좋았다. 워낙 빨리 바뀌기 때문에 많이 알고 있는 사람보다 새로운 것을 빨리 받아들이고 쉼없이 배우는 사람들이 더 존경받는다.
배운 것을 나누는 문화도 너무 좋다. (장고걸스에서) 코딩을 가르쳐주는 일도 한다며 주변 어른들께 이야기하면 그거 하면 돈 버냐며, 돈이 되지 않는 일인데 왜 하는 거냐며 비꼬는 게 아니라 진심으로 이해를 하지 못하셨다. 우리에겐 모여서 배운 것을 나누는 일 자체가 즐거움인데! 이런 문화 때문에 개발자 사이엔 회사나 학교를 초월하는 소속감 같은게 있는 것 같다.
도움이 되었던 링크들
1. Programming Doesn’t Require Talent or Even Passion - 장고 창시자, 부트스트랩 창시자, 레일즈 창시자까지 대가들이 프로그래머에겐 재능이나 열정이 별로 중요하지 않다고 한 것에서 용기를 얻었다.
2. 당신의 코딩 학습 방식을 바꿀 사진 - 개발자의 학습법. 특히 디버깅할 때 고정관념에서 벗어나야 한다는 말이 크게 도움되었다.
3. Roadmap to becoming a web developer in 2017 - 이 사진을 두고 '개발자가 되는데 걸리는 시간'을 누군가 정리해서 Learn Teach Code의 슬랙에 올린 적 있다. 프런트엔드 개발자의 경우, 172+ 시간(HTML, CSS, Javascript, JQuery, Webpack...를 배우는 시간)이었다. `할만한데?`라고 생각이 들었다. 해보니 전혀 그렇지 않았지만 아득하기만 했던 그때 도움이 많이 되었던 거 같다.
4. Why “skilled in machine learning” should be the new “proficient in Excel” on your resume - '어제의 엑셀 == 오늘의 머신러닝'. 부모님이 갑자기 무슨 개발이냐 하셨을 때 꼭 이렇게 대답했었다.
5. Geek Feminism - Imposter syndrome, 커뮤니티 Code of conduct, tech계의 페미니즘 이야기 등
6. Why the best hire might not have the perfect resume - 'Hire the scrapper'. 구직을 할 땐 이 영상이 힘이 많이 됐다. 두 사람이 비슷한 능력을 갖고 있다면 더 힘들게 얻은 사람을 택하라는 내용이다.
7. What and why is web animation, CodeNewbie - 좋은 UX/UI는 인지적인 부담(cognitive load)을 줄여줄 수 있다는 내용의 팟캐스트 에피소드. 덕분에 프런트엔드 개발에 더욱 흥미가 생겼다.