[ 8월 ] 정글 수료와 그 후
정글을 수료하고 어느덧 3개월이 지나가고 있다. 정글은 개발에 필요한 컴퓨터공학의 기초들을 다질 수 있어서 정말 유익한 시간이었다. 특히 PintOS 기간과 나만무 기간은 개발에 대한 심리적 장벽을 많이 낮춰줬다. 하지만 정글이 끝나고 한달간 취업 지원을 하면서 내가 아직 돈을 받고 일을 할 수 있는 수준은 아니구나라는 것을 느끼게 되었다.
정글은 기초를 다지는 데에 있어서 정말 좋다. 하지만 현장에서는 실무경험을 매우 중요하게 생각했다. 나는 경험이 부족했다. 특히 실무 면접 때 AI 없이 즉석 구현을 하면서 내가 AI에게 많이 의존하고 있다는 것을 알게 되었다. 활용할 줄만 알 뿐, 내실이 너무 부족했다. 따라서 이를 채워야 했다.
[ 9월 ~ 10월 ] 한달 간의 지원 이후
자료구조와 알고리즘
한달간의 이력서 지원기간을 끝내고 처음에는 내 전공지식이 부족한게 아닌가 생각했다. 전공지식이 없어서 구현을 못하고 있는 게 아닌가 생각했다. 그래서 처음 한달간은 자료구조와 알고리즘 자체에 집중을 했다. 자료구조와 알고리즘에 대한 지식을 채우면 컴퓨팅 사고력이 올라가서 구현력이 오를거라고 생각했기 때문이다. 하지만 아니었다. 이론들을 정리하고 하나씩 구현했어도 나의 서비스 개발에 대한 경험치는 그대로였다. 실습 없는 이론은 완전한 내 것이 아니었다. 완전한 서비스를 혼자서 만든 경험이 없었기 때문에 더욱 그랬다.
클론코딩
그다음에는 노마드코더를 통해 클론코딩을 진행했다. 그리고 아직 프론트를 할 지, 백을 할 지 결정을 못해서 우선 풀스택으로 진행하기 위해 제로초의 자바스크립트 입문 책을 사서 같이 병행해서 공부했다. 클론코딩은 정말 힘들었다. 일단 강의를 듣는 게 고역이었다. 목적성 없이 단순히 따라하는 것으로 경험을 쌓는 것이었는데 결국 완성은 했지만 스트레스는 많았다. 받아쓰기 시험을 빵점 받고 모든 줄을 10번씩 쓰는 듯한 느낌이었다.
하지만 얻는 것이 아예 없었던 것은 아니다. 카카오톡 클론코딩부터 유튜브 클론코딩까지 진행하면서 HTML, CSS, 자바스크립트, express, pug, morgan, babel도 써보게 되었고 어쨌든 이번에는 혼자서 '로컬'환경에서 동작하는 서비스는 만들 수 있게 되었다. 하지만 여전히 뭔가 부족한 느낌이었다. 개발을 체험한 느낌이었지, 직접 했다는 느낌은 들지 않았기 때문이다. 게다가 개념이 너무 부실했기 때문에 실습 없는 이론이 위험한 것처럼 이론 없는 실습도 위험하다고 생각했다.
제로초의 자바스크립트 입문
그와 반면에 제로초님의 자바스크립트 책으로 자바스크립트를 공부하는 것은 엄청 도움이 되었다. 개념을 정리하고 코드가 어떻게 작동하는 지 이해한 후에 실습을 통해 문제를 해결하는 과정은 재미가 있으면서도 머리로 생각하는 것들을 그대로 옮길 수 있는 기회가 되어서 좋았다. 하지만 자바스크립트 만으로는 실사용이 가능한 웹서비스를 구현할 수는 없었기에 경험을 더 쌓아야했다. 이렇게 10월과 11월 초까지 지나가게 되었다.
[ 11월 ~ 현재 ] 선택과 집중을 하자
마스터 요건 정리
점점 수료일로부터 멀어지면서 초반에 있던 열정은 사라지고 점점 무기력함이 찾아오기 시작했다. 하필이면 다리도 다쳐서 밖에 나갈수도 없었다. 계속 허공에 펀치를 하는 느낌이 들어서 내가 가고 싶은 회사들의 요건들을 정리를 했다. 내가 하고 싶은 것이 아니라 회사가 원하는 게 뭘까를 알아야 된다고 생각했기 때문이다.
정리를 하고 나니 해야할 것들이 정해졌다. 요건에서 내가 할 것들을 빠르게 지워나가야했다. 그런데 항상 시간이 문제였다. 이 모든 것을 빠르게 경험하기 위해서는 시간을 단축하는 것이 중요했다. 그래서 이번에는 유데미의 도움을 받기로 했다.
빠르게 실행하고 결과를 빠르게 내자
나만무 때 배운 것 딱 하나를 대라면 실행, 실행, 그리고 실행이다. 백날 고민하는 것보다 빠르게 실행하고 피드백을 받는 게 항상 이긴다. 특히 속도전에서는 더욱 그랬다. 취업 준비 기간이 이제 3개월이 되어가고 있고 난 아무리 못해도 올 해 안에 최종까지는 가보고 싶었다. 그러기 위해서는 빠르게 학습하고 결과물을 만드는 것이 중요했다. 그래서 시작기간을 기록하고 유데미 풀스택 과정을 신청을 했다.
https://www.udemy.com/course/the-complete-web-development-bootcamp/?couponCode=24T2MT111824
61시간 분량의 강의였다. 원래 목표는 1주일 안에 모든 내용을 흡수하는 것이었다. 하지만 오늘이 되어보니 그건 불가능했다. 그러나 덕분에 내가 하루에 얼마만큼 진도를 나갈 수 있는지 알게 되었다. 다리를 다친 덕분에 집에만 있어야했는데 11월 9일부터 오늘까지 내내 강의 내용을 정리하고 문제들을 다 풀고 실습도 모두 진행했다.
자바스크립트까지는 그래도 해온 경험이 있었기 때문에 빠르게 진도를 뺄 수 있었지만 프레임워크와 데이터베이스에 들어가면서부터 진도가 확 늦어지기 시작했다. 프레임워크는 약속 된 것들이 있기 때문에 개념들을 정리하고 적용하는 시간들이 필요했고 데이터베이스도 용어에 대한 이해가 있어야했기 때문에 시간이 좀 걸렸다. 그래도 이 속도라면 적어도 이번주 토요일 전까지는 진도를 확실히 다 뺄 수 있을 것 같다.
그럼 이 글을 쓰게 된 이유는?
사실 이번주부터는 내가 해야할 일을 명확하게 정하기 위해서 목표를 정하려고 쓰기 시작한 글이었다. 그러다 보니 목표에 대한 당위성을 정해야할 것 같았다. 당위성을 정하려면 그동안 내가 해왔던 것들, 앞으로 이뤄야할 것들, 그리고 다시는 하면 안될 것들을 정리를 해야한다고 생각했다.
되돌아보면 시행착오가 정말 많았던 것 같다. 무엇을 해야할 지 몰라서 일단 닥치는 대로 했더니 되돌아보면 짧아 보일 수 있는 길을 매우 해메고 다녔다. 개발이라는 것이 뭔지, 개발자는 무엇을 해야하는지, 사람들이 개발자에게 바라는 것이 뭔지에 대한 기준이 없었기 때문에 더욱 그랬던 것 같다.
그래서 기준을 잡기 위해서 이번 글을 쓰게 되었다.