2017년의 나, 그리고 2018년에 되고 싶은 나
Dec 31, 2017
7 minute read

비록 지금은 저 자신을 “개발자” 라 칭하기 민망한 수준이지만, 개발자를 꿈꾸는 대학생으로써 저의 2017년 회고를 작성해보았습니다. 이 회고를 통하여 2018년에는 한층 더 성장한 모습을 볼 수 있으면 좋겠네요.

나에게 있어 2017년을 세 문장으로 요약하자면 다음과 같이 말할 수 있겠다.

  • 아는 건 많았지만 실제로 할 줄 아는 게 없었기에, 실제로 할 줄 알려고 발버둥쳤지만,
  • 거듭된 실패를 경험했고 한계를 경험했지만,
  • 좋은 사람들을 많이 만난 해

아는 건 많았지만 실제로 할 줄 아는 건…

Python, django, flask, Django Rest Framework  
JavaScript, TypeScript, React, Node, Progressive Web App  
Numpy, Scipy, Pandas, Tensorflow, Keras, PyTorch  
Serverless, AWS, CI

위의 단어들은, 바로 이 글을 쓰고 있는 현재 내가 “알고 있는” 기술들이다. 내가 지금 말하는 “알고 있는” 이라 함은, “어떤 기술인지 알고, 어떤 용도로 사용되는지 안다” 라는 소리지, “사용할 줄 안다” 를 의미하는 건 결코 아니다 (이렇게 되면 절대 안 되지만).

사실 이 글을 쓰면서 나 자신은 많이 혼나야겠다 라는 생각을 했다. 분명히 올해 초에, “깊이 있게 배우는 사람이 되어야겠다” 라고 다짐했건만, 이 글을 쓰고 있는 현재 나의 모습을 보니, “너무 깊이 없이 트렌드만 좇았구나” 라는 생각이 가장 먼저 들었기 때문이다. 과연 저 기술들 중에서 내가 자신있게, “저 이거 잘해요”. “저 이거 할 줄 알아요”. 라고 말할 수 있는 것들이 과연 한 개는 될까? 라는 질문에 나는 지금 자신있게 답을 하지 못한다.

장고요? 알죠. 써봤죠. 할줄은 알죠.

현재 내가 가지고 있는 기술 스택들 중에(기술 스택을 가지고 있다는 말을 하기도 민망하긴 하지만), 가장 자신있는 것을 꼽으라면 장고를 꼽을 것 같다. 하지만, 다른 개발자 분이 저에게 “어떤 개발 하세요?” 라고 물어보시면, 나는 위에 적힌 대로 대답을 할 것 같다. 사실 “할줄은 안다” 라는 말은 되게 위험한 말이라고 생각한다 - 잘 하지는 못한다는 사실을 반증하는 말이기 때문이다. 그럼에도 불구하고 저런 말을 내가 하는 이유는, 내가 기술(특히 장고) 숙련도에 대한 자신감이 턱없이 부족하기 때문이다. 왜 자신감이 부족하냐고? 말 안해도 “깊이 없이 배워서” 이다.

  • 모델을 정의하고 save 함수를 콜하면 데이터베이스 테이블에 row가 추가된다.
  • URL로 요청이 들어오면 url과 매핑된 view 함수가 불리고 템플릿이 렌더링되어 html을 만들어낸다.

이런 것들은 간단히 튜토리얼 한 번만 돌면 깨닫을 수 있는 내용임에도 불구하고, 위의 내용을 이해했다고 해서 “저 장고 할 줄 알아요” 라고 말하고 다녔던 나 자신이 상당히 부끄럽다. 다행히도, 이런 점을 올해 안에 잡아서 공식 문서를 읽고, 다른 프로젝트들의 코드를 읽으면서 기술의 원리(ORM 등) 및 사용법에 깊이를 더하려고 노력을 하기는 하였다. (결과는… 잘 모르겠다. 하지만 자신감이 붙고 있는 것 같긴 하다.)

“라이브러리와 프레임워크를 배우고 사용할 때는, 적어도 왜 사용하고 사용함으로써 어떤 이득이 있는지를 알고 쓰자” 라고 기술들을 접할때 마다 다짐하지만, 편의와 간결함에 취한 나머지 다짐을 잘 못 지킨 것 같아서 안타깝다. 하지만, “무언가를 시작할 때는 공식 문서부터 살펴본다”, “이걸 사용해서 뭔가를 만들어서 제대로 이해해야겠다” 라는 마인드를 가진 이후로 계속 유지하고 있는 것 같아 다행이다.

2017년에는 문제점을 파악했으니, 2018년에는 문제점들을 고치는 일만 남았다.

2017년의 소득

그래도 2017년에 내가 성장을 전혀 하지 않았냐 라고 물었을 때는, “그래도 그건 아닌 것 같다” 라는 말을 할 수 있게 되었다. 2017년에 내가 경험했던 것들 중 가장 인상 깊은 것은 다음과 같이 세 가지인 것 같다.

Python, JavaScript 에 빠지다

사실 여기서부터 나의 2017년이 시작되었다고 해도 과언이 아니다. 2016년의 나는 그냥 “에디터 켜서 코드 몇줄 치고 컴파일 하고 실행은 할 줄 아는” 전형적인 대학교 1학년이었는데, 파이썬을 접하고 부터는 실제로 서비스를 만들어 볼 시도라도 할 수 있게 되었으니까.

연초에, GDG Korea Campus 라는 커뮤니티에서 한 스터디를 같이 한 것이 인연이 됬다 하지만 스터디는 잘 안됬다…. 스터디에 커뮤니티에서 인지도가 높았던 한 개발자 분이 계셨고, 파이써니스타 셨다. 그 분의 깃헙 repo 랑 블로그를 염탐(?) 해보니, 파이썬이라는 언어가 엄청 매력적으로 다가왔고, “처음 시작하는 파이썬” 이라는 책으로 파이썬을 몇 줄 끄적겨러 보았더니, 파이썬의 달콤함에 푹 빠지게 되었다.

그 후에, 파이썬으로 뭔가를 만들어보기 위해서 구글을 열심히 뒤지다가, 장고라는 것을 처음 접했고, 장고의 편리함에 빠지는 것 또한 얼마 걸리지 않았다 그러나 깊이를 더하는 것은 아직도 하지 못했다.

JavaScript 에 손댄 계기는 두 번의 해커톤에 참여한 것이 인연이 됬다. 해커톤 참여후기에 대해서는 밑의 문단에서 더욱 자세하게 쓰겠지만, 해커톤에서 팀이 된 사람들 중에서 나만 자바스크립트를 하나도 못했었다! (사실 그게 문제가 아니었고 장고 조차도 잘 못했어서 해커톤에서 팀의 일원으로써의 역할을 제대로 수행하지 못한 것 같다) 두 번의 해커톤을 경험하고 나니, 자바스크립트를 배워보고 싶다는 생각이 들었고, 이제 막 걸음마 뗐다.

파이썬, 자바스크립트. 이 둘은 진짜 매력 넘치는 언어이고 도구인 것 같다. 2018년에는 이 두 언어에 대한 깊이를 다지는 것이 나의 목표다.

첫 해커톤을 경험한 일

올해 있었던 일 중에서 두 번째로 기억이 남는 것은, 바로 처음 해커톤을 참여한 일이다. 해커톤에 참여한 나는 비록 해커톤에서는 병풍이었지만 많은 것을 얻었는데,

  • 처음으로 상용 서비스를 만들어보았고
  • 처음으로 다른 개발자분들이랑 디자이너 분들과 협업해 보았으며
  • 자바스크립트 라는 언어에 눈독을 들이게 된 계기가 되었다.

해커톤은 일단… 재밌었다. 밤새서 개발하는건 체력적으로는 힘들었지만 힘들었다는 생각보다는 재밌었다는 생각만 났다. (역시 나는 개발이랑 잘 맞는것 같다? 아직 잘 못해서 그런 거 같지만)

무엇보다 좋았던 점은 해커톤에서 만났던 사람들이 너무 좋았고, 배울 점이 많았다는 것이다. 개발을 잘 못하던 나에게 너무나도 잘 알려주셨기 때문이다. 내가 되고 싶어하는 “배워서 남 잘 주는 사람” 들을 실제로 만나서 같이 협업해 보니, 나 자신에 대한 반성도 하게 되었던 것 같다.

IT 연합 동아리에 합격해서 활동하고 있는 일

하지만 무엇보다도, 올해 한 일중에서 가장 잘 했다고 생각하며, 가장 인상 깊었던 일은 바로 IT 동아리에 합격해서 활동하고 있다는 점이다.

운영진 1 : 동아리에 오시면 한 번은 발표를 하시게 될 건데, 어떤 주제로 발표를 하시고 싶으세요?
나 : 저는 제가 개발해오면서 경험했던 것을 발표하고 싶어요. 예를 들면, 이렇게 하니깐 안됬는데 이러니깐 되더라? 이런 거요.
운영진 1 : 아, 21살의 경험?
나 : ……

운영진 2 : 오 이런 기술을 사용해서 서비스를 만들어 보셨네요?
나 : 네. 써봤죠.
운영진 2 : 오 그러면 이런 것들도 아시겠네요?
나 : (멍…)

위의 대화는 실제로 면접 때 있었던 대화다. 분명히 내가 저런 대답을 하고 나왔을 때는 당연히 떨어지겠구나 생각했지만, 합격 메일을 받고 엄청 기뻐했었고, 동아리 재미있게 하고 있다. 무엇보다도 많은 사람을 만난다는 것이 진짜 좋았고, 나와 관심사가 비슷한 사람들과 같이 스터디 하고, 프로젝트 하는. 모든 과정이 재미있다. 사람들을 만나고 교류하고, 내가 아는 것들을(많이 없지만) 남들한테 공유할 수 있는 자리라서 애착이 가고, 열심히 참여하게 된 것 같고, 당분간 활동을 꾸준히 할 것 같다! 동아리를 함으로써 어떤 식으로 내가 성장할까도 궁금하기도 하고.

개발자로써의 성장

개발자를 꿈꾸는 학생으로써, “나와 개발자로써의 성장” 에 대하여 말을 안 할수가 없을 것 같다.
해커톤과 커뮤니티에서 만난 개발자분들이 해주신 말씀 중에서, 가장 기억에 남는 말씀은 다음 두 가지였다.

너무 기술들에만 매료되지 마세요. 자료구조와 알고리즘 같은 CS 기초들은 나중에 뼈와 살이 될 거에요.

전 지금 CS 기초가 너무 부족하다 생각하고, 기초 좀 잘 다질걸 이라는 후회를 해요. 기초를 탄탄하게 하세요 라는 말을 하고 싶어요.

이런 말이 가장 기억에 남으면서 정작 나는 공부할때 깊이 없이 트렌드만 좇은 걸 보면 난 진짜 혼나야 된다.

  • 이정도면 충분하지.
  • 이건 이미 알아. 그러니깐 넘어가고.
  • 음 잘 모르겠다. 근데 별로 중요한 것 같지 않은데?

자료구조, 알고리즘 같은 CS 기초, 그리고 언어의 기초, 마지막으로 기술의 원리. 뭔가 이론에 관련된 내용들을, 중요하다고 생각하면서도 “재미없다” 라고 치부하면서 등한시하고, “코드만 짤 줄 알면 됬지” 라는 안일함으로, 수박 겉 핥기 식으로 공부했던 2017년이었다.
덕분에 나는 지금 속만 파먹은 수박마냥, 아는 것은 많지만 잘하는 것은 하나도 없는 사람임에 변함이 없게 되었다. 이제 성장하려면 가장 어려울, “깊이를 더하는 일” 을 해야 한다. 깊이를 더하기 위해서 2018년에 목표로 두고 실행할 일은 다음과 같다.

일일커밋

사실, 올해에 일일커밋을 시도하려고 깃허브 repo도 만들었지만, 학교 과제와 시험을 핑계삼아 하지 못했다. 분명히 과제기간, 시험기간이 아니었음에도 불구하고 따로 내가 잘하고 싶은 분야를 공부하지 않은 것에 대해서는, “그냥 내가 게을러서” 라는 말 밖에 할 말이 없다. 2018년부터는(당장 내일부터), 시험기간을 제외한 모든 날에, 적어도 2시간은 개발 공부에 투자해보고자 한다.

학교 과제 및 팀 프로젝트 기간을 제외하면 별다른 공부를 깊이 있게 하지 않았다고 생각되는 2017년 그래프. 과연 2018년에는 달라질 수 있을까.
학교 과제 및 팀 프로젝트 기간을 제외하면 별다른 공부를 깊이 있게 하지 않았다고 생각되는 2017년 그래프. 과연 2018년에는 달라질 수 있을까.

꾸준한 블로그 포스팅

최근에(연말에), 블로그를 리모델링 하고 포스팅을 하고 있는데, 역시 공부한 것을 정리하는 데는 블로그 만한 곳이 없는 것 같다.
사실 포스팅 할 주제는 엄청 많다. 다 내가 안 하고 있는 것 뿐이다. 2018년에 연재하고 싶은 포스팅 주제는,

  • 입문자를 위한 장고 가이드
  • Django Rest Framework 가이드

위 두 주제가 핵심이고, 따로 정해진 주제 없이 Python 이랑 JavaScript를 파면서 알아간 내용들을 정리하여서 포스팅을 해 보려고 한다. 2주에 한 번씩은 포스팅을 하는 것 이 목표이다. 내년에 회고글을 쓸 때 즈음에는 이 블로그가 개발 포스팅으로 풍성해졌기를 바란다.

프로젝트 경험 쌓기

기술을 익히고, 개발을 익히는 데에는 프로젝트 만한 것이 없다고 생각한다. 다행히 프로젝트를 할 수 있을 환경은 마련되어 있으니, 프로젝트를 하면서 “이것만은 꼭 지키고 싶다” 는 희망사항을 몇개 적어보자면,

  • Git 커밋 메시지 이쁘게 쓰기
  • 충분한 테스트를 통하여 내가 짠 로직에 자신감 갖기
  • 기한 꼭 지키기, 중간에 엎지 않기

위와 같이 3개인데, 일을 잘 벌려놓고 마무리가 흐지부지되는 나의 특성상 마무리가 잘 되었으면 좋겠다는 바람이 있다. 물론 내가 게을러 지지 않는 것이 가장 중요하지만.

2018년에는 이런 사람이 되고 싶어요

2018년에는 어떤 사람이 되고 싶어요? 라는 질문에 나는 주저없이 이렇게 답할 것이다.

깊이 배우고, 배운 것 남 잘 주는 사람
“내가 할줄 아는 것들” 에 자신이 있는 사람

위 두 문장에 부합하는 사람이 되기 위해서 갈 길이 멀다. 다시. 2017년에는 문제점을 파악했으니, 2018년에는 고치는 일만 남았다!