7. 개발 공부 3개월 차 현재 어떻게 되었나?
개발 공부를 시작하면서 참 신기한 점은 전부 그런지는 모르겠는데 회고 문화가 있다. 사실 회고가 비단 개발자들만의 문화라기 보다는 삶을 살아가는 누구나 뒤를 돌아보며 과거를 곱씹는다. 하지만, 특정 직업에서 이런 문화가 자리잡아있다는 것은 조금 독특하긴하다. 회고라고 하면 한자어로 거창해 보이지만 그냥 내가 뭐했나 돌아보며 고칠 점 혹은 내가 잘한 점은 없었나 점검하며 미래를 준비하는 일이라고 할 수 있겠다. 물론 사람마다 그 수준과 정도의 차이는 있지만 개발을 중심에 놓고 회고를 보면 개발 프로세스에 소프트웨어 대신 사람을 넣는 것이라고 볼 수 있겠다. 마치 1차 완성한 소프트웨어가 잘 돌아가나 점검하듯 나의 1년 혹은 1개월을 점검하는 것이다. 개발자들은 모든 것을 개발 프로세스에 넣는 것보면 좀 지독한 부분이 있는 것 같다. 사람같지 않다고 할까나? 마치 개발자의 이미지를 생각하면 극한의 효율성이라는 이미지가 자리잡아 이제는 사람의 몸이 오랫동안 잘 작동하기 위해 노력한다는 점에서 개발자에게 헬스 이미지도 부분 껴있는 것 같다. 기존의 애플워치, 맥북 등의 이미지를 넘어서 말이다. 자신의 삶을 도와주는 무수한 it기기, 잘 다져진 몸, 재택 근무 등 이런 모습을 쉽게 떠올려지는 것을 보니 전 세계는 여전히 개발의 붐 속에 살아가고 있다.
개발 공부했던 내 모습을 돌아보기 앞서 서론이 좀 길었다. 지난 날을 한 마디로 정의하자면 엉망이라는 한 단어로 정의할 수 있을 것이다. 공부를 어떻게 시작해야하는지도 몰랐고 어려운 개발 지식들의 혼란스럽기도 했다. 그러다보니 정말 쉽게 좌절하고 쓰러지고 지쳐버렸다. 공부가 잘되었을리 만무하다. 나는 극한의 P로 그렇게 계획적인 사람도 아닐 뿐더러 충동적으로 공부하는 경우가 많았고 잘 안되면 답답함에 몸서리치는 쳤고 내가 좋아하는 게임과 영화으로 귀결되는 경우가 다반사였다. 지금 현재를 평가해보자면 후하게 쳐도 파이썬 기초수준 HTML, CSS 익숙 JS는 기초에서 조금 올라가는 수준인 것 같다. 왜 이랬나 고민해보면 지식이 없고 공부하는 방법도 몰라서 자연스러운 결과였다. 모르는 것이 너무 많다보니 찾아보다 하루가 끝나는 경우도 많았고 만드는 것도 없으니 흥미도 쉽게 잃어버렸다. 처음에는 유데미 강의를 들었는데 너무 많은 에러 메시지에 짜증도 엄청 났다. 개발의 변화 속도를 느끼는 경험이었는데 지속적으로 업데이트가 되다보니 강의가 그 속도를 쫒아갈 수 없었고 몇몇 기능들은 사라진지 오래였다. 그래도 돈내고 듣는 것인데도 업데이트가 안되었다는 사실에 마케팅을 공부한 입장에서는 고객 입장을 고려하지 않았다는 사실에 분노했다.
이런 어려운 기간을 2달여간을 보내고 한 가지 결심을 했다. 그냥 나에게 최적화된 강의나 프로그램에 더 적극적으로 돈을 쓰기로 했다. 물론 강의를 사는데 돈을 쓰긴했지만 게임처럼 적극적인 현질의 도움을 받아야겠다는 생각을 했다. 그냥 유튜브나 오래된 강의로 하기에는 뭔가 하나의 일관성, 학습의 줄기를 만들기 힘들었다. 아직까지는 유튜브로 뭔가 딥하게 배운다는 것은 어려운 시대가 아닌가 싶다. 그 이유는 콘텐츠의 자체의 문제라기 보다는 해당 지식을 찾는 것이 어렵고 개개인마다 같은 주제를 찾더라도 관점의 차이가 너무나 다르기 때문에 그 지점을 만족시켜줄 만큼 큐레이션이 고도화되지 않았다. 찾더라도 중심 줄기없이 파편화된 지식을 통합할 능력이 나에겐 없었다. 그러다보니 자주 중심을 잃었고 이거저거 찍어먹어보기 바빴다. 이러기 보다 차라리 돈을 써서 좀 더 나에게 맞춰줄 만한 강의를 찾았고 그래서 노마드 코더를 보게되었다. 이 강의는 클론 코딩을 내세우며 개발 입문을 돕는데, 뭔가 만들어볼 수 있다는 것과 무엇보다도 내가 모르는 부분을 물어보면 빠르게 강의 선생님에게서 피드백이 온다는 것에 끌렸다. 그리고 하나 강의 프로세스를 따라가는 것에 좀 더 안정적으로 공부할 수 있어서 좋았다. 여기서 배운 것들을 내재화한다면 충분히 내 것을 만들어 볼 수 있겠다는 확신이 들었다. 돈을 드려 값비싼 비계를 세운다는 느낌이었고 여기서 타입스크립트까지 정복하기로 마음을 먹었다.
이제 앞으로 공부를 어떻게 해야할지 대략 윤곽이 그려진다. 현재 내가 4월에 해야할 것을 나열해보면 리액트, 정처기, 프로그래머스 & 백준 문제 풀이, Deep Dive로 자바스크립트 이해도 높이기, 스터디 정도 있을 것 같은데 하나씩 세부적으로 살펴보겠다.
(1) 리액트
리액트는 2개의 강의가 있는데 4월에는 이 두가지 강의 내용을 내 것으로 만드는 시간이 될 것이다. 현재 4월은 3주 정도 남았는데 첫 주는 기초 강의를 듣고 그 다음주는 심화 과정을 듣고 그 다음주는 혼자 만들어보는 시간으로 계획을 세웠다. 심화 과정 챌린지 프로그램을 저번주에 시작했는데 하다가 중도 포기했다. 다른 챌린지 프로그램에서 생각보다 할 것들이 많았는데 예상하지 못해 계획을 잘못 세웠고 배울 개념들이 많아서 미션으로 주어진 것들을 만들엄두를 못냈다. 작성은 간편해졌지만 왜 쉬운지도 알아야했기에 이해의 시간이 필요했고 결과적으로 아쉬운 판단이었다. 어떻게든 이악물고 해보려했으나 몸과 머리가 따라주지 않았다. 4월에 잘 체득하여 프로젝트에서 잘 활용할 수 있기를 기대한다.
(2) 정보처리기사
정처기 일정은 4월 17일~ 4월 20일 필기 등록 기간이며 5월 13일부터 6월 4일 필기 시험 기간이다. 참 정처기 필요유무를 찾아보는데 보는데는 말들이 많다. 누군가는 필요가 없다. 누군가는 필수이다. 극명하게 갈리는데 어떤 환경에 놓여있는가 때문에 다른 것같다. 필요한 회사나 환경에 놓인 사람은 없어선 안될 자격증으로 여기고 필요없는 회사나 환경에 있던 사람은 필요성을 전혀 느끼지 못한다. 나럼 나는? 이라는 질문을 던졌을 때는 확신은 아니지만 필요하다는 쪽으로 기울었다. 회사가 나를 볼 때 어떻게 판단할까가 기준이 되어 보면 정처기는 +가 되지 -가 되지 않을 것이라고 본다. 전공자만큼 cs지식을 갖고 있다는 의미이기도 하고 커뮤니케이션 측면에서 도움이 될 것이라는 생각이 들었다. 한 분야의 도메인 지식은 아주 중요하다는 것을 게임사를 다니면서 느끼게 되었는데 개발이 어떤 프로세스에서 이루어지는 아는 것은 큰 그림을 보는데 중요한 포인트이기 때문이다. 이 부분은 사실 전공자와 회사 입장에서는 당연한 이야기지만 비전공자에게는 인지조차 못하는 빈 곳이 너무 많아 그들에게 당연하지 않는 부분이 많다. 또 한가지 고려할 점은 시간인데 한 번 쭉 훝어보니 엄청 많은 시간을 투자할 필요는 없다고 생각이 든다. 자격증 공부는 SQLD, ADsP에서 해봤고 데이터베이스, 프로그래밍 언어 부분은 이미 알고 있는 부분이 많아 매일 2시간여 정도 투자해서 승부를 보기로 했다. 또 다른 이유를 붙이자면 왠 종일 컴퓨터 앞에만 앉아만 있는데 도서관까지 걸어가는 약간의 운동의 시간을 주고 주구장창 코드만 보다가 글도 읽어주며 리프레시의 의미도 있다. 진짜 공부를 시작하고 밖에 안나가고 방 안에 틀어박혀 있다보니 이 건 아니다 싶었다.
(3) Coding Test
개발자로 취업하는 건 참 어렵다. 코딩 테스트라는 또 다른 관문이 있다. 물론 문과에도 인적성이 있지만 (개인적으로 인적성을 왜 보는지 모르겠음) 업무와 연관성이 코테만큼 있어보이지 않는다. 나에게는 부트캠프를 듣기 위한 이유도 있는데 이제는 학원도 시험을 보고 들어간다니 세상이 미친 것 같다. 나는 학창 시절 수학을 좋아했어서 수학 문제 푸는 느낌에 코딩 문제를 보는 것은 즐겁지만 막상 안풀리면 진짜 너무 답답하다. 아직 0~2레벨에 헤매이고 있는데 이번 프로그래머스 부트캠프에서 이 정도 수준으로 코딩 테스트가 예정되어있다. 23일이 마감이라 4월은 매일 5문제 정도 풀고 정리를 반복할 예정이다. 생각보다 모르는 함수들도 많고 아직 알고리즘과 자료구조를 공부하지 않은 상태라 힘든 싸움이 예정된다. 시간을 충분히 들여야 할 것이고 마음 같아서는 알고리즘&자료구조 강의를 듣고 싶은데 시간이 허락될 지 모르겠다. 나중에 기업에 들어갈 때면 강의를 듣고 코테 준비를 더 하게 될 것인데 일단 지금은 문제에서 나오는 개념들을 잘 정리하고 익숙해지는데 주안점을 두어야할 것이다.
(4) Deep Dive로 자바스크립트 이해도 높이기
프론트엔드 개발자가 되기 위해서는 자바스크립트에 대한 이해도가 높아야하는데 Promise라든가, this라든가...... 특히 Promise는 여러번 들어도 아직 잘 모르겠다. 특히 아직 왜 필요한 것인지 이해를 못해서 나에게 제1의 과제이다. 그 외에도 이 전에 말한 비전공자의 빈칸을 좀 메꾸는데 필요한 과정이다. 면접에서도 자바스크립트의 이해도에 대해 많이 묻는다고 해서 이 책을 완독하는 것은 면접 준비에도 도움이 될 것 같다. (면접에서 많이 묻는 이유는 물어볼게 자바스크립트 밖에 없어서 그렇다고 한다...) 이 책을 사놓은지는 시간이 좀 지났는데 이 전 시간 관리 문제로 스케줄이 나오지 않았다. 이번 기회에 매주 일요일 아침에 카페에서 파트를 나눠 읽어나가며 정리할 예정이다.
(5) 노마드 코더 10주 스터디
이제는 취업에는 커뮤니티 활동도 필요하다. 이런 말을 하면 할수록 취업이 진짜 힘들어졌다는 생각이 든다. 해야될게 뭐이리도 많은지 같이 정보와 지식도 나누면서 학습에 대한 어느정도의 강제성이 부여하게 될 것이다. 이 정도 이유도 시작하게 되었는데 그 이상의 이유를 만들어야 얻을 수 있는 것이 많을 것이다.
공부를 시작하면서 과거의 나를 되돌아보게 되었다. 나는 뭔가 잘 안되면 무관심으로 일관 했다. 이렇다보니 호기심이 많아 새로운 지식을 늘 반가워했지만 그 것을 내 것으로 만드는 일은 생각보다 어렵다는 것은 몰랐다. 늘 조금 공부해보고 어려우면 쉽게 포기했던 것 같다. 하지만, 무엇을 공부하면서 정체되고 과도기의 기간이 있고 그 것을 넘어설 때 비로소 내 것이 된다는 것을 깨달았다.
카페에 2시간 내내 앉아서 글만 썼더니 몸이 근질 거린다. 스타벅스에도 사람이 어느새 그득 찼다. 어서 집으로 피신해야겠다.