5수생 개발자 2020 회고

많은 개발자들이 매년 회고를 남기는 것을 보고 나 역시 매년 스스로의 흔적을 남기고 발전하고자 늦게나마 이 글을 쓴다.

지나가는 나이 많은 비전공자들에게 1이라도 도움이 되었으면 하는 마음에서.

아무도 안 볼지라도 매년을 마무리하고 반성하고자 하는 마음에서 쓸 계획이라 첫 회고를 시작했다.

양식은 이 회고와 비슷하다. 너무 많이 읽어서이기도 하고 내가 말하고 싶은 것을 엄청 잘 설명을 한 글이기에 참고를 많이 했다.

짧게 쓰고자 했는데 점점 길어졌다.

1. 개발 입문

누구나 그렇듯이, 우여곡절이 많았다. 수능 5수를 해서 11학번으로 대학교에 입학했고, 본격적으로 졸업하기 전부터 취업 준비해서 만5년 의 오랜 시간 끝에 자리를 잡게 되었다. 31.9살에 개발 공부를 처음 시작하여, 32후반이었던 작년 2020년 10월에 스타트업에서 개발자 커리어를 시작하게 되었다.

왜 5수?

  • 재미있는 것을 찾았기 때문

학창시절 내내 게임, 운동 말고는 관심이 별로 없다가 고3 때 다들 in 서울 대학을 목표로 하는 것을 보고 따라 진지하게 공부를 해보니 너무(갑자기..) 재미가 있었던 것. 하지만 그때는 이미 수능 한달 전. 역대급으로 어려웠던 수능 수학 시간에 나는 1시간이 넘게 시간이 남아서 여유로웠다. 5번까지만 풀고 나머지는 다 찍었기 때문. 다른 과목들도 마찬가지였고 남는 시간은 생산적으로 보내고 싶어 재수계획을 세웠고, 수능을 마치고는 빨리 달려가 친구들이랑 도타를 하러 pc방에 갔다.. ???

  • 목표는 우리나라 최고대학, 현실은 지하 10층. 올라오는 데 걸린 시간 5수

    StupidBelief

    왜 5수를 했냐는 질문은 살아오면서 수백번은 들은 것 같다.(사실 보다는 어떻게). 재수를 시작했을 때는 우리나라 최고대학을 목표로 삼았다. 하지만 나는 현실도 모르는 무식한 놈이었기 때문에 매운 맛을 많이 봤다. 중학교 1학년 수학과정부터 새로 시작해 학을 뗄 정도로 공부를 했지만 의지만으로 1년만에 모든 것이 가능하다고 생각했던 멍청했던 나는 기초가 워낙 없어서 매년 실패했다. 그래도 인생의 첫 목표를 한 번 이뤄보고 싶었다. 재수학원비가 비싸서 패밀리 레스토랑, 호프집 등등 일을 하며 주경야독으로 공부를 했고, 총 5번의 수능을 본 후 마침내 과분한 대학교에 입학하게 되었다.(3수, 4수도 실패함) 전공은 개발과 전혀 관련 없는 사범대학 체육교육과였다. 운동을 좋아했기 때문. 힘든 기간이었지만 공부가 너무 재미있어서 버틸 수 있었다.(그런데 더 재미있는 것들은 널렸다).

그런데 취업은 왜 또 5수? 갑자기 개발?

학부생 때, 주변의 권유로 꽤 큰 시험을 치르기 위해 군 복학 이후로 각종 자격증, 영어 점수, 대외활동 등을 몇 년간 준비하고 공부했다. 하지만 나 자신과 미래에 대한 성찰을 깊게 하지 않은 상태에서 단순하게 번듯한 직업만을 바라봤던 나는 결국 한계에 부딪혔다. 그래서 의욕이 점점 없어져서 시험에도 여러번 떨어지게 되었다. 이때부터 몇 년간 지옥의 시간을 보냈다. 매몰비용을 생각해 기존의 시험을 완전하게 포기하지도 않은 상태에서 관심도 없는 직무의 기업 등에 지원하는 것을 병행했다(생계를 위해). 그러다가 대학원연구실, 컨설팅 RA, 인턴 등을 어둠 속에서 배회 하던 중 우연히 개발 분야를 알게 되었다. 스타트업에서 인턴하는 중 개발자 어깨너머에서 아무생각 없이 구경하다가 코드를 살짝 수정하니 웹에 보여지는 페이지가 확 달라지는 것을 보고 엄청 신기했던 적이 있었다. 저건 뭐지?. 그래서 퇴근하고 강의를 보며 html에서 내가 쓴 글씨가 에 바로 뜨는 것을 보고 엄청 신기했다. 그래서 3, 4일 동안 생활코딩강의 몇개를 보며 따라해봤는데 희열을 느꼈다. 마법처럼 빨려 들어갔다. 이거다...!

무엇보다, 내가 해온 공부들이랑 다르게 원인과 결과, 그리고 답이 너무나 깔끔하고 명확하다는 것에서 굉장한 큰 매력을 느꼈었기 때문에 나의 업으로 결정했다.(장래성 등 다른 요인들은 덤)

2. 국비지원학원

공부 방법

  • 처음에는 youtube나 인터넷 강의로 준비를 하려고 했다. 하지만 컴퓨터에 대한 지식에 전무한 나는 단순히 혼자서 어둠 같은 바닷속에서 준비하는 것이 불안하고 무서웠고 어설프더라도 어떻게든 체계화된 시스템에 던져질 필요가 있다고 생각을 했다.

국비지원학원을 선택했는가

  • 금전적인 여유가 전혀 없었다. 개인적으로 안정화된 일자리 없이 몇 년간 이것저것 준비만 했기에 후기 좋은 사설 학원(짧은 몇개월에 몇백만원…)은 도저히 엄두가 나지 않았다. 그래서 주변 국비지원교육을 받은 지인들이 몇 명 있어서 정보를 구했는데 하지만 하나같이 추천하지 않았고… 그럼에도 나는 금전적인 이유로 다른 선택지가 전혀 없어서 학원의 부족함은 나의 노력으로 채우겠다는 다짐을 했다. 나의 실수.... 만약 다시 돌아간다면 돈을 빌려서라도 시간을 아꼈어야 했다. 알면서도 그 길을 걸어온 멍청한 놈

About 국비지원학원

  • 무료라는 것 외에는 지금도 사실 장점을 모르겠다.
  • 학생들의 실력 발전이 1순위가 아니다. 고용노동부에서 요구(그리고 기존에 보고한)하는 커리큘럼 이수가 우선인 선생님은 학생들의 수준과 배려를 생각할 여유가 없으셨던 것 같다. 학생들이 제대로 배우지 못하더라도 어떻게든 꾸역꾸역 아무데나 취업만 하더라도 취업률은 올라가고, 학생들의 성취보다 고용노동부에서 점검 나와 치르는 시험점수가 더 중요한 포지션에 있으시므로 어쩔 수 없는 면이 있었던 것 같다. 그럼에도 국가에서 무료로 지원해주는 교육이므로 당시에는 눈물을 머금고(감사한 마음으로) 이수했다.
  • 실습을 많이 하는 선생님 을 선택해야 한다.(그런데 잘 찾기가 힘들다) 나는 학원에서 나이도 제일 많아 열심히 하고자 반장을 도맡아 수업 분위기를 잘 이끌고자 노력했다. 하지만 첫 한 달 가량의 수업 이후 중간에 선생님이 바뀌었는데, 사실 잘 맞지 않았다. 그 선생님을 비난하는 것은 아니지만(포지션상 어쩔 수 없는 부분도 있기에..) 폭주기관차처럼 수업만 나가시는 바람에 전공자들도 수업을 따라가기 쉽지 않았다. 하지만 6~7개월간의 기간 중 지식들이 가장 기억에 남았던 시간은 첫 한달동안 매일 하루에 1시간씩 실습이자 미니시험을 치뤘던 기억이다. 개발은 무조건 직접 만들면서 삽질을 해야 빨리 배운다. 그래서 지식을 잘 전달하는 것도 중요하지만 무엇보다 직접 실습을 많이 하게 하고 학생들의 실력 발전에 관심이 많으신 선생님을 선택해야 한다.(후기들을 잘 읽어봐야 하지만 사실 복불복인 경우가 많다..ㅠㅠ).
  • 여유가 된다면 국비지원을 선택할 이유가 전혀 없다.. 왜냐하면 돈보다 시간이 훨씬 더 중요하기 때문이다. 어설픈 학원에서 어설픈 포트폴리오와 실력으로는 괜찮은 회사에 취업을 할 수가 없고 그러면 심지어 학원 이수 이후에도 새로 포트폴리오를 쌓고 공부하는데에 있어서 또 몇 개월간 소모를 해야 한다. 우리 반에서는 심지어 절반 이상이나 학원 수료 후 몇 개월간 취업을 못했다. 그 잃어버린 시간을 생각한다면 단순히 공짜라고 해서 국비지원학원이 좋은 대안이라고는 쉽게 말하지 못하겠다. 돈이 더 들고 고생하더라도 더 좋은 대안(잘 가르치는 사설 학원, 스터디 등)을 선택해서 좋은 회사에 빨리 취업하는 것이 훠얼신 이득이라 생각한다.(경력, 월급, 실력 등의 측면에서). 빨리 취업해서 현업에서 배우는 것이 혼자 공부하는 것보다 몇배나 더 효율적이기 때문이다.
  • 참고로 국비지원 교육에 대해서는 많은 참고자료(?)들이 있지만 인프런 강의 - 뒷광고 아님 에서 말한 부분이 너무나 공감되어 링크를 남긴다. 엄청 도움이 많이 되어 신입개발자로 일하고 있으면서도 시간날 때마다 다시 종종 본다. 국비지원교육뿐 아니라 효율 좋고 올바른 준비과정을 잘 알려주므로 강추한다.

3. 개발서 목록

ExcelBookList

  • 원래 책을 좋아하는 편이다. 위의 사진은 군 전역 후부터 계속 읽어왔던 책 목록과 리스트이다. 하지만 이제는 개발 분야로 오고 나서부터는 거의 다 기술서로 바뀌었다. 아직 실력이 너무나도 부족하고 공부할 것들이 많아서 1~2년간은 기술서 위주로만 주로 읽을 생각이다. (내 같은 피래미 개발자가 다른 책들을 읽는 건 아직은 사치라고 생각한다)
  • 아래 사진은 요즘 관리하고 있는 책 목록이다. 원래는 노션페이지로 관리했으나 요즘에는 개발서적들 정리-블로그, 개발인강들 정리-블로그 에 주로 최신화하며 정리하고 있다. NotionBookList

책으로 공부하는 이유

  • 학원, 인터넷 등의 강의들도 좋지만 책으로 공부하는 가장 좋은 이유는 내가 뭘 모르는지 알 수 있다는 것 이다. 나같은 비전공자들은 뭐를 도대체 왜 공부해야되는지조차 모를 것이다. 하지만 개발서적을 통해 공부를 하게 되면 책의 목차, 그리고 서문에 해당 기술의 등장배경 등에 대해서 소상하게 알려준다. 사실 비전공자 개발자들은 자잘한 기술에 대한 설명들보다 이러한 네비게이션 같은 설명이 훨씬 중요하다. 그래야 나의 위치(바닥 중에서도 어딘가)에 대한 방향이 약간 잡히고 공부의 목적 등에 대해서 자세히 알 수 있기에 (그럼에도 초반에는 전혀 잡히지 않는다) 좀 더 집중력과 의욕이 생긴다.
  • 그래서 아래와 같이 책을 사서 공부하기 시작하는데, 기초에 대한 책을 성실히 실습하며 공부해서 마지막 페이지를 덮는 순간 성취감이 장난이 아니다. 그래서 비전공자 출신 초급 개발자들에게는 책으로 공부하는 것을 추천하고 싶다.(물론 좋은 인터넷 강의들도 병행해야 함은 당연하고 생각보다 책으로 공부하는 것을 딱딱하고 고지식하게 생각하는 사람들이 많았던 것 같아서) Bookshelf

4. 취업

  • 위에서 말한 것처럼 2020년 10월부터 스타트업에 취업해서 백엔드 서버 개발자로 일하게 되었다. 사실 학원 수료는 7월에 한 것에 비해 2~3개월 공백이 있었다. 지금도 그 시간이 너무나 아깝다.

취업과정과 늦은 이유

  • 프로젝트는 무조건 직접, 간소하게. 난 2020년 7월에 국비지원학원을 수료했는데 10월에 취업하게 되어서 빨리 한 편이 아니었다. 원래 목표는 수료하기 전에 취업하는 것이었는데 공을 제일 많이 들였던 프로젝트가 실패로 돌아가게 되어서 계획에 실패했다. 난 심지어 기존에 국비지원학원의 수많은 후기들을 많이 읽어서 프로젝트는 최대한 간소하게 해야 성공할 수 있다는 것을 알고 있었는데도 불구하고 매듭을 짓지 못해 스스로에게 크게 분노했다. 조원 중에 전공자가 있었는데 수많은 오픈소스, 모듈들을 쉽게 붙일 수 있다고 제안해서 정말 바보같이 철썩같이 믿고 있다가 결국 모두가 손을 대지 못한 상태로 프로젝트가 끝이 났다. 지금 보면 분별력 없는 실력이었던 조장인 내가 잘 리드하지 못했던 것 같아 미안하고 지금 생각해도 아쉽다.
  • 허접하더라도 직접 만든 코드들은 면접에서 당당하다. 그래서 수료 직전에 다른 동생과 부랴부랴 어설픈 게시판을 처음부터 만들었다. 원칙은 모든 것을 직접 만들기였다. 서로 같은 기술 스펙을 약속하고 조금씩 특정 기능을 구현해 오기로 약속하고 매일마다 바보들의 코드리뷰 시간을 가졌다. 하지만 이 시간이 제일 실력이 많이 늘었고 정말 재미있었다!… 그래서 포트폴리오를 어설프게나마 만들 수 있었고 면접 때 해당 프로젝트에 대한 질문들은 자신있게 대처할 수 있었다.
  • 사이드 프로젝트 하나 더. 동생이랑 하는 프로젝트를 거의 끝마칠 무렵에 AWS로 웹을 구현하는 책을 사서 한달동안 처음부터 끝까지 다 직접 구현해 보았다. 워낙 추천하는 글들을 많이 봤고 무엇보다 서버에 직접 배포하는 과정을 직접 해보니 공부가 많이 되었다.(하지만 아직도 CI, CD는 어렵다)
  • 8월말부터 서비스 개발 회사 에 집중적으로 지원을 했다. 그런데 생각보다 공고가 많지 않아서 경력직인데도 불구하고 모조리 지원하고 따로 메일까지 보냈다. 모조리 다 떨어지고 답장조차 없었지만…^^;(실패에 강한편, 실패전문가~). 서비스 개발 회사에 주로 지원한 이유는 연봉(지금 내 실력에선 어차피 거기서 거기~~), 출장근무 기피 등의 이유가 아닌 오직 성장 가능성 이었다. 자체 서비스를 직접 개발하고 배포하는 과정에서 흥미를 느끼고 그 과정에서 많이 배울 수 있을 것이라 판단하였기 때문이다. 붙은 곳 중에서는 사수분이 꼭 계셔야 한다는 생각에 시니어 분들이 더 많이 계시는 곳을 선택했다. CompanyList
  • 면접때는 그동안 관리한 깃허브, 학원에서 배운 것을 필기한 노션 페이지 등을 높게 평가했는데 그건 아래에서 설명하겠다.

5. 깃허브, 기술 블로그 그리고 기록

깃허브

  • 국비지원학원에 다니면서 학원에서 배운 것을 집에 들고가서 공부할 필요가 있었다. 처음에는 메일에 저장하다가 송수신도 귀찮아서 usb에 소스를 넣고 다녔다. 그러다가 역시나… usb를 잃어버려서 멘붕에 빠지게 되었다. 그래서 늦게나마 여러 개발자들의 회고에서 봤던 것처럼 github 저장소를 활용하기 시작했다. 학원에서 공부하던 것을 커밋한 후에 집에 가서 pull로 받은 후에 정리하여 다시 커밋 하는 과정을 계속 반복했다. GithubCommit 위 사진은 작년에 내가 커밋한 기록이다. 나는 1월 중순부터 깃허브에 커밋을 하기 시작했는데 4월쯤에 처음으로 conflict 충돌을 마주했다. 구글링을 했지만 git의 가장 기본적인 기능밖에 모르고 있었던 나는 계속 해결이 안나자…역대급 멍청한 짓을 하게 되었다. 바로 github의 Java Repository를 지운 것이다…;; 잔디의 방화범은 다름아닌 나였다. 진짜 미친놈인가.. 코드의 질이 중요하므로 잔디의 양이 중요하진 않았지만 아장아장 겨우 걷고 있는 코린이한테는 거의 재앙급 동기부여 상실이었다. Reaction 지우고 나니 1월~4월까지의 Java관련 커밋 기록이 다 날라간 것이다. 실력따위는 없었기 때문에 취업 때 오로지 성실함이라도 어필하고 싶었던 나는 다리에 힘이 풀렸다. 하지만 나의 멍청함에 대한 책임은 오로지 나의 몫이었기 때문에 멘탈을 잡고 Pro Git 2판 책을 바로 주문해서 나의 무식함을 줄이고자 노력했다.

기술 블로그

  • 다른 개발자들의 정적블로그를 보고 언제라도 만들고 싶었지만 눈 앞의 공부량에 치여 미루다가 학원이 거의 수료할 때쯤에 겨우 만들어서 시작했다. 하지만 늦게 시작한 것을 굉장히 후회한다. 왜냐하면 나는 기본적으로 정리, 기록을 하는 것을 좋아하는 기질이 강했기 때문이다. Recording
  • 위 파일들은 내가 군대에서 시작해서 여러가지 카테고리들을 저장해두고 싶어 모아둔 것이다. 8년째 일기를 쓰고 있다 그래서 마침 개발 세계에서는 기록하는 습관이 여러모로 장점이 될 수 있다는 것을 알고 굉장히 기뻐했다. 또한 예전부터 혼자만의 블로그를 갖고 싶다는 생각을 계속 해왔는데 블로그 운영 역시 개발 문화에서 흔하다는 것을 알게 되어 꼭 만들겠다는 다짐을 했다. 하지만 블로그를 늦게 만들어서 블로그에 올릴만한 공부한 것들을 올리지 못하고 개인 메모 앱에다가 정리한 것이다. 혹시나 개발공부를 처음 시작하는 이들이 있다면 메뉴얼이 잘 되어있는 tistory로 일찍 블로그 운영을 시작하기를 추천한다. 일단 시작하고 나서 하나둘씩 채워나가면서 먼 훗날 언제라도 다른 블로그 양식으로 옮기거나 해도 된다. 하지만 요즘에 tistory에서 지원하는 좋은 기능들이 워낙 많고 유명한 개발자 블로그와 같은 것들이 이미 많이 존재하기에 참고할 것들이 많아서 부족함이 없을 것 같다.

기록

  • 위에서 말한 것처럼 기술 블로그에 필기하고 싶었지만 생성과 운영을 미루는 바람에 6개월에 걸친 필기내용을 거의 다 Notion 메모장에 정리했다. 그런데 결과론적으로 이 기록의 결과는 취업준비에 매우 큰 도움이 되었다. 성격상 정리, 필기를 하는 것을 지속했을 뿐인데 면접장에서 성실함, 꾸준함, 그리고 학구적인 성향을 높이 사는 경우가 꽤 있어서 너무 감사했다.

NotionList

NotionServlet

NotionDetail

  • 위와 같이 정리한 Notion 페이지 링크들을 포트폴리오에 같이 제출했다. 체육교육 전공이지만 파이팅 넘치는 노력형 스타일인 것을 어필하고 간접적으로 증명할 수 있는 것들을 보여주니 비전공 개발자 치고 기특(?) 하게 생각한 회사들이 다행히 몇 군데 있었던 것 같다.

6. 롤모델

사실 너무 대단한 사람들이 많아서 내 수준에서 본받을 분들이 참 많지만, 그 중에서도 나의 현실(엄청 늦게 시작, 비전공자) 을 감정이입해서 따르고픈 몇몇의 사람들이 있다. 혹시 나와 같은 상황이라면 이 분들이 쓴 글과 행적을 되내이면서 많이 배웠으면 한다. 나에게는 한정수, 이종립 이 두 분이다.

  • 한정수

    • 소개하기 전에 회고시리즈들을 먼저 읽어보면 좋을 듯하다. 키워드만 몇 개 얘기하자면 비전공자, 국비지원학원 출신, 체대출신, 늦은나이 시작, 3년차에 유명 서비스 회사 입사
    • 사실 개인적으로 친분이 있지만 사적인 부분을 빼고 얘기하고자 한다. 국비지원학원 출신들 중 내가 아는 비전공자 중에서 그 누구보다 효율적인 공부와 최소한의 시행착오를 거쳐서 빠르게 성장했다. 비전공자가 성장하기 위해서 열심히 노력은 당연한 부분이기에(물론 제일 어렵지만 방법은 간단하기에 강조는 안하겠다), 무엇보다 어떻게를 정말 잘 실천한 사람이다. 물론 롤모델을 비롯해 여러 사람, 사례들을 참고해서 시행착오를 줄였겠지만 그 안에서도 굉장히 효율적으로 준비를 착실히 잘 해낸 것 같아서 계속 배우고자 한다.
    • 그 준비 방법들에 대해서 메뉴얼처럼 강의도 만들었는데 비전공자 출신 개발자뿐만 아니라 전공자 출신 개발자들 역시도 도움이 되는 부분이 굉장히 많기에 강추한다. 조금 더 일찍 그 방법들을 알았으면 시간을 더 아꼈을 수 있었지 않았을까 하는 아쉬움이 남는다. 늦게 시작했기에 시간은 더더욱 황금..
  • 이종립

    • 이 분 역시 비전공자, 국비지원학원 출신 등의 키워드를 가지고 계신 분인데 사실 나만큼 엄청 늦은 나이에 시작 이라는 점에서 누구보다 훨씬 더 몰입이 되어서 이 분의 글들을 몇번이고 정독했다.
    • 이종립님은 경이롭다. 사실 누구나 어느 정도의 완벽주의 성향을 가지고 있기는 하지만 그것을 100% 실현하는 사람은 별로 없다. 하지만 이 분은 개발분야 뿐 아니라 그 외적인 부분들 역시 본받을 점이 참 많은 분이다. 내가 만약 정말 죽어라 노력한다면 이 분을 따라갈 수 있을 것인가? 라는 질문에 빈 말로라도 확답은 잘 못하겠다. 하지만 엄청 고수의 개발자로 성장하신 것을 직접 몸소 보여주신 것 같아 이 분의 여러 글들(블로그, 트위터 등) 들 읽는 것만으로도 자극이 된다. 더더더 열심히 해야한다

7. 앞으로

  • 기초

    • 전공자들이 알고 있는 기본 중의 기본 지식들을 어서 빨리 습득해야 한다. 앞으로 나아가기도 바쁘지만 내가 놓친 것들을 빨리 체크하고 주워야 한다. 선임 개발자 분들과 얘기하다가 말도 안되는 기초를 모르고 있다는 것을 혼자 속에서 알아차릴 때 정말 얼굴이 후끈거린다.
  • 효율과 방향

    • 마냥 코박고 열심히만 하면 안된다. 지속해서 내가 옳은 방향으로 잘 가고 있는지 점검해야 한다. 롤모델 두 분은 물론이고 다른 방향으로도 계속 엔진과 나침반을 체크해야 한다.
  • 멘탈

    1. 알고보면 아무것도 아니다
    2. 안되면 될 때까지
    3. 위 2가지는 내가 자주 되내이는 말들이다. 뭐든지 잘 모를때는 다 거대해 보이고 어렵고 대단해 보인다. 하지만 막상 부딪혀 보면 다 별거 아니었던 것 같다.
    4. 비전공자라는 말은 내가 부족할 수 밖에 없는 밑밥이 아니라 채찍이 되어야 한다고 생각한다. 그리고 이런 와중에 정말 감사한 건 공부하는 것이 재미있다. 수능 5수 생활을 할 때도 공부가 재미있었는데 이런 흥미와 몰입을 느끼는건 정말 오랜만.. (너무 모르는 것이 많았던 바닥이기에 공부만 하면 점수가 올랐어서). 아직 너무 피래미라 재미있게만 느껴질 수 있겠지만(쉬운 것만 해서) 한번씩 지칠수는 있되 개발 공부에 대한 흥미는 최대한 이어가며 공부할 계획이다.

Written by@[June]
Backend Developer