어쩌다 코딩

이 글은 프로그래머/소프트웨어 엔지니어가 되고 싶은데 어디서부터 시작해야 될지 모르시는 분들을 위한 글입니다.

저는 전공이 컴공이 아닙니다.

제가 프로그래밍을 정말 좋아한다는 것을 알게 된 것도 얼마 안 되지요. 무작정 사람들이 시키는 데로, 멋져 보이는 것만 보며, 저와 다른 새대에 사는 어르신 분들의 조언을 열심히 듣고 “좋은 직장”이 무엇인가를 그분들의 시대의 기준으로 받아들였었죠.

그러나 결국 “니가 좋아하는 것을 해야한다”라는 것이 진리이더군요!

대학교 들어갈 때는 이런 생각을 했었죠.

“컴터 앞에서 멋없게, 공부벌래처럼 컴퓨터와 씨름하는 것은 정말 할 짓이 못 되는 거 같아, 난 멋진 펀드매니저나, 비즈니스맨이 될거야!”

지금 생각해보면 무슨 데이터 포인트 또는 스토리를 보고 이런 생각을 하게 됐는지 모르겠습니다.

어찌 되었건 그렇게 하여 금융/회계 복수 전공으로 대학에 들어가게 되었습니다.
그러나 하다 보니 왜 그런지를 말하기보다는 그리고 더 좋은 방법이 있음에도 불구하고 편리하니까 사람들이 이미 그렇게 쓰고 있으니까 그냥 그렇게 하면 돼라는 식의 방식들이 많더군요.

예를 들어 금융학에서는 1년을 365일이 아니고 360일로 생각하여 계산하는 것이 있습니다. 그 이유는 단지! 편하니까! 이더라고요. 그래서 전 그러려니 했죠.
그렇나 저는 어느 순간부터 왜? 왜!? 왜!?!?라고 물어보고, 다른 방법이 더 좋지 않나요라고 답 없는 질문을 했죠. 그러나 결국에는 하라는 데로 하는 수밖에 없었습니다.

그렇게 몇 학기를 보내고 컴퓨터를 사용하여 통계를 내는 과정을 elective로 듣게 되었습니다. 이름 하여 R로 데이터 분석하기 였는데요. 저는 그때부터 통계학에 빠졌습니다. 정확히 말하면 R과 SAS를 쓰는 통계학이었죠.

여태껏 해온 금융학과 회계학이 아까워 버리지 못하고 복수 + 복수 전공을 하게 되었죠. 물론 금융학, 회계학 점수는 전부 B와 C를 받았지만요.

그렇게 통계학을 열심히 하다가 통계학과 경제학을 같이 하는 Econometrics라는 것을 알게 되었습니다. 역시 이전에 생각;

“컴터 앞에서 멋없게, 공부벌래처럼 컴퓨터와 씨름하는 것은 정말 할 짓이 못 되는 거 같아, 난 멋진 펀드매니저나, 비즈니스맨이 될거야!” 이 떠오르며 복수 + 복수 + 복수 전공으로 금융학/회계학/통계학/경제학 을 배우게 되었지요.

어릴 적부터 포기는 나쁜 거야! 라고 배웠는데 오히려 포기는 할 때는 빨리하는 것이 좋다는 것을 쓰잘머리 없이 많은 전공을 남들이 한가지 전공하는 시간에 끝내며 느끼게 되었습니다. 포기는 빠를수록 좋은 거라는 것을! 보통 어르신 말씀이 틀릴 때가 있다는 것을! 비싼 대가를 치르며 알게 되었습니다.

졸업을 하고 저는 제가 가야 할 길은 프로그래밍이라 생각하고 온라인으로 여기저기서 공부를 했습니다.

그러나 온라인상에서 강의를 듣고, 우리나라 정부 지원 과정을 들어도 프로그래밍 실력이 그리 빨리 늘지 않더군요. 그때는 내가 소질은 없는 건가 생각을 했지만 이제는 그게 아니라는 것을 알게 되었지요.

보통 강의식으로 가리키고, 우리나라 전형적인 모습의 선생님이 앞에서 설명하고 학생들은 알아듣는 식으로 프로그래밍을 배우면 안 된다는 것을.
프로그래밍은 무조건해야 하는 것이고, 이론보다는 무식하게 부닥쳐야 한다는 것을 알게 되었습니다.

이렇게 깨달을 수 있었던 계기는 미국의 핵리액터(Hack Reactor)라는 코딩 부트 캠프를 다니며 알게 되었지요.

우리나라에서 미국 과정을 한다는 것은 힘든 일이었습니다. 새벽 2시에 시작해 오후 1시까지 라이브로 진행되는 강의와 협업 스터디를 따라가기란 정말 힘든 일이었죠.

새벽에 너무 많은 것을 해서 그런지(아님 너무 많이 먹어서 그런지?) 구토까지 할 정도로 힘들었습니다.

이 과정을 하며 자바스크립트(JavaScript)로 할 수 있는 것들이 제가 알고 있던 거와는 완전히 다르다는 것을 알게 되었습니다. 자스로 뭘 할 수 있냐면;

  • 웹사이트
  • 사물인터넷(IoT)
  • 로봇(Robotics)
  • 가상현실(VR)
  • 신경언어 프로그래밍(Neuro-Linguistic Programming)
  • 등등 많이 있습니다

한마디로 자바스크립트로 다할 수 있다는거… 쇼크! (다 해볼 것이야!!)

저보고 JavaScript 말고 PHP 배우라 시던 분들도 있었는데, 역시 사람은 하고 싶은 거 하고 배우고 싶은 거 배우다 보면 길이 생기나 봐요!

어찌 되었든 핵리액터를 한 결과는 좋았죠! 보통 사람들이 말하는 풀스택 엔지니어로 성장할 수 있게 되었고 졸업하자마자 신입 풀스택 엔지니어로 취직했습니다. 근데 신기한 것이 3개월 뒤에 팀장이 되고 나중에 보니 그 회사 CTO와 맘먹는 수준이라는 것을 알게 되었지요.

핵리액터에서 새로운 문제 해결 방법도 배운다고 하더니, 나도 모르게 이미 많은 것을 배워놓고 있었더군요.

전 프로그래밍 하는 것이 정말 좋습니다. 지금도 배울 것들이 엄청 많다는 것도 알고 있지요. 처음에는 모르는 것이 저에게 주어지면 찹찹 했지만 이제는 어떻게 해야 하는지 찾아가며 하는 재미가 있더군요.

그리고 나서 일단 첫 직장에서 1년 찍고 배울게 없다 싶어 나오게 되었죠. 그리고 저는 교육에 관심이 많아 우리나라에도 핵리액터 처럼 좋은 코딩 부트 캠프가 있었으면 좋겠다 하여 (주)실리콘밸리 코딩이라는 코딩 부트 캠프를 시작하게 되었습니다.

핵리액터(Hack Reactor)의 강사/tech mentor 트레이닝을 빡세게 받은 후 한국에 없던 핵리액터의 시스템과 교육 방식을 그대로 가지고 온다는 생각에, 실력 있는 프로그래머들이 저희 실리콘밸리 코딩에서 탄생하고 그 프로그래머들이 평생같이 할 커뮤니티를 만든다는 생각에 심장이 빨리 뛰기 시작했죠.(지금 이 부분 쓰며 또 심쿵 하네요).

프로그래밍은 하면 할수록 할 것이 많아지고 알면 알수록 모르는 게 많아지는 것입니다. 즉, 배워도 배워도 끝이 없는 것이지요. 그렇기에 꾸준히 노력하는 사람이 진정한 고수가 되는 것입니다.

단, 무조건 무식한 방식으로 노력하면 시간 낭비입니다. 처음 시작할 때는 온라인도 좋지만 정말 시간을 단축하고 이 분야 고수가 되고 싶으시다 하시는 분은 제대로 배우시길 추천합니다. 첫 단추가 정말 중요하거든요.