2021년에 저는 6개월 동안 스프링 프레임워크 전문 개발자 양성과정을 수료했었습니다. 이 과정에서 자바 개발과 웹 애플리케이션 개발에 자주 사용되는 프레임워크의 실무 적용 방법을 배웠죠. 개발 계획서를 바탕으로 앱 개발에 필요한 리소스를 준비하고, 정보 구조와 개발 시스템을 설계하는 실무 교육을 받았어요.
또, MVC 패턴을 기반으로 한 Web2.0 웹 애플리케이션을 직접 제작하는 경험도 했습니다. 이때는 프론트엔드, 백엔드 직무를 정해놓기보다는 "웹 개발의 기초가 되는 자바를 배우면 되지 않을까?"라는 생각에 시작했던 것 같습니다.
(▲ 재직 당시 리액트 책을 보며 만들었던 React 프로젝트)
제가 웹 개발 회사에 백엔드 개발자로 입사했을 때, 프론트엔드 개발자 채용이 지연되어 급하게 프론트엔드 개발을 독학하기 시작해야 하는 상황이 생겼었어요. 그렇게 회사에서 프론트엔드 업무를 시작한 지 1년 5개월이 지난 후, 제가 독학한 프론트엔드 개발 실력에 대한 객관적인 판단을 하고 싶어졌어요. 지금 실력으로 채용 시장에서의 제 경쟁력을 확인하기 위해 엘리스 트랙을 수강하게 되었죠.
제가 2021년 12월부터 2023년 4월까지 근무했던 회사에서는 웹사이트 퍼블리싱과 구인구직 플랫폼의 프론트엔드 개발을 맡았었고 이곳에서 근무하면서 느낀 가장 큰 장점은 몇 가지가 있어요.
SI업체로서 여러 도메인의 업무를 수주 받아 다양한 경험을 쌓을 수 있었습니다. 각기 다른 요구사항과 기대를 충족시키는 것은 제 개발 능력을 한층 더 키우는 데 큰 도움이 되었죠.
다양한 기술 스택을 사용하고 적용할 수 있는 기회가 많았습니다. 이는 기술적 지식의 폭을 넓히는 데 매우 유익했어요.
젊은 연령대의 동료들과 함께 일하며 자유로운 소통과 협업 과정이 매우 활발했습니다. 이런 환경은 창의적인 아이디어를 자유롭게 나누고, 서로의 의견을 존중하는 문화를 조성했죠.
하지만 몇 가지 어려운 점도 있었습니다.
시니어 개발자가 없어 개발 과정 중 발생하는 문제에 대해 유연하게 대응하기 어려웠습니다. 이는 때때로 프로젝트의 진행을 어렵게 만들었죠.
짧은 마감 기한 내에 다양한 기술 스택을 급하게 사용하다 보니, 깊은 이해 없이 기술을 적용해야 하는 경우가 많았습니다. 이는 장기적인 기술 습득에는 큰 도움이 되긴 어려웠어요.
SI업무 특성 상 프로젝트가 완성되면 이후의 업무는 끝나버리는 경우가 많아, 사이트를 유지보수하며 대용량 트래픽에 대한 경험을 쌓기 어려웠습니다.
이런 장,단점을 1년 5개월 정도 경험해보니 원하는 목표가 뚜렷해져 프론트엔드 개발자에 제대로 도전해보고 싶었고 용기가 생겼습니다! 아마 이런 경험이 없었다라면 저에게 잘 맞는 것이 어떤 건지 알지 못했을 것 같아요.
엘리스트랙을 시작하기 전 4개월 동안 2가지 프로젝트를 경험할 수 있다는 점이 매우 기대되었어요. 다양한 아이디어를 실제로 구현해볼 수 있는 기회가 많다는 것은 SI 기업과는 다른 경험을 하며 개발자로서의 역량을 크게 향상시킬 수 있는 절호의 찬스라고 생각했죠.
반대로 프로젝트 팀원들과의 협업은 저에게 큰 걱정거리였습니다. 초보자, 비전공자, 전공자 등 다양한 배경과 경험을 가진 사람들과의 팀워크가 잘 이루어질지, 의사소통은 원활할지 많은 생각이 들었습니다. 팀 프로젝트의 성공은 협업에 크게 좌우되니까요.
부트캠프 수료 후에 면접을 많이 보다보니 면접관이 "왜 퇴사하고 부트캠프를 시작했냐"고 질문을 항상 하시더라고요. 그때마다 저는 명확한 퇴사 이유였던 "독학으로 키운 프론트엔드 실력을 검증받고 싶었다."는 확고함을 어필했어요. 타당한 퇴사 이유가 없으면 도피성처럼 보일 수 있으니까요. 설렘 반 걱정 반이었지만 확고한 의지가 있었기 때문에 시작할 수 있었습니다.
최종 프로젝트는 저에게 많은 것을 가르쳐 준 경험이었습니다. 이전에는 SI 기업에서 근무하며 타이트한 기간 안에 프로젝트를 완성해야 했기 때문에, 가장 유명하고 사람들이 많이 쓰는 기술 스택을 아무 생각 없이 사하거나 동작 원리를 모른 채로 예제 코드를 복사하여 붙여넣기만 해서 프로젝트를 마무리해서 뒤엉킨 스파게티 코드로 작성한 경우가 허다햇죠.
하지만 이런 방식은 나중에 유저 피드백을 받았을 때, 페이지네이션에 1분이나 걸리는 등의 문제가 발생하면서 코드를 다시 공부해야 하는 상황에 직면했습니다.
(▲코치님과 화면 공유하며 프로젝트 코드리뷰 중인 화면)
하지만 이번 엘리스트랙에서는 이전 경험과 달리 기술 면접 때도 활용할 수 있는 심도 깊은 이해를 바탕으로 개발을 진행했습니다. 코치님들이 간단한 유저 후기에서도 비동기 처리가 어떻게 작동하는지, 여러 개 기능을 동시에 사용하면 어떤 일이 발생하는지 등 기초부터 철저히 알려주셨습니다.
특히 실시간으로 코드리뷰를 받고 라이브 코딩을 할 수 있는 "오피스 아워"에서 정말 많은 도움을 받았는데요. 혼자 개발할 땐 미처 챙기지 못한 부분들, 특히 "현업에서만 알 수 있는 것"들을 많이 배울 수 있었습니다.
어떤 기술을 써야할때는 이런 기술을 왜 써야 하는지, 프로젝트 폴더구조를 잡을 때 조차 "왜 이렇게 나눠야 하는 지" 등 "Why, 왜?"에 집중한 프로젝트를 만들다 보니 기술면접에서도 프로젝트 설명을 구체적으로 할 수 있어서 큰 도움이 되었어요.
최종 프로젝트에서 팀 내에서 나이가 많았던 편이라 다소 편하게 장난도 치면서 분위기를 이끌려고 노력하다보니 팀원들은 제 의견을 많이 따라주었고, 저보다 1살 더 많았던 기윤님께서 팀장을 맡았주셨는데요. 특히 같은 팀에 UI/UX 디자이너 경험이 있는 분이 계셔서 비주얼적으로도 프로젝트를 완성도 높게 만들 수 있었습니다.
다만 처음 만들었던 API 응답값에 맞추어 프론트엔드 화면 구성이 완료되었으나 추후 백엔드 파트에서 응답값 구조를 변경하는 바람에 그와 관련된 UI를 모두 변경해야 했던 적이 있어서 아찔했지만 이 부분은 모두가 조금씩 경험 부족했기 때문에 발생한 실수같은 거라 이후에는 정말 작은 것 하나라도 최대한 공유를 통해 재발하지 않도록 해야겠다는 교훈을 얻었고 이건 지금까지도 실무에서 정말 잘 활용하고 있는 것 같아요.
위와 같은 경험으로 수료 후 면접을 볼 때도 첫번째 프로젝트에서 저 혼자 node.js, react를 이용해 풀스택으로 실시간 채팅 기능을 만들어 백엔드와 협업이 원활할 수 있다는 점을 어필할 수 있었고 마지막 프로젝트에서 웹앱 개발을 통한 반응형 디자인을 통해 UI/UX디자인 강점을 어필할 수 있었어요. 개발뿐 만 아니라 팀프로젝트 과정 중 발생한 문제를 해결한 경험까지 얻을 수 있다는게 부트캠프인 것 같아서 이런 부분도 놓치지 말고 잘 기록해두시는 걸 추천드리고 싶어요.
사실 코치님과 저희 팀원들이 좀 더 가깝게 지내고 저는 그렇게 가깝지는 않았던 것 같아요. 하지만 마지막 프로젝트 때 코치님께서 정말 핵심만 딱딱 짚어주셨던 것들이 생각나서 여러 기업을 최종합격했을 때 어떤 기업을 가는게 좋을지 정말 고민돼서 연락을 했던 것 같아요.
코치님께서 연락을 보시고는 늦은 시간임에도 전화를 직접 주셔서 신중하게 회사를 고를 수 있었던 것 같아요. 이전에 수료한 선배들의 팁 중에서 "코치님과의 관계도 수료 후에 중요한 자산이다."라는 내용들이 있는데 이런 중요한 결정을 내릴 때 주변에 도움을 요청할 수 있는 분이 생겼다는게 정말 큰 힘이 됐었어요.
그 외에도 면접관 태도로 어느 정도 알 수 있었어요. 면접장에 들어갔을 때 면접관 태도를 보면 어느 정도 회사의 분위기나 상황을 알 수 있었던 것 같아요. 면접에 들어갔는데 명함이나 소개도 없이 또는 그 흔한 물도 없이 기술면접질문을 다짜고짜 던지는 곳들이 있어요. 사실 사람 대 사람으로 처음 만난 자리인데도 그렇게 시작한다면 입사 후 그런 분위기에서 일하게 될 테니 걸러냈던 것 같고 어느 정도 규모가 있는 곳들은 면접관 교육을 하기 때문에 그런 차이에서도 알 수 있는 것 같습니다.
부트캠프를 처음 알아볼 때 okky 같은 커뮤니티에서 엘리스트랙을 추천하는 글을 봐서 지원했던 것도 있어요. 하지만 저는 현업 경험이 1년 5개월 정도 있었지만 이론이나 프로젝트를 할 때 수준이 꽤 높다고 생각해서 완전 극초보이시라면 엘리스트랙을 추천하고 싶지 않아요.
저와 비슷하게 애매한 경력인데 그 전회사에 제대로된 프로젝트를 못해보고 물경력이 걱정되시는 분들이나 외부에서 사이드 프로젝트로 포트폴리오 만드는게 어려우신 분들에게 엘리스트랙을 추천하고 싶어요.
요즘 정말 좋은 무료 강의들이 많잖아요. 저는 처음에 html, css에 대해 잘 모르고 spring부터 학원을 다녔지만 완전 극 초반이라면 백엔드, 프론트엔드 나누지 말고 유튜브에서 html, css 강의 일주일 정도 들어보고 재미를 느끼는지 확인해 봐도 좋을 것 같아요.
그리고 백엔드, 프론트엔드 모두 공부해보니 결국 프론트엔드는 백엔드를 따라가게 되어있어서 백엔드 기초부터 공부해 보는 걸 추천들어요. 예를 들어 "node로 쇼핑몰 만들기"라고 검색하면 2주 동안 여유있게 들을 수 있는 강의들이 있어요. 이걸 다 듣고도 잘 모르겠다면 개발자가 적성에 안 맞을 수도 있을 것 같아요.
백엔드, PM, 프론트엔드 조금씩 해보면서 이제 정말 제가 원하는 회사와 직무가 어떤 건지 더 명확하게 알게 된 것 같아 후회는 없습니다! 저처럼 비전공자이거나 경험이 많지 않다면 여러 경험을 통해 직접 배워가는 것도 좋은 자산이 되는 것 같아 혼자 힘들더라도 조금 더 도전해보시길 응원하겠습니다!