평범한 4년제 전자공학과에 다녔다. 나는 공대를 다니면서 하드웨어와 소프트웨어를 둘 다 만져볼 수 있는 기회가 있었는데, 처음으로 접하게 된 프로그래밍 언어는 C언어였다. 대학교 1학년 때 수업이었는데, 그때는 처음 보는 컴퓨터 언어에 굉장히 생소했었고, 흥미도 없었다. 그 때문에 1학년 1학기, 2학기에 배웠던 C언어 과목 학점을 완전히 말아 먹었다.
1학년이 지나고 군대를 가기 전에 나의 담당 교수님께 가서 "군대에서 시간이 남는다면 어떤 공부를 하는 게 저에게 도움이 될까요?" 하고 물었을 때 교수님은 나에게 C언어를 공부하라고 말씀해 주셨다.
담당 교수님이 C언어를 가르켜주신 교수님이어서 그런 것일수도 있지만 지금 현재는 그 교수님께 정말 감사하다.
나는 그래서 병장일때 동네 서점에서 C언어 책을 하나 사서 밤에 연등 시간이나 당직을 서게 되면 그 책을 뭔지도 모르고 노트에 하나하나 적으면서 이해해보려고 했었다. 내가 기억하기로 그때 군대에서 C언어의 함수까지 했었던 것으로 기억한다. 3분의 2정도 되는 분량이었던거 같다.
전역한 후 2학년이 되었을 때 알고리즘 수업이 있었는데, 2시간이었던 알고리즘 수업 시간마다 코딩에 몰입을 했었다. 평소 어떤 일에 오랫동안 열중하기가 어려웠었는데, 코딩을 할 때만큼은 정말 나만의 zone에 빠진 것만 같은 느낌이 들었다. 군대에서 혼자 손으로 그려갔던 코드들이 콘솔에 나오는 모습에 정말 기분이 좋았었다.
그렇게 코딩이 나를 흥미롭게 한다는 사실을 알고난 후, 프로그래밍 언어를 사용하는 직업에 대해서 궁금증이 생기기 시작했었다.
그리고 1학년 때 말아먹은 C언어와 객체지향프로그래밍 수업을 재수강했다
친구들도 그 당시에 내가 신기했었나보다. 하드웨어가 중점이 되는 우리 과에서 소프트웨어가 재미있다고 떠벌리고 다녔던 건 나뿐이었다.
그렇게 막연하게 코딩이 좋아서 개발자라는 꿈을 가지게 되었다.
개발자가 되고싶다고 생각한 후에는 대학교 졸업 작품을 만들게 되었는데, 이 때 스마트 무드등을 만들었었다. 나는 친구들이 만든 무드등을 C언어로 제어하는 역할을 맡았었고, 처음으로 코딩으로 알고리즘이 아닌 실제로 움직이는 무언가를 만들어 보았던 것 같다.
나는 C언어를 사용하여 아두이노 LED를 제어했었고, 이 결과물로 캡스톤 경진대회에서 우수상을 받았었다. 그리고 이 때 삼성교육센터인 SSAFY에 지원도 했었는데, 시원하게 떨어졌다.
유튜브를 보면 수많은 사람들이 개발자가 되는데, 독학으로도 충분하다는 말에 처음엔 앱, 웹, 이러한 것들에 대한 개념도 모르고, 생활코딩에서 HTML, CSS, JAVA를 공부했다. 정말 그 때는 JAVA가 짱인줄 알았다. JAVA가 안좋다는 건 아니다.
처음에는 동네 친구가 국비지원 학원을 수료하고 취업을 하는 모습을 보고, 나도 저렇게 졸업 후에 국비지원 학원을 수료하고 개발자가 되어야겠다고 다짐했다. 졸업을 앞두고 여러 국비지원 학원을 검색해보았는데, 너무나도 안 좋은 이야기들만 눈에 들어왔다.
무언가 하기 전에 돌다리도 한번 더 두드려보고 가는 성격인 나에게 이러한 국비지원에 대한 악플들은 국비지원으로 향하는 발걸음을 점점 멀어지게 했던 것 같다.
그렇게 여러가지를 찾아본 결과, 부트캠프라는 시스템을 알게 되었고, 나는 이것저것 많은 것을 고려해 보았었다.
- 기간
- 기술 스택
- 부트캠프 가격
- 수료자 평균 연봉
부트캠프를 수료하는데 드는 기간은 솔직히 중요하지 않았다. 왜냐하면 애초에 국비지원갈 생각에 6개월은 생각 했었는데, 대부분의 부트캠프들이 6개월 이내였다.
중요한건 "언제 시작할 수 있냐" 였다. 졸업 후 시간이 붕 뜨는 것을 볼 수 없었기 때문이다.
이 부트캠프에서 내가 주체성을 가지고 기술을 선택할 수 있느냐에 대한 생각을 했었던 것 같다. 그 때에는 솔직히 어떤 기술이 있는지도 잘 몰랐지만, 여러 부트캠프들을 비교하면서 대략적인 흐름을 알아갔던 것 같다.
부트캠프들의 가격은 정말 많이 비싸다. 그렇기에 가격을 고려하지 않을 수가 없었다. 사실 부트캠프의 가격은 어떤 부트캠프를 고르냐의 척도가 되기 보다는 내가 과연 부트캠프를 갔을 때, 국비지원이나 독학보다 좋은 아웃풋을 낼 수 있는지가 가장 중요했다.
부트캠프의 아웃풋과 직결되는 문제가 수료자들의 평균 연봉이나 취업률이라고 생각했다. 또한 현실적인 궁금증을 가장 잘 해소 시켜주었던 것이 수료자들의 평균 연봉 수치였다.
기간은 신청 후 1개월 정도 기다렸었고, 백엔드와 프론트엔드 사이에서 고민할 수 있었다. 또한 수료자들의 취업률과 평균 연봉이 마음에 들었다.
무엇보다 수강신청을 한 첫날에 부트캠프에서 면담을 받았었는데, 이 때 위워크의 시설이 정말 마음에 들었고, 상담을 담당해주셨던 멘토님이 너무 친절하게 궁금했던 것들을 해소시켜주셔서 좋았던 것 같다.
부트캠프에 처음 왔을 때 놀랐던 것은, 모두가 정말정말정말!! 열심히 한다는 점이었다.
10시부터 19시까지가 정규 시간이지만 대부분의 사람들이 19시에 가지 않는다.
그리고 주말에도 거의 대부분 나왔다.
이러한 학습열정으로 인해서 자연스럽게 공부 분위기가 형성 되었던 것 같다.
나도 3주차 정도 부터는 거의 항상 막차를 타고 집으로 귀가했었다.
또한 함께 있는 멘토님들도 옆에서 정말 많이 도와주신다. 멘토님들도 물론 거의 항상 7시 이후까지 남아있었고, 특히나 프로젝트 전날 같은 경우에는 새벽까지도 남아계셨다.
이런 멘토님들을 보면서, 아무리 교육과 코딩에 열정이 있어도 본인의 여가 시간을 포기하면서까지 도움을 주기가 쉽지 않았을텐데, 정말 고마움을 많이 느꼈다.
휴학을 1년하면서, 자연스럽게 한학번 낮은 친구들과 2학년부터 생활을 했었다.
1년 먼저 졸업하는 친구들을 보면서, 무언가 뒤쳐진다는 기분이 들었었는데, 이 곳에서 만난 많은 동기님들은 사회에서 여러가지 경험을 겪은 후 개발자가 되기위해서 오신 분들이 대부분이었다.
나와 같이 졸업하고 바로 온 사람들은 그렇게 많지 않았다. 그런 분들을 보면서 친구들에 비해 1년 뒤쳐져서 조바심을 냈던 나 스스로가 부끄러웠다.
부트캠프에서 공부하면서 정말 내가 이걸 구현해 낼 수 있을까? 라고 고민하고, 또 마음처럼 되지 않아서 힘들었던 순간들이 많았다. 가장 힘들었었을 때가 처음 장고를 배웠을 때였는데, 로그인 기능과 댓글 기능을 구현해보는 것이었다.
거의 장고에 개념을 잡는데에만 1주일이라는 시간이 걸렸었는데, 그 때 주변 사람들한테 힘든티를 좀 많이 내서 부끄럽다. 내가 그 당시에 멘토님께 "진짜 아무것도 모르겠는데 이렇게 뚫어져라 쳐다보면 혹시 마법처럼 다 알게 될까요?" 라고 물어봤었다. 근데 멘토님이 웃으면서 "마법처럼 다 알게되는건 없어요" 라고 했다. ㅋㅋㅋㅋ
그런데 일주일동안 정말 뚫어져라 쳐다보고 그냥 뭔지 모르겠지만 계속 이해하려고 생각하다 보니까 어느 순간 장고쉘에서 ORM을 자연스럽게 쓰고 있는 나를 발견하게 되었다.
지금도 어떻게 내가 장고가 익숙해졌는지 신기할 때가 있다. 하지만 내가 마법처럼 알게 된다고 한건 정말 마법이 아니라 뚫어져라 쳐다보고 생각을 많이해서 그렇게 된 것 같다.
그 이후에 API들을 구현하면서 벽에 부딪힐 때 마다 장고를 처음 접하고 아무것도 할 수 없었던 일주일을 생각했다.
커뮤니케이션의 중요성을 정말 많이 배웠다. 개발은 협업인데, 소통이 잘 되지 않으면 정말 많이 힘들었다.
3번의 프로젝트를 진행하면서, 정말 많은 프로젝트 팀들이 형성 되었다.
누가 보아도 화목한 팀들이 있었고, 누가 보아도 힘든 팀도 있었다.
이렇게 팀을 두가지로 양분하는 대표적인 문제점이 소통의 문제였는데, 그로 인해서 커뮤니케이션의 중요성을 너무나도 많이 깨달았다.
개발은 절대로 혼자하는 일이 아니기 때문에 언제나 커뮤니케이션이라는 스킬을 중요시 해야겠다고 마음먹었다.
첫 세션에서 이런말을 들었던 것 같다.
개발자는 정말 커뮤니티가 크고 서로의 지식을 알려주기위해 노력한다고, 그렇기에 개발이 이렇게 급속도로 성장할 수 있었던 거라고 말이다.
이러한 말에 너무나도 동감한다. 정말 주변에 좋은 동기분들에게 도움을 받은적이 너무많다. 모르는 문제에 막혔을 때 옆에서 도와주고 힘들 때 같이 으쌰으쌰 해주던 동기분들께 너무나도 감사하다.
지금도 수료를 했지만 바로 동료들과 함께 토이프로젝트를 시작했다. 지금까지 만난 동기들, 개발자들, 그리고 앞으로 만날 수많은 현업에 있는 개발자들과도 좋은 커뮤니티를 형성하기 위해 노력해야겠다고 느꼈다.
개발은 공부의 연속이기 때문에 새로운 것을 두려워하면 안된다고 생각한다.
새로운 기술들에서 재미를 찾고 항상 호기심을 잊지 않도록 노력해야겠다고 느꼈다.
12주라는 적은 기간동안 정말 많은 양의 "새로운 것" 에 대해서 공부했는데, 12주동안 잘 이겨낸 것 처럼 앞으로 배울 많은 새로운 것들을 두려워하지 않을 것이다.
나는 부트캠프에서 3번의 프로젝트를 진행했다.
첫 프로젝트였는데, 프론트엔드 3명, 백엔드 2명으로 개발을 시작했고 2주일이 걸렸다.
첫 프로젝트였기에 무엇을 어떻게 만드는지조차 많이 어려웠던 것 같다.
초기세팅을 시작으로 모델링, 크롤링, 데이터베이스 구축, API 개발 심지어 프론트 엔드와 개발한 API를 붙이는 것 까지 쉬운일이 단 하나도 없었던 것 같다.
이 때 개발했던 대부분의 API들이 지금 다시보면 GET VIEW 여서 데이터베이스에 넣어놓은 상품의 상세정보를 보여주는 것이 불과했지만, 이렇게 개발을 한다는 것 자체가 생소 했기 때문에 많은 벽에 부딪혔던 것 같다.
이 프로젝트로 인해서 다음 2차프로젝트에 있어서 어떻게 개발이 진행되는지에 대한 전체적인 그림을 그릴 수 있었던 것 같다.
그리고 처음에 모델링이 정말 어렵다고 느껴서 주말에 따로 강의까지 들었었는데, 전체적인 그림을 알게 되니까 모델링을 함에 있어도 숙련도가 늘어났었던 것 같다.
그리고 나의 API가 처음으로 화면 앞단에 보였을 때의 기분은 정말 잊지 못한다.
두번째 프로젝트로 알약사이트인 필리를 클론했다. 프론트엔드 3명 백엔드 3명으로 개발을 했다.
마찬가지로 2주일이라는 시간이 걸렸다.
두번째 프로젝트에서 내가 맡았던 부분은 설문조사 부분이었는데, 사용자의 대답에 따라서 다음 질문이 동적으로 나와야 했다.
또한 모든 설문조사가 끝났을 때에는 사용자의 설문조사를 분석하여 사용자에게 알약을 추천해주어야 했는데, 설문조사 API를 만드는데 시간을 가장 많이 썼다.
이 때까지도 아직 장고에 그렇게 익숙하다는 느낌이 없었기에, 프론트엔드쪽이 원하는 데이터를 프론트에게 주고 받는 방법에 있어서도 많이 고민했었고, 설문조사의 알고리즘에 대해서 크롤링이 불가했기 때문에, 그러한 알고리즘도 많이 생각했었던 것 같다.
두번째 프로젝트를 진행하면서 장고와 정말 많이친해졌다. 정참조와 역참조의 개념에 대해서도 많이 알게 되었고, 실제로 사용도 많이 했던 것 같다.
또한 GET API가 아닌 POST API도 많이 만들어 보면서, 부족한 개발능력을 채워 나갔다.
그리고 모델링에 대한 수정이 개발하면서 끊임없이 이루어졌는데, 모델링의 중요성을 다시 한번 깨달았다.
설문조사 API를 만들면서 프론트엔드와 계속 소통을 했는데, 커뮤니케이션의 중요성 또한 극대화로 느끼게 되는 프로젝트였다.
그리고 필리를 클론하면서 개발에 대한 자신감들이 생겼던 것 같다. 아무리 어려워도 못할 건 없다는 자신감.
원티드는 기업협업을 나가서 했던 프로젝트이다.
나는 기업협업을 (주)INSA라는 회사에서 했는데, INSA라는 회사는 채용사이트를 만들 계획을 가지고 있었다.
이런 회사의 목적과 가장 비슷한 사이트가 원티드였는데, 원티드를 만들면서 우리가 사용하는 Django와 React의 가능성을 보고자 했다.
개발 기간은 4주였고, 프론트엔드 1명 백엔드 4명으로 시작했다.
우리는 원티드를 유저의 페이지만 개발한 것이 아니라, 기업 페이지까지 개발 했다.
원티드에서는 유저가 어떠한 정보를 올리면 기업페이지에 해당 유저의 정보들이 업로드 되고,
기업 페이지에서 어떠한 행위를 하게 되면 유저의 페이지에서 업로드 되었다.
한 마디로 어떠한 개발에 있어서 모든 API들이 거미줄처럼 엮여있다는 생각이 들었다.
모든 API들이 상호작용을 하고 있었기 때문이었다.
백엔드가 4명이었기 때문에 역할분배도 쉽지 않았고, 이렇게 역할 분담을 하고 나서 서로의 작업에 지장이 가지 않게 하기위해 노력했다.
처음으로 현업에서 개발을 해보았다. 우리는 같은 언어를 사용하지는 않지만 현업에서 15년정도 개발하신 개발자분이 사수로 계셨는데, 부트캠프에서는 배울 수 없었던 많은 디테일들을 배웠던 것 같다.
이러한 디테일들이 설계에서부터 시작되어야 한다는 점을 정말 많이 느꼈고, 앞으로 있을 나의 개발에서는 이런 디테일들에 대해서 최대한 고민해야겠다고 느꼈다.
또한 상호작용이 많은 페이지였기에 다시 한번 커뮤니케이션에 중요성을 느꼈다.
그리고 테스트에 중요성을 느꼈다. 우리가 개발한 페이지에서 CTO님이 정말 이것저것 눌르시면서 테스트를 하셨는데, 그럴 때마다 생각하지못한 에러들이 우리를 반겨주었다. 실제 서비스를 한다면 정말 치명적인 버그들이 생기는 것이다.
그래서 개발만한다고 끝이 아니라 내가 개발한 결과물이 정말 완벽한지 테스트를 해보는 것이 아주 많이 중요하다고 느꼇다.
부트캠프에서 12주라는 짧은 과정을 마치고 나는 이제 취업을 준비하는 취준생이 되었다.
취업을 하기전에 개발 욕심이 많이 생겨서 부트캠프 동기분들과 함께 토이프로젝트를 시작했고, 새로운 기술스택에 대한 호기심이 생겨서 Django가 아닌 Flask로 개발을 할 계획이다.
12주동안 느낀점들을 말하려면 하루종일 말해도 부족하다. 하지만 하나 확실해졌던 점은 내가 정말 개발을 즐기고 좋아한다는 점이다.
내가 좋아하는 것을 알지 못하고 이것저것 시행착오를 겪지 않고, 개발이라는 것을 만난 것에 감사하다.
12주동안 정말 빠른 성장을 했던 것 같다. 앞으로도 이런 마음 잃지 않고, 좋은 개발자들 많이 만나고 멋있는 아웃풋을 꾸준히 내고 성장하는 개발자가 되고싶다.
바로 읽어버리려고 뛰어왔어요 브로