8 minute read

Week01 에세이 과제

지난 과거에 대한 성찰

나는 어려서부터 문제해결을 좋아하는 사람이었다. 예를들면, 초등학생 때 집에 있던 컴퓨터가 부팅할때 에러가 자꾸 나는 것이었다. 그래서 다음, 네이버에서 검색을 해서 해결한적이 있다. 카메라가 고장났다? 검색을 했다. 기종, 에러 내용, 에러 상황. 한국어로 검색하면 안나오는 경우가 많아서 영어로 검색했다. 그리고 나오는 내용을 토대로 이것도 해보고, 저 버튼도 눌러보고, 껏다 켜보고 하는 식으로 문제를 해결한 적도 있다.

대학졸업 후, 물류 회사에서 4년 반 정도 근무를 하였다. 굉장히 업무 강도가 높은 회사였기 때문에 몸이 안좋아져서 퇴사하게 되었다. 퇴사를 한 뒤에 쉬면서 몸과 마음을 회복했고, 물류회사를 다니면서 꿈꿔왔던 개발에 대한 공부를 시작했다.

개발을 왜 공부하고싶었냐면, 물류 회사에서 엑셀을 사용해서 업무했을 때에 매크로를 사용해서 프로그램을 돌린적이 있었다. 그때 내가 만들었던 매크로가 수행하는 일은 원하는 값을 뺴내서, 가공하는 일이었다. 내가 수작업으로 했다면 2시간정도..? 걸릴 예정이었고 값이 정확한지 재확인도 필요한 상황이었다. 매크로를 돌리니 그 작업은 단 몇분만에 끝이났고 같은 부서의 사람들에게 전달하니 업무시간이 엄청 단축되었다며 기뻐했다. 그것이 내가 개발자로써(엑셀 매크로긴 했지만) 기쁨을 느낀 첫 순간이었다. 편리함. 그리고 시간단축. 신세계였다. 여태 수기로 엑셀작업 한 시간이 아깝다는 생각과 동시에, 이거 잘배우면 업무가 엄청 빨리 끝나겠는걸 싶었다. 그래서 개발공부를 하게 되었다. 처음엔 독학으로 했다. coursera 라는 사이트에서 Programming for everybody 강의를 수강했다. 일단 컴퓨터에 파이썬을 설치하는것부터 두근거렸다. 공부를 하면서 독학에 대한 한계를 느꼈다. 모르는 개념이 생겼을때도 있었고, 그래서 이걸 배워서 어떻게 써야한단 말인가? 라는 의구심이 들었다.

그래서 부트캠프에 들어갔다. 당시 코로나가 심한 상황이라, 100% 온라인 코스로 진행되는 부트캠프를 찾았다. 20주 자바스크립트 기반의 풀스택 과정이었다. 이게 맞나? 이렇게 해서 넘어가는게 맞나? 기능만 되면 우선일까? 등등의 의구심이 계속 들었지만, 포기하지않고 끝까지 도전했다. 그리고 수료후 첫 회사에 입사 하게 되었다. 한진관광 si 업체였고, 회사와 한진관광 계약이 만료되고, 다음 계약건을 성사하지 못해 회사가 문을 닫게 되었다. 그 뒤로 두 개의 회사를 더 다녔는데 회사 분위기나 정서가 굉장히 맞지 않았고, 결정적으로 회사의 성장성에 의구심을 갖게 되어 그만 두었다. 그만 둔뒤에 이러한 생각이 들었다. 이대로 계속 개발자로 먹고살 수 있을까? 왜냐면 코드를 짜면서, 내가 정말 이걸 이해하고 짜는게 맞나? 싶었다. 경력은 조금이나마 쌓였지만, 실력이 늘었는지에 대한 의구심이 들었다. 기능 구현은 하지만, 내가 짠 코드를 이해하고 짜는게 맞나? 그 생각은 다른 사람의 코드를 봤을 때 더 나를 괴롭혔다. 나는 부족해. 개발자로서 한참 부족한 사람이다. 이대로 또 취업전선에 뛰어든다면 개발자로 오래 근무하기는 어려울것이라 판단했다. 왜 부족할까 에대해서 생각을 해봤다.

내가 개발자로 부족한 이유

  1. 용어 공부에 최선을 다하지 않았다. 예를들어서 세션과 토큰, 쿠키의 개념에 대해서 누군가가 나에게 설명해보라고 한다면, 나는 검색해서 나오는 정도의 개념만 말할 수 있을 것이다. 어떤 개념에 대해서 깊게 알지 못한다. 중학교 3학년 학생에게 설명하라고 한다면 그 중학생은 내 설명을 이해하지 못할것이다.
  2. 내가 알아야 하는 개념을 내가 골라잡았다. 이정도는 알아야지, 혹은 이건 몰라도돼~ 라는 생각을 은연중에 했던것 같고, 그 기준은 매번 달라졌었다. 공부를 해야하는 대상에 대해서 내가 스스로 생각하고 판단했다.
  3. 일단 기능이 되면 안도하고 넘어갔다. 그냥 랜덤게임 하는것처럼 검색해서 나오는 코드를 내 코드에 붙여서 기능이 되면 된다!!!라고 생각하고 그냥 넘어갔다. 왜 아까는 안됐고 지금은 되는지 이해를 해야 다음에 비슷한 상황이 발생하면 더 현명하게 해결할 수 있었을텐데.. 이 부분이 제일 아쉽다. 물론 시간이 부족해서 그랬을 수도 있지만, 내 시간을 더 내서라도 이해하고, 배우고, 공부하고 넘어가야 했던 부분이 분명 있었을거라 생각한다.
  4. 기초가 부족하다. 어떤 개념에 대해서 잘 설명하지 못한다. 그냥 겉핥기 정도의 수준만 가지고 있다. 하지만 그 기초가 없으면 좋은 코드를 쓰지 못한다는 것을 알고 있다.

5개월 동안 어떤 것을 얻어가고 싶은지

  1. 깊게 공부하는 습관. 하나만 아는게 아니라 그개념이 연결된 시스템을 알고 싶다. 또 예를들면 ssr,csr 에 대해서 공부한다 → 브라우저의 렌더링 원리까지 이해하고싶다 + 프레임워크를 사용한다면 그것의 렌더링 원리까지.
  2. 몰입할 수 있는 능력. 컴퓨터 앞에 앉으면 모니터 앞에 있는 것에만 집중하기. 이걸 왜 알아야 할까 ? 이게 내 취업에 도움이 될까 ? 라는 쓸데없는 생각은 하지말고 그냥 내 머리에 집에넣고 내것으로 만드는 것에 집중하고 싶다.
  3. 공부하는 방법 취득. 어떠한 프레임워크를 안다고 해서 개발자로 오래 살아남긴 힘들것 같다. 계속 유용한 프레임워크는 변경되니까 그때마다 새로운 기술을 배울 수 있는 능력을 갖고싶다. 빨리 내것으로 만드는 능력을 갖고싶다.

어떤 자세로 임하고 싶은지

지난날의 나에 대해서 반성하면서 정글을 헤쳐나가는 5개월 동안 아래의 내용은 꼭 지켜서 성장하고 싶다.

  1. 내가 정글에서 공부하면서 만나는 개념은 모두 내가 잘 알아야 하는 내용이다. 이건 프론트는 몰라도돼~ 이건 웹개발 하는사람은 몰라도 돼~ 하는 식으로 개념을 골라잡지 않고 모든 내용을 내가 가진 최선의 시간을 투자해서 깊고 넓게 알기 위해 노력할것이다.
  2. 할수있는게 열심히 하는거밖에 없다. 잠은 6~7시간 자고, 하루에 한시간은 무조건 체력단련실에 갈것이다. 한시간은 씻고, 얼굴에 화장품 바르고, 명상하는 시간. 나머지 시간은 무조건 강의동 내 컴퓨터 앞에서 시간을 보낼것이다. 죽이되든 밥이되든 컴퓨터 앞에 앉아있을 것이다. 개념 한글자라도 코드 한줄이라도 내머리속에 넣으려고 할것이다.
  3. 하루를 충실하게 보낼것이다. 하루가 쌓여서 일주일이 되고 일주일이 쌓여서 한달이 되고, 한달이 쌓여서 5개월의 과정을 만들것이다. 그려러면 우선 오늘 하루가 만족스러워야 할것이다. 오늘 하루 최선을 다했나? 그럼 후회가 없을것이다. 그러한 하루를 구성해나가고 싶다.
  4. 할까말까 고민할 시간에 일단 하자. 공부할까말까 ? 하자. 검색해볼까 말까 ? 하자. 코드를 치는 버릇을 가지고 싶다. 개념만 봐서는 참 다 아는것 같지만 막상 코드를 쳐보면 그렇지 않다. 내가 친 코드만이 내것이다.

정글이 끝난 후 나의 모습

일단 이 ‘나는 부족하고 잘 모르는 개발자다 ‘ 라는 자기성찰에서 벗어나고 싶다. 스스로가 코드를 잘 치지 못하는 개발자라고 생각했다. 근데 week00에 2명인 조에 속해서 미니 프로젝트를 진행했는데, 같은 팀원이신 분이 웹에 대한 이해가 부족해서 프로젝트의 대부분의 코드를 내가 쳐야되는 상황이 왔다. 그때 정말 누가 칼들고 쫓아온것처럼 급하게 기능구현을 했는데 내가 생각한대로 딱딱 기능을 하는것이 아닌가…? 아, 내가 코드를 못치진 않구나. 내가 원하는 기능은 내가 스스로 구현할 수 있구나. 라는 약간의 자신감을 얻었다. 거기서 더 나아가고 싶다. 기능 구현만 잘하는게 아니라, 클린코드를 작성할 수 있는 개발자, 내가 쓴 코드에 대한 시스템을 이해하고 있는 개발자. 그리고 내 스스로에 대한 한계를 규정짓지 않는 개발자가 되는것이 내 목표이다.

Updated:

Leave a comment