개발자를 꿈꿔? 제로베이스 백엔드스쿨에 Knock✊ 수강후기
작년부터 개발자가 되어 보고 싶다는 막연한 생각을 가지기 시작했습니다.
이러한 꿈을 가지게 되면서 비전공자인 내가 어떻게 하면 한 큐에 회사에 취직할 수 있을까에 대한 고민을 했습니다.
개발자에 대한 아무런 지식이 없던 나에겐 부트캠프를 활용해서
개발자 커리어에 대한 이해와 업무 지식을 파악하는 것이 필요하다고 생각하면서 여러 사이트를 둘러보았던 거 같습니다.
여러 고민 속에서 내가 결정한 건 제로베이스 부트캠프를 수료해서
커리어에 대한 지식을 쌓아나가자라는 생각을 하면서 이에 대한 후기를 작성해보려고 합니다.
첫 직장에서의 나
첫 직장에서의 나를 표현한다면 일에 미치고 산 6년이라고 하고 싶다.
19살 때 고등학교 졸업 이후 첫 취업한 직장은 S사 디스플레이 1차 협력 장비업체 였습니다.
나의 고등학교 전공이었던 전기/전자 파트로 취업을 했으나, 회사 사정 및 대형 프로젝트로 인해서
설비 운영(CS) 업무를 먼저 진행했었습니다. 그러면서 자연스럽게 S/W 파트, 즉 코드를 구현하는 직원분들의
현란한 손놀림으로 코드짜는 걸 해보고 싶다는 막연한 꿈을 가졌던 거 같습니다.
그렇게 프로젝트를 진행하면서 해당 기간 신입사원들은 모두 S/W파트에 속하게 되었습니다.
첫 직장이자 이전 직장에서는 C++, MFC 기반으로 설비의 프로그램을 개발했었습니다.
아예 C언어에 대해 무지했기 때문에 맨땅에 헤딩으로 서적을 구입해서 공부를 했던 거 같습니다.
공부를 하면서 실제 양산에 적용되어 있는 코드도 수정했었습니다.
코드에 대한 호기심으로 인해 공부하다가 몰라서 물어보고, 직접 디버깅한 코드 리뷰 요청도 했었습니다.
열심히 하려고 했던 가장 큰 이유는 내 최종학력으로 인해 업무적인 눈높이가 낮아지는 게 싫었기 때문이었습니다.
이처럼 미치도록 하다보니 하나의 기회가 생겨서 머신 비전(Machine Vision) 프로그램도 개발도 진행했었습니다.
비전 라이브러리를 이용해서 사업부 통합 플랫폼을 만드는 데 일조하고, 견문을 넓히는 데 도움이 많이 되었습니다.
하고 싶은 게 뭔데? 개발자
이전 직장에서 업무 회의감과 스트레스가 계속 쌓이면서
일을 계속 하다가는 죽을 수도 있겠구나라는 생각이 머릿속에 박히게 되었습니다.
그래서 퇴사를 하고 다른 일을 한다면 무엇을 하는 게 좋을까라는 생각을 하다보니
현재 내가 가진 툴로 가장 자신있게 잘할 수 있다고 판단되는 걸로 일을 하려 했습니다.
현 시점에서 가장 내가 잘 할 수 있고, 업무에 적응하는 게 쉬운게 뭐가 있을까 하다가
나온 게 '배운 게 도둑질'이라고 코딩하는 게 나를 표현할 때 뺄 수 없는 단어가 되었다고 생각되었습니다.
그럼 여기서 코딩을 하는 건 하는 건데 뭘 할건데? 라고 스스로에게 질문했을 때
이전 직장에서 일하면서 IT 개발자라는 타이틀을 가져보고 싶다는 게 마음속 한 켠에 있었습니다.
똑같은 개발자이긴 한데 제조 산업이 아닌 웹이나 앱 어플리케이션을 개발해보고 싶었습니다.
제조 산업에서 개발을 하다보면 해당 직종에 종사하는 아닌 사람에게
내가 당장 무엇을 하고 있는지 설명을 하고 싶어도 업무상 제약과 서약으로 인해 설명을 하지 못했습니다.
반면에 웹이나 앱 서비스를 개발한다면 프라이빗한 정보가 아닌 이상
본인이 이 서비스에 어디 부분을 담당하고 있다, 내가 다니는 회사가 이런 일을 한다라는 것을
설명하기 쉽겠다는 생각이 들었습니다.
여러 생각을 토대로 개발자가 되겠다라고 확고하게 정리하고
신입으로써 가장 필요한 기능과 지식이 무엇이 있을까 여러 포털사이트 검색과 구글링을 진행했습니다.
이러면서 찾은게 부트캠프 였습니다.
간단하게 개발자에 대해서는 무지하지만, 개발자가 되기를 희망하는 사람들에게 교육을 해주는 프로그램인데
여기서도 국비 부트캠프와 본인의 사비를 사용하는 부트캠프 크게 2가지가 있었습니다.
국비와 사비로 하는 부트캠프에 대한 장/단점은 뚜렷해서
개개인 별로 부트캠프를 선택하는 방향이 달랐습니다.
근데 제가 확실하게 하고 싶었던 건 최신 트렌트에 맞게 교육이 진행되냐였습니다.
아무리 교육을 잘받고 와도, 현재 시장의 개발 프로세스에 맞지 않은 교육을 배운다고 하면
경험은 되겠지만, 현업에서는 다시 공부하고, 깨우쳐야하기 때문에 시간이 낭비된다고 생각되었습니다.
그래서 국비 부트캠프를 다니면 나라에서 제공하는 교육비를 받으면서 다닐 수 있겠지만
교육 프로세스가 엄청 최신화가 되었다는 생각은 들지 않았습니다.
그렇게, 제 사비로 진행하는 부트캠프를 시작해보자라고 생각했고,
거기서 최종적으로 선택한 게 제로베이스 부트캠프 였습니다.
https://zero-base.co.kr/category_dev_camp/school_BE
그래서 여기서 뭘 배우는데?
교육 커리큘럼
이번에 소개하는 제로베이스 백엔드 과정은 위의 이미지에서 볼 수 있듯이
비전공자도 처음부터 끝까지 배울 수 있다는 것을 가장 중요하게 여긴다고 볼 수 있습니다.
비전공자의 입장에서는 코딩을 시작하기 위해서는 장애물이 엄청 높다고 지레짐작해서
포기하는 경우와 만약 시작하더라도 잘 할 수 있을까하는 의문점을 가지게 됩니다.
그렇기 때문에 비전공자들도 교육을 수료하면 전공자와도 견줄 수 있는 실력을 얻을 수 있다고 판단됩니다.
하지만 위와 같이 실력을 얻는다고 하면 개인의 노력이 뒷받침되야한다는 것은 모두 아실 거 같습니다.
그리고 가장 타 부트캠프와의 차별점은 개인의 실력에 맞게 교육 과정을 제공한다는 것입니다.
모든 수강생들은 각자가 가진 배경지식이 다르고 출발선이 다를 것입니다.
그렇기 때문에 동일하게 진행한다면 개인의 실력 향상과 재미도 느끼지 못할 것입니다.
하지만 제로베이스는 수강생 개인의 실력에 맞게 학습 방식을 제공하여
최대한 빠른 지식 습득과 향상을 도와준다고 생각됩니다.
토이 프로젝트
또한, 제로베이스의 차별점은 여러 토이프로젝트를 진행하는 것입니다.
이커머스, 금융 등 여러 도메인의 프로젝트를 설계하는 것부터 구현하는 것까지 습득을 할 수 있습니다.
프로젝트 강의 중 하나인 금융 관련 프로젝트입니다.
첫 챕터부터 마지막 챕터까지 확인하면 프로젝트를 진행하기 전부터 프로젝트를 끝마무리하고
프로젝트 이후에 확인해야하는 사항까지 작게나마 하나의 도메인의 처음부터 끝까지 느껴볼 수 있다고 생각합니다.
그리고 이처럼 클론코딩만 따라하면 해당 도메인에 대한 이해력은 높아질 수 있습니다.
하지만 이와 달리 만약에 생각치도 못한 예외가 발생하고 에러가 발생한다면 조치를 못하는 경우도 발생할 것입니다.
즉, 따라서만 하다보니 해당 코드를 기반으로 응용하는 게 어렵기도 하고, 발생하는 예외에 대해서 처리하는 것도 어려울 수 있을 것입니다.
제로베이스에서는 본인의 클래스(챌린지반, 마스터반)에 따라서 해당 강의를 듣고 따로 과제를 제출하게 됩니다.
과제에서는 기본 프로젝트에서 진행한 코드에 플러스 알파로 내용 추가 및 조건을 삽입하여
수강생들에게 개발하는 기술에 대한 영역을 넓혀줍니다.
위의 빨간색으로 중점적으로 추가해야하는 부분을 만들어서 과제를 제출하게 됩니다.
이를 통해 시간 내에 작업을 못하고 과제를 제출하더라도 위에서 필수로 사용하라고 했던 기술이 무엇인지?
이 프로젝트에 추가해야하는 기능이 무엇을 의미하는지? 까지 알 수 있습니다.
그리고 이를 통해 기한 내에 프로젝트를 제출만 하느냐?
그것뿐만 아니라 수강생 본인이 제출한 코드를 리뷰까지 받을 수 있습니다.
코드 리뷰가 대수야? 라고 생각할 수 있습니다.
하지만 이 코드리뷰를 현업에서 종사하는 시니어 개발자가 한다면? 이건 엄청난 소득일 것입니다.
제로베이스 스쿨이 최대한 트렌드에 맞게 커리큘럼을 작성한다고 해도
온라인강의가 주이기 때문에 아마 강의를 최신 프레임워크나 버전을 업데이트를 하기는 어려울 것입니다.
하지만, 여기서 코드 리뷰를 통해 현직자의 시선으로 코드를 수정하고, 평가를 받는다면
현업 프로세스에 맞게 코드를 작성하는 방법에 대해 깨우칠 수 있다고 생각됩니다.
위처럼 제출한 코드에 대한 리뷰를 확인해서 필수로 구현해야하는 내용과 구현 여부를 파악해서
리뷰를 진행해주십니다. 여기서 보면 처리 방법에 대한 이해, 구현 시에 고민했을 부분, 정확한 구현 내용을 리뷰를 받을 수 있습니다. 또한 해당 기능 중에서 필요가 없는 내용, 코드를 깔끔하게 구성할 수 있는 피드백도 받을 수 있습니다.
위와 같은 과제를 1~2번 진행하는 것이 아닌 4~5번을 진행하다보니
프로그램을 개발하면서도 스스로 코딩에 대한 재미와 성장했다는 뿌듯함, 자신감을 얻을 수 있었습니다.
Slack(슬랙)
타 부트캠프와 달리 부가적으로 아마 교육을 수료하면서 신선하게 생각했던 것은
바로 슬랙 커뮤니티 였던 거 같습니다.
같은 기수로 들어온 동기생들끼리의 커뮤니티가 형성되어있다는 것입니다.
슬랙을 이용하여 금주에 해야하는 과제 설명, 코딩 테스트 등의 일정 공유 내용을 파악할 수 있었습니다.
또한, Q&A, 스터디 모집, 질의응답 등 교육을 수료하면서 궁금했던 내용들을
같은 동기생들끼리 질문하고 답변하면서 소속감을 챙기고, 답변을 통해서 개개인이 알고 있던 지식을 공유하거나,
해당 내용에 대해 답변을 하고 싶은 마음으로 공부를 하는 계기를 갖을 수 있다고 생각됩니다.
팀프로젝트
아마도 포트폴리오를 구성할 때 가장 고심하는 부분은 팀프로젝트일 거 같습니다.
어떻게 프로젝트를 진행하는 것이 좋은지? 그리고 기존 백엔드로 구성된 RESTFul API가 아닌
실제 웹 어플리케이션이나 앱 어플리케이션을 구성한 서비스를 개발해야하는지에 관해서
엄청난 고심을 할 수 밖에 없다고 생각됩니다.
제로베이스 부트캠프는 교육 수료 마지막 피날레를 장식을 팀프로젝트로 진행합니다.
프론트앤드 & 백엔드 개발자가 협업하여 독자적인 서비스를 구성하게 됩니다.
팀프로젝트 구성원 중에 기수와 개개인별로 차이점은 있겠지만 아마 대부분 신입개발자로써
처음 팀프로젝트를 진행하는 사람이 대부분일 거 같습니다.
처음 진행해보기 때문에 모든 구성원이 어떻게 진행할지 모릅니다.
제로베이스에서는 팀프로젝트를 진행하는 수강생들을 위해서 기초적인 프로젝트 프로세스를 제공합니다.
이를 바탕으로 프로젝트 설계, 프로젝트 진행 방식에 대해 수강생이 직접 파악하고 수립할 수 있도록 도와줍니다.
현재 필자가 진행하고 있는 팀프로젝트의 경우 디스코드를 활용해서 매일 오후 2시에 데일리 스크럼을 통해서
금일 진행사항이나 작일 진행 시에 발생했던 이슈, 트러블 슈팅을 공유하고
이를 바탕으로 자체적 Q&A를 진행하고 있습니다.
이와 더불어 프로젝트를 진행할 때 자료 즉, 회의록이나 회고록, 트러블 슈팅 등
팀프로젝트를 진행하면서 발생했던 내용들을 모두 팀 노션 페이지에 작성하면서 진행하고 있습니다.
이와 같은 현업에서 다른 개발자와 협업하는 방법과 실제 서비스를 배포하는 방법에 대해 알 수 있습니다.
마무리
현재 진행하고 있는 백엔드 스쿨 뿐만 아니라
프론트앤드, PM, UI/UX 등 여러 분야의 부트캠프를 진행하고 있으니
혹여나 본인이 원하는 분야의 공부나 기본적인 베이스를 알고 싶다면 제로베이스를 눈여겨 보는 게 좋을 거 같습니다.
처음이라 막연하게 공부하면 되겠지라는 생각은 얼마 못가서 포기를 하게 됩니다.
정해진 커리큘럼과 현업 프로세스를 최대한 따라가려는 공부를 하고 싶은 분들에게는 좋은 선택지가 될 거 같습니다.
해당 게시글은 소정의 지원금을 받고 작성되었습니다