2017년 상반기 회고

블로그 첫 글로 미친듯이 달려왔던 2017년 상반기를 정리하는 회고를 선택했다.
하루하루가 어떻게 가는지도 모르게 바쁘게 지나갔는데, 그냥 넘기기에는 중요한 일들이 많았다.

개발을 잘 하고 싶다

2016년 끝무렵에 깨달은 것이 있다. 남들보다 늦게 시작한 컴퓨터 공학 공부는 문과 공부와 달랐다. 실제로 해보지 않으면 학점이 잘 나오든, 수업 시간에 이해를 했든(했다는 착각에 불구하지만) 상관없이 개발을 할 수 없다는 것.

그게 나의 상태였다, 시험은 잘 봐서 장학금은 받았는데 코드를 짤 수가 없었다. 나는 서비스를 만들고 싶고 개발자가 되고 싶은데 간단한 함수도 제대로 만들지 못 한다는 건 큰 문제였다. 개발을 정말 잘 하고 싶었다, 2017년은 실제 개발을 할 수 있는 사람이 되고 싶었다.

패스트캠퍼스 프론트엔드 스쿨

2017년 01월 ~ 2017년 04월, 수료

HTML5, CSS3, JavaScript, Vue.Js를 약 3개월동안 집중적으로 배웠다. JavaScript는 그전에 혼자 대충봤던 C++을 제외하면 처음으로 진지하게 공부한 개발언어였다. 솔직히 말하면 나는 아직도 프로그래밍적으로(?) 사고가 완전히 전환되지 않았기에 JS는 쉽지 않았다. 더군다나 JS로 제대로 된 웹 애플리케이션을 만들어본 적도 없는데 Vue.Js까지 써보려니 힘들었다는 말로밖에 표현할 수 없는 시간을 보냈다. 그래도 재미있었다. 간단한 예제 만들어 보면서 결과가 나오는 것도 신기하고, 사람들마다 다른 코드를 비교하는 것도 좋았다. 매일 아침 10시부터 밤 10시까지 수업이 끝나고도 다같이 열공하던 시간은 잊을 수 없을 것 같다.

마지막 약 3주간은 백엔드스쿨, 안드로이드스쿨 수강생들과 다같이 프로젝트를 했다. 프로젝트 기간에는 넘어가지도 못하게 화면 자체가 block되는 오류를 자주 경험했다. 새벽, 혼자 있는 방 안에서, 새카만 밤같았던 그 화면들을 보면서 많이 울었다. 여기 저기서 도움도 얻고 구글링+스택오버플로우 보면서 많은 시간을 보냈다.

정말정말 마지막에는 하이어링데이도 있었는데, 이때 텀블벅에서 면접을 보고 싶다고 해서 개발자로는 첫 면접을 봤다. 결과는 좋지 않았지만 기술면접은 어떤 건지도 대충 알 수 있었고, 면접 자체가 공부가 많이 되어 감사한 경험이었다고 생각한다.

수료한 것도 중요하고 이때 단기간에 벼락치기하듯 공부한 것도 중요하지만 가장 큰 수확은… 이때 프로그래밍을 무서워하지만 말고 좀 더 빨리 뛰어들어 볼 걸 하는 아쉬움이라는 감정이다. 생각보다 훨씬 힘들지만, 더 재미있고 보람차다. 안개처럼 모호하기만 했는데, 이제는 실력을 더 쌓아서 정말 재미있게 열심히 개발자로 일하는 나를 좀 더 생생하게 상상하기 시작하게 됐다.

방송대학교 3학년 2학기

4년제 학사를 졸업했기 때문에 3학년 편입이 가능했다. 그래서 다닌 건 1년인데 학년은 3학년, 다음 학기부터는 4학년이다. 당연히 나에게는 시간이 절대적으로 부족하고 듣고 싶고, 들어야 할 것 같은 전공은 많기 때문에 매 학기 욕심을 낸다.

3학년 2학기도 전공으로만 6개 수강신청을 했더니 시험기간에 죽을 맛. 더군다나 올해는 패스트캠퍼스도 풀타임을 넘어 오버타임으로 다녔고, 수료 이후에는 일도 다시 시작했기 때문에 대학교 다니면서 봤던 시험 중에 체력적으로, 정신적으로 가장 힘들었다.

그래도 지하철 타는 시간, 버스 타는 시간, 퇴근 후 집에 안 오고 카페 가서 새벽까지 공부, 혹은 새벽에 일찍 일어나서 출근 전에 공부하며 나름 주어진 시간 동안 최선을 다했다. 포기하지 않고 이번 학기도 완주한 것만으로도 내 스스로를 칭찬해주기로. 다음 학기는 조금 덜 듣고 차라리 한 과목 한 과목 더 내실있게 듣는 걸 목표로 삼으려고 한다.

APM

우연찮은 기회에 웹 유지보수 포지션을 제안받았다. 그런데 들어가보니 내가 공부한 환경이나 언어와는 거의 상관이 없었다. 쉘에서 일명 APM (아파치+PHP+MySQL)을 보면서 당황한다. 이때 멘탈이 거의 가루가 되는데 ‘이것이 우분투 리눅스다’라는 책을 추천받았다. 모르는 게 생기면 구글링+그때그때 서점행에 의존했는데, 지금 보는 angular 책을 보면서 틈틈히 위 책을 보면서 기초개념부터 좀 다져야겠다. 이때 쓰기 시작한 몇몇 툴이 있는데, 나중에 블로깅해보려고 한다.

여기 있으면서 지금 느끼는 건… 삽질은 중요하다는 것이다. 단순히 내 생각인데 컴퓨터공학 학부 4년을 지나며 많은 개발자들이 삽질을 당연한 것으로 체화하고, 시간을 점점 줄여나가는 것 같다. 또 깊게는 아니어도 코드가 돌아가는 실행 환경을 셋팅해본다던가, OS에 이것저것 해본다던가 하면서 생각보다 많은 것을 배우는 것 같다.

문과 계열 공부할 때는 ‘삽질’이라는 개념이 없고, 오류가 생겨서 그 다음으로 못 넘어가는 일도 없다. 나는 그 ‘삽질’이 정말 의미없어 보이고 견디기가 힘들었고 혼자서 스스로 잘 극복하지 못했다. 이제서야 그 과정을 정말 제대로 겪는 중인데, 아직 정확히는 모르지만 ‘삽질’은 현재 내가 알지 못하는 의미를 가지고 있는 것 같다. 우선 내 짧은 생각에 첫 번째 의미는 ‘배움’이다. 에러창을 치워버리기 위해서 여러 가지를 시도해보면서 배우는 것이 많다. 나머지는 ‘개발자가 되어가는 과정’인 것 같다. 결론적으로 개발자는 결국 문제 해결을 하는 사람이라고 믿는다. 문제가 내 눈앞에서 벌어질 때 끈기있게 ‘스스로’ 해결하는 법과 마지막 답을 찾기까지 시간을 보내는 법을 몸으로 익히고 있다. 이제야 ‘삽질’을 할 때 홧병걸릴 것 같은 분노 그 이상으로 바라보게 된 것 같다.

SLiPP 스터디 시작

내가 알고 있는 한 개발자 지인은 개발을 진심으로 좋아하고 일을 하는 시간 외에도 여러 커뮤니티 활동을 하면서 즐겁게 공부한다. 나도 그런 개발자 커뮤니티가 갖고 싶어서 여기저기 기웃거리던 차에 SLiPP 스터디 공고를 보게 됐다. 나와 갭이 많이 나는 엄청난 실력자분들이 많은 것 같아서 신청한다고 해도 뽑힐 수 있을지, 뽑혀도 적응할 수 있을지 쓸데 없는 고민을 하면서 이틀 정도 시간을 보냈다. 뭐 결론은 angular 스터디를 하고 있다.

이제 시작한지 얼마 안 되어서 아직 angular라는 것이 무엇인지, CLI 설치하고, Firebase에서 배포 구경하고 있지만 혼자 할 때보다 확실히 재밌고 책임감있게 공부하게 되어서 용기내서 신청하길 잘 했다고 생각한다. 다음번 스터디때는 우선 anuglar로 무언가를 만들어보는 게 중요하다는데 모두 동의하여 todo 앱을 만들어서 배포하기로 했다. 페어프로그래밍이라서 조금 걱정되긴 하지만… 그래도 너무 기대되고, 스터디 가기 전 살아있는 것 같은 느낌이다.

누가 되지 않기 위해서 오늘은 github에 올려져있는 todo 앱을 따라해 보는 중. angular는 확실히 이것저것 들어있는 게 많아서 Vue.Js에 비해 무거운 느낌이다. TypeScript를 쓰기도 하고 백엔드 개발자 분들이 좀 더 수월하게 프론트엔드에 정착할 수 있다고 하는데 그쪽도 딱히 경험이 없는 나는…. 그냥 그러려니하고 쑥쑥 받아들일 수 있을 것 같다. 앞으로 4개월동안 충실히 참여해서 나중에는 angular로 웹서비스도 만들고 실무에도 쓰고 싶다.

2017년 하반기 목표

  1. anuglar로 앱 만들어서 github에 올리기
  2. github에 최소 주3회 공부한 코드 올리기
  3. SLiPP 스터디 무사히 완주하고, 스터디 책 완독하기
  4. 웹 서비스 만드는 곳에 가기