대학생 ~ 취업하기까지의 회고록
프롤로그: 블로그를 시작하게 된 계기
일단, 대학교 ~ 취업에 성공하기까지 회고를 하기 앞서, 블로그를 시작한 이유는 사실 예전부터 나만의 블로그를 운영하고싶었다.
큰 이유로 첫번째는, 다른 개발자들의 블로그를 돌아다니면서 기술적인 글들을 읽으면서 실제 개발을 하는데 큰 공부가 되었고
두번째로는, 일상적인 개발자 이야기들을 읽으면서 재미를 느끼거나 내가 어떠한 방향으로 나아가야되는지 많은 도움이 됐다.
그래서 어떤 블로그를 운영할지 검색하다가 제일 마음에 들었던게 티스토리였는데 초대장이 없었던 나는 댓글로 초대장을 열심히 구걸해봤지만 돌아오는건 없었고.. 네이버 블로그는 마음에 들지 않았다.
그런 와중 깃허브 블로그를 알게 되었고 세팅하고 테마를 선택하고 마크다운 문법까지 배운다는게 너무나도 귀찮은 일이여서 미루어 두었다가 이제 드디어! 시작하게되었다!
사실 무엇보다도 친절한 블로그를 만들고 싶었다.
내가 개발하는데 있어 모르는 것을 구글링하면 대부분 많은 자료는 나오지만 ‘어떨때, 이런 오류가 나고 왜 이런것을 사용하는지’ 이해하기 쉬운 글들은 찾기 힘들었고
나 또한 어찌어찌 원하는 정보를 찾는다 해도 기록해두지 않으면 까먹기 일수다. 그래서 사람들에게 지식을 공유하되 나 스스로에게도 공부가 되는 블로그를 만들고 싶다.
※이 글은 지극히 글쓴이 경험을 바탕으로 주관적인 생각이 담긴 글입니다.
대학교 졸업반이지만 현실은…
대학교 4학년 졸업하기 직전까지 정말 나는 취업에 대한 준비가 1도 안되있었다.
신입생때부터 4학년때까지 나는 동기들보다 프로그래밍을 잘 이해하는 편이였고, 그 생각이 우물 안 개구리라는 사실을 알면서 ‘나는 잘하니깐 취업도 알아서 되겠지~’라는 안일한 생각을 가지고 있었다. (심지어 동기들은 열심히 자기소개서 쓰고 면접보러 다니는데 그 때까지 탱자탱자 술마시고 다님..)
막상 졸업은 닥쳐오는데 남들 다 있는 자격증도 1도 없었고(그 흔한 정보처리기사 조차..) 영어와도 벽을 쌓아두어서 반강제적으로(?) 졸업유예를 했다.
어떻게든 취업을 해야 할 나이인데 자기소개서 조차 쓰는 법도 모르고 원하는 회사에 지원하려면 어떻게 해야하는지 정말 아는 것이 없었다…
취업을 하기위해서 개발자로서의 자신의 강점을 찾아야 하는데 학교에서 배운 C, C++, Java 등 여러가지 프로그래밍 언어서부터 지식까지 뭐 하나 제대로 자신있는 언어도 없었고 실제로 회사에 지원을 해야 하는데 개발자 종류에도 여러가지가 있는데(서버 개발자, 보안 개발자 등…) 내가 어떤 개발자로 이력서를 넣어야하는지 감조차 잡히지 않았다.
그래도 어떻게든 취업은 해야지!
4학년 막학기를 마치고 가장 인기가 많은 JAVA를 선택해 JAVA 기본 책을 한 권 정독했다. 대학교 2학년때 교재로 쓰던 PowerJava라는 책인데 다시 스스로 공부를 해보니깐 ‘그 당시 정말 공부를 안했구나..’ 새삼 느꼈다.
그리고, 동기들 중에서 국비지원학원 이야기가 많이 거론되길래 나도 ‘지금 스펙이면 100전 100패다.’라는 생각으로 JAVA 소프트웨어 시큐어 코딩 프로그래밍이라는 강좌를 신청했다. (그 당시에 해킹에 관심이 많아 보안쪽으로 스스로 진로를 정했고 강좌명을 보고 보안 관련 강좌겠구나! 했는데 웹 프로그래밍쪽 강좌였다..)
국비지원을 다니면서 개발자로서의 능력 향상뿐만 아니라 취업에 상당한 도움이 되었다. 6개월 수업 과정이였는데 첫 1~2개월은 JAVA언어에 대한 기초와 활용, 3~4개월은 웹 프로그래밍(HTML, CSS, Javascript, JQuery, …), 나머지는 Spring Framework의 활용을 배웠고 과정동안 총 3번의 팀 프로젝트를 실시했다.
이 3번의 팀프로젝트가 포트폴리오를 작성하고 면접때 어필하는데 큰 도움이되었다. 그 뿐만 아니라 국비지원 교육과정 외에도 나 스스로 한이음 공모전을 2개 신청했는데 하나는 AhnLab 멘토님이 개설하신 모의해킹 관련 프로젝트였고, 다른 하나는 ‘나만의 스마트폰 비서’라는 주제의 어플리케이션 제작 프로젝트였다. 전자는 모르는 사람들과 팀을 이루어 진행하였고, 후자는 학교 후배들과 (당시 2학년이던..) 팀을 이루어 진행하였다.
보안 관련 프로젝트는 그 때 당시 보안쪽 진로를 염두하고 있어서 신청했지만..! 국비지원 교육과정을 들으면서 내 주력이 웹 서버 프로그래밍(JAVA)가 되어갔고 프로젝트 내에 역할도 모의 해킹서버를 제작하는 역할을 담당했고, ‘모의 해킹 게임 웹 탈출 게임’ 라는 신선한(?) 주제로 한이음 논문을 기재하는데 성공했고,
후배들과 함께한 프로젝트는 사실 프로젝트의 공모전 결과보다 나도 아는것이 없지만 후배들과 스터디하는 형식으로 가르치면서 배우자 라는 느낌으로 진행을 했고 내가 바빠서 리드를 제대로 못한 탓에 정말 공모전 결과는 없었지만 프로젝트물에 대한 결과는 포트폴리오 작성에 도움이 되었고 후배들에게 조금이나마 도움이 되었다고 생각 했기 때문에 그래도 뿌듯했다..
(후배들과 공모전을 진행하면서 속으로 부끄러운점이 많았다. 후배들은 내가 프로그래밍을 잘하는 이미지로 생각하고있는데 현실은 나도 쥐꼬리만큼 아는 지식을 많이 가르쳐 주려고했는데 스스로 부족한점이 많았다)
국비지원 학원을 수료하고나서..
4학년 막학기를 마치고 아무 것도 없었던 나와 비교해 국비지원 학원을 마치고 나서 나는 5~6개의 팀프로젝트 경험과 포트폴리오와 개발에 대한 지식, 취업에 대한 지식이라는 값진 결과를 얻었다. 수료하자마자 본격적으로 구직활동을 시작했다. 판교에있는 보안관련 A모회사 처음 쓴 자기소개서가 합격하고나서 기쁜 마음으로 첫 면접을 준비했다. 운 좋게 기술면접에 합격하고 최종 인성면접까지 갔긴했지만 탈락을 했고 큰 깨달음을 느꼈다.
당시 3대3 면접이였는데 내 주위 지원자들은 보안 관련 학과를 나와서 여러가지 보안 관련 프로젝트를 수행한 경력이 있고 나는 그저 취미로만 웹해킹을 끄적인 수준이였는데 너무나도 아는 격차가 달랐다. 그래도 어찌어찌 질문에 대한 답변을 머릿 속에서 소설을 써가며 근거없는 자신감(?)으로 대답한 결과 기술면접은 합격했지만 이 면접을 보고나서 보안쪽에는 마음을 접었다.
이외에도 여러군데 이력서를 넣었지만 포트폴리오 외 영어 성적이라던가 자격증 기타 등등 스펙에서는 아무것도 내세울 수 있었던게 없었던 나는 대기업에서 줄줄이 서류탈락의 쓴 맛을 보았고, 스펙을 보지 않고 필기시험과 알고리즘 시험등으로 지원자를 뽑는 기업들은 면접 경험의 부족이여서 그런지 항상 최종면접에서 탈락의 고배를 맛봤다. 하반기가 끝나기 전에 취업을 목표를 삼았던 나는 슬슬 위기감이 찾아왔다.
지금와서 다시 생각하지만, 억지로 쓰는 자기소개서는 죽을 맛이였다(지원 동기를 작성하라고 하는데 정말 억지로 쓰는 그 느낌..) 그 와중에 정말 재미있게 자기소개서를 썼던 것이 지금 내가 다니고 있는 회사 자기소개서였는데, 질문 항목이 ‘자신이 좋아하는 게임을 적고 이유를 서술하시오~’라는 뉘앙스의 질문이였는데 게임에 관심이 많았던 나는 정말 물흐르듯이 자기소개서를 썼지만 게임 프로그래밍쪽을 전문적으로 배우진 않아서 기대를 하지 않았다.
하지만 예상외로 자기소개서에 진심을 담아서인지 서류 통과를 하였고, 필기 시험, 기술 면접, 최종 면접까지 합격을 했다. 당시 게임 프로그래밍을 전문적으로 배우지 않았지만 모바일 게임 특성상 서버가 웹으로 되어있는 경우가 많았고 당시 제일 강점이였던 웹서버쪽을 어필 할 수 있었던 것이 합격 요인같다.
나의 잘못된 점은 무엇이였을까..?
다시 되돌아보면 대학교 때의 공부 방식과 환경뿐만 아니라 진로에 대한 생각들이 모두 잘못되었다고 나는 생각한다.
첫번째로, 공부 방식이였다. 대학교 수업은 대게 이론 수업과 실습 수업으로 나누어져 있다. 이 과정에서 나는 이론은 이론 따로, 실습은 실습 따로라는 큰 실수를 범하고 있었다.
이게 무슨 소리인가 하면, 예를 들어 대학교 수업 중 ‘네트워크 프로그래밍’이라는 과목과 네트워크 통신 관련해서 이론적인 부분을 다루는 수업(네트워크 7계층,…)이 있었다.
‘네트워크 프로그래밍’이라는 과목은 이론보다 실습 위주의 소켓 프로그래밍 과목이였는데 이론을 이해하지않고 여러가지 시행착오를 토대로 결과만 나오면 장땡(?)이라는 헛코딩을 하고 있었고, 이론위주의 과목에서는 그냥 이게 어디에 적용되는지도 모르고 구구절절 암기하는식으로 공부했었던 것 같다.
프로그래밍을 예로 들지만, 정말 함수 하나가 내부적으로 어떻게 동작하고 어떤 이론이 적용되서 이런 결과가 나오는 것이다라는 것을 알아도 될까 말까인데 정말 헛 공부를 하고 있었다.
두번째로, 분위기를 스스로 조성 못 했다. 당시 대학교 시절 내 주위에는 개발에 그렇게 흥미가 있는 친구들이 없었다.
사실 개발도 재밌어야 하기 마련이고 혼자보다 여러명이서 해야 큰 즐거움을 느끼기 마련인데 당시에 나는 주위 친구들에게 ‘이런 프로젝트 같이 할래?’ 권유를 했지만 대부분 개발에 흥미가 없어서인지 번번히 나 혼자 의욕만 넘치고 흐지부지 되는 경우가 많았다.
지금까지 여러가지 세션과 공모전, 스터디를 진행해 본 결과 혼자서 공부, 개발하는 것 보다 여러명이서 하는 것이 의욕도 배가되고 큰 자극점이 됬다.
하지만 그 당시에는 개발자 모임을 찾으려는 노력을 하지 않았고 그러면서 자연히 여러가지 경험을 못하게 되고 아쉬운점이 너무나도 많이 생겼다. 뭐가 됬든 프로젝트 경험은 많을 수록 좋은 것 같다. (특히 공모전 같은 경우 수상과 개발 경험, 팀프로젝트 경험을 함께 얻을 수 있어서 지금도 기회가 되면 도전하고 싶다.)
세번째로, 진로에 대한 나의 관심이다. 늦어도 대학교 3학년때는 내가 가고싶은 기업은 무엇이고 어떤 개발자가 될 것인지 정했어야 된다고 생각한다.
우리 회사 서버개발자 모집 공고인데 주요 기술에 어떤 기술을 갖고 있는 개발자를 원하는지 상세하게 나와있다. 회사 공고글만 보더라도 자신이 이런 개발자가 되기위해 어떤 것들을 공부해야 되는지 알 수 있는데 당시 나는 이것 저것 여러가지 공부하느라 시간낭비를 많이 했던 것 같다(물론 그 덕분에 도움이 됬던적도 있다)
끝으로..
지금도 아는것이 쥐꼬리밖에 없는 내가 이런 글을 쓰는 것 조차 낯간지럽지만 내 경험을 어느정도 공유하고 예전의 나 같이 허송세월을 보내는 사람에게 어느정도 도움이 되고자 글을 써보았다…
앞으로도 이제 신입사원의 입장에서 회사에서 배운 것들과 경험했던 것들을 이 카테고리(Diary)에 1주일당 한 번씩 일기 형식으로 커밋할 예정이다.