정신없는 12월과 1월을 보내고..
매우 뒷북으로 회고를 완성하였다. (시작은 분명 12월이었는데..)
지난 회고를 작성하고, 한 달 동안 취업 준비를 열심히 해서 7월부터 새로운 직장을 다니고 있다.
그리고 다음 달 퇴사 예정이다(?)
취업 준비의 과정, 그리고 2024년 하반기를 어떻게 보냈고, 새로운 직장에서 퇴사하게 된 이야기를 기록하려고 한다.
2024년 하반기을 돌아보면.. 어느 때와 똑같이 일을 열심히 한 것 밖에 없는 것 같다.
그래도 첫 회사에서와는 달라진 업무 적응 방식, 그리고 어떤 식으로 일을 했는지를 적으면서 돌아볼 것이다.
2024.06. - 2025.02.
2024년 6월부터 지금까지 사건은 다음과 같다.
처음엔 1년 9개월이라는 경력이 있고, 나름 알차게 보낸 경력이라 내가 회사에서 한 일들을 정리해서 지원하면 서류 합격은 잘 될 줄 알았다.
(요새 취업 어렵다고들 하지만 이정도 일줄은 몰랐다..)
회사 다니면서 정리해 놓았던 것들을 노션으로 정리해서 이력서를 만들고, 진행한 프로젝트들도 정리해서 내가 가고싶은 기업들에 지원했고, 외에도 잡코리아를 통해 조건이 되고 흥미가 생기는 회사들에 지원했다.
결과는..
합격률이 매우 저조했다ㅠ
하던 코딩테스트 준비와 면접 준비를 모두 접고,
이력서 수정에 집중적으로 시간을 쓰기 시작했다.
내 이력서를 주변 사람들에게 보여주며 피드백을 받았고, 피드백을 받아 수정한 결과 여기저기서 서류 합격 메일이 오기 시작했다.
피드백 내용 중 주요 내용은 다음과 같았다.
- 노션 링크로 이력서를 올리는 것보다 PDF 형식으로 새로 만들기
- 색깔 여러가지 사용하지 않기
- 경력기술서는 연도 빼고 어떤 회사에서 무슨 개발을 했는지 임팩트있는 내용만 넣기
- "O초 감소시키는 효과" 보단 "O초에서 O초로 감소시켜 O%의 성능 개선 효과"와 같은 표현 사용하기
- 이력서에는 대략적으로 정리하고, 자세한 내용은 블로그에 작성하기
- 자기소개 부분에 다른 사람들과의 차별점이 있는 경험으로 넣기
- 각 프로젝트 내용이 상단에 기술 키워드를 적어주기
- 학력, 자격증 부분은 최하단에 배치하기
적극 반영하여 수정한 결과 서류 합격률이 4배 이상 증가하였다.
하필 생일이 있는 6월이라서 한편으론 놀고 싶은 마음이 컸지만,
여기저기서 서류 합격 메일이 날라와 하루도 쉴 새 없이 코딩테스트, 과제, 면접 일정으로 가득 차 있었다.
여러 기업의 채용 전형을 진행하던 중에,
생성형 AI 기술을 사용하는 스타트업에 면접을 보러 갔다.
면접 분위기도 좋고, 혼자서 거의 2시간 동안 면접을 봤다.
압박 질문을 받기 보다는 서로 개발 경험에 대해 공유하고, 고민 거리에 대해 이야기를 나누는 시간으로 대부분 보냈던 것 같다.
게다가 나에 대해 많은 것을 알고 계셨는데, 이력서와 포트폴리오를 열심히 봐주셨다는 점에 감동받았고, 무엇보다 내가 이 회사에 입사한 결정적인 이유는 내가 이 회사에 도움이 될 것 같아서 였다.
내 개발 경험이 이 회사에 필요한 경험들이었고, 입사 후 어떤 작업을 할 수 있을지가 명확히 정해져있었다.
그렇게 1차 면접, 2차 면접을 모두 통과하여
다른 채용 과정들을 모두 포기하고 이 회사에 입사를 결정하였다..!
첫 날은 늘 그렇듯 환경세팅과 계정관리, 권한부여와 같은 것들을 진행하겠거니
출근 전에 메일을 통해 전달 받은 내용을 바탕으로 계정 등록을 마쳤다.
그리고, 개발 환경세팅 정보를 준비해 갔다.
사소하지만 세팅 순서와 각 토글 안에 관련 링크로 정리하여 빠르게 환경세팅을 할 수 있었고,
중간에 맥북을 교체했을 때도 매우 유용하게 사용했다.
첫 주는 당연히 코드 분석에 들어갔다.
신입 때는 하나도 이해가 되지 않는 코드, 어디서부터 어떻게 봐야 되나 막막해서 지루했는데, 이제 어느 정도 역량을 키운 상태다 보니 코드 분석은 꽤나 빠른 시간에 끝냈다.
그런데, 본부장님이 청천벽력과도 같은 말씀을 하셨다.
"6주 동안은 온보딩 기간으로, 실무 개발은 하지 않을 거예요~"
6주 동안이나 일은 안 시킨다고..??
LAB 프로젝트를 진행할 예정인데, 그 사이트를 구축하는 작업을 시킬 거라고 하셨다.
그렇게 우울하던 찰나에, 내가 심심해보였는지 팀원 프론트엔드 개발자분이 컴포넌트 하나, 둘 씩 배정해주셨는데 후딱 개발해버렸더니 잘한다, 잘한다 하시며 페이지 하나를 통째로 맡기셨다..ㅋㅋㅋ
잘한다 하시니 나도 기대에 부응하기 위해 더 열심히 했고, 시간이 남아 다른 분의 작업량이 많아 보여 먼저 손을 내밀어 도움을 드리기도 했다.
또한, 입사한지 3주 만에 다른 프론트엔드 개발자가 테스트 기간 동안 장기 휴가 계획이 있어 내가 대응을 해야 되는 상황이 왔는데, 익숙하지 않은 코드와 잘 모르는 로직에 대해서도 테스트 이슈를 잘 대응하여 성공적으로 일정에 맞춰 릴리즈를 해 내는 성과도 보였다.
나는 Notion을 이용하여 메모하는 습관이 있어서 업무 내용 또한 Notion으로 정리중이다.
카테고리를 간단히 설명하자면 다음과 같다.
코드 기록 & 로직 기록
복잡한 코드, 로직을 정리하였다. 이 부분은 디자이너 혹은 백엔드 개발자가 궁금해하는 경우가 많아 이에 대응할 때 도움이 되었고, Confluence에 내용을 문서화 해두었다.
TODO
개선사항은 오래 두고 볼 내용들을 다뤘다면, TODO는 가까운 시일 내에 작업해야 되는 내용이다. 예를 들어 A 작업 도중 백엔드 개발자가 찾아와 "B 작업 파라미터 이렇게 바꿔주세요~" 라고 한다면 TODO에 기록해둔다.
회고
우리 회사 버전 릴리즈 주기는 2주이다. 2주마다 새로운 버전을 개발하고 배포하면서 느낀 회고를 정리하였다. 좋았던 점과 아쉬운 점으로 나누어 간단하게 정리했고, 예시로 하나만 공개하자면 다음과 같이 작성하였다.
여태 두 회사를 다니면서의 공통점..
컴포넌트 이름 뒤에 숫자가 붙어 점점 늘어나는 것이다..ㅋㅋ
이렇게 되면 개발한 사람도, 다른 팀원이나 신규 입사한 개발자가 보기에 어떤 컴포넌트인지 알기가 쉽지 않다. (내가 그랬다..)
스토리북을 도입하면 이 문제가 해결될 뿐만 아니라 독립적인 컴포넌트 테스트를 할 수 있다.
버전 릴리즈 중간중간에 시간이 빌 때 마다 작업하여 컴포넌트 스토리북을 완성했다.
별거 아니지만 누군가는 해야 되는 작업을 시간을 짬내서 완성했다는 점에 성취감이 있었다.
남자친구 학원에서 기존에 학생들에게 시간표와 출결, 교재 진행 현황을 스프레드 시트로 전달 중이었으나
접근성이 떨어지고, 모바일에서 확인이 어렵다는 단점이 있었다.
스프레드 시트 데이터를 이용해서 보기 좋게 출력해주는 용도로만 사이트를 만들어도 큰 도움이 될 것 같아 바로 repository 부터 만들었다.
Next.js App Router 에 대한 공부도 할겸 App Router 형식으로 프로젝트를 생성했고,
스프레드 시트 데이터를 어떻게 가져올 것인가에 대한 고민이 있었다.
1. google sheets api 사용
- 장점 : 실시간 데이터 가능
- 단점 : 무료 등급은 사용자당 100초당 100개의 요청 및 프로젝트당 100초당 500개의 요청을 제공 → 초과 효출 시 비용 지불 X, 429 에러 발생 (100초 뒤에 다시 이용 가능)
2. google sheets api 사용 + mongoDB 사용해서 하루에 1번 갱신
- 장점 : 비용 X, 에러 발생 X
- 단점 : mongoDB 구축 필요, 실시간 데이터 불가능
3. api 사용 X, 하루에 한 번 sheet 데이터 가져오기
- 장점 : 비용 X, 에러 발생 X, DB 구축할 필요 X, 구글 인증 필요 X
- 단점 : sheet가 공개 상태여야 함, 병합된 셀 데이터 못 가져옴, 실시간 데이터 불가능
4. google sheets api 사용 + swr 캐시 사용하여 1시간마다 갱신
- 장점 : 비용 X, 에러 발생 X, DB 구축할 필요 X
- 단점 : 새로고침 시 갱신되어버림
비용을 최적화하여 구현하는 것을 목표로 했기 때문에 더더욱 신중히 알아보고 고민했던 것 같다.
1 -> 2 -> 3 -> 4 순으로 고민했고, 결론적으로 4번 방식을 채택했다.
단기간 많은 호출로 인해 429 에러가 발생하면, 사용자 입장에서 사이트 이용에 부정적인 경험을 줄 것 같았고,
DB를 구축하는 시간 비용 또한 절약하는 것이 베스트라고 생각하여 4번으로 개발했다.
그렇게 스프레드 시트를 DB삼아 보여주는 용도의 웹 사이트를 완성했다.
가비아에서 도메인도 구매하고, Vercel을 이용해서 간편하게 배포했다.
또한, 회원정보의 경우 실시간으로 반영되지 않고 배포를 해야만 적용되도록 구현하였는데,
나도 회사 업무가 있기 때문에 모두 대응하기엔 어려움이 있었다.
따라서, vercel deploy hook을 이용하여 관리자로 로그인 시 배포가 가능한 버튼을 하나 배치하여 개발자 의존도를 감소시켰다.
앞으로는 백엔드까지 구현하여 스프레드 시트를 아예 사용하지 않도록 하고,
더 많은 페이지를 기획하여 확장하고,
더 나아가 React Native로 천천히 앱 출시까지 해보는 것이 목표이다..!
지난 12월.. 회사에 찬 바람이 불었다.
회사 재정이 어려워 70% 이상의 인력이 감축되었고, 나는 다른 회사로 3개월 동안 파견 제안을 받았다.
파견 회사에서는 Vue.js를 사용하여 프로젝트를 진행한다는 대표님의 말씀에, 새로운 개발 경험을 쌓을 수 있다는 생각에 기대되어 제안을 받아 12월 말부터 파견 근무를 시작하였다.
파견 근무를 시작하기 전에, 업무에 빠른 적응을 하기 위해 Vue.js를 학습했다. 국룰 TODO LIST를 먼저 따라 만들어보고, 그 다음 내가 만들어볼 사이트를 정해서 개발해보는 시간을 가졌다.
책이나 강의를 보는 것도 좋지만, 실습에 부딪히는게 단기간에 학습하기엔 좋은 것 같다.
진행할 업무는 교육 관리 시스템(LCMS) SI 프로젝트였고, 프로젝트 인원은 총 25명, 그 중 개발자는 11명이었다. 나는 기획자 1명, 백엔드 개발자 2명, 퍼블리셔 1명과 소통하며 개발을 진행했다.
1월 동안 개발을 마치고, 2월은 1차 QA(2주), 2차 QA(2주)로 계획되어 있었는데, 약 2주만에 개발을 마치고, QA도 큰 이슈 없이 2-3일 만에 마무리하였다.
pnpm, monorepo(turborepo) 구조를 사용하는 프로젝트인데, 평소에 관심을 가지고 있던 부분이라 더욱 배우는 것이 많았다.
프로젝트 설정과 패키지 매니저를 공유한다는 점이 편리했다.
그리고, 하나의 저장소에 여러 프로젝트가 있으면 빌드가 오래걸리지 않을까라는 의문이 있었지만,
Turborepo의 캐싱을 활용하면 변경된 부분만 빌드하기 때문에 매우 빠른 속도를 체감할 수 있었다 🫢
1년 전부터 관심을 가지고 보던 회사에서 채용 공고가 올라왔다.
이직 생각이 크게 없었던 터라 급하게 이력서와 자소서를 정리하고, 서류를 내 보았다.
합격했다..!
다음으로 과제 전형이 준비되어 있었고, 회사를 다니면서 과제를 하다보니 회사에서도 개발.. 퇴근 후에도 개발.. 하루종일 개발만 했다.
그래도 내가 관심이 있는 도메인을 개발하니 과제라는 생각이 들지 않고 정말 재밌게 개발했다. 욕심내서 이런 저런 기능도 넣어보고, 문서화까지 해서 제출하였다.
하지만 결과는 탈락이었다 ㅠ
너무 기대를 했던 탓인지, 너무 큰 실망으로 돌아왔다.
그래서 난생 처음으로 탈락 메일에 답장을 보냈다.
아쉬움을 담아 추가 채용 계획이 있다면 면접 기회를 얻고 싶다는 내용이었고, 이에 감사하게도 좋게 생각해주셔서 대표님과의 티타임의 기회를 얻게 되었다.
약 2시간 동안 티타임이 진행되었다. 서로 궁금한 점에 대해 질문하고 답하고, 편안한 분위기 속에서 해외여행 이야기와 내 이사갈 집 위치까지 추천해주셨다..ㅋㅋㅋ
이야기 중에 깜짝 놀랬던 것은, 서류 합격자가 나 혼자였고 혼자서 과제를 진행했다는 것이었다...
과제 피드백도 해주시고, 결론적으로 2차 과제 전형의 기회가 주어졌다.
마지막 기회라 생각하고, 설 연휴 기간이었지만 맥북들고 본가에 내려가서 하루종일 개발만 했다. 중학생 사촌동생들로부터 놀아달라며, 또 코딩하냐며 잔소리를 많이 들었고, 코드를 다 날려버렸으면 좋겠다는 저주까지 들었다...
코드를 여러 번 검토하고, 리팩토링도 한 뒤, 과제 마감일보다 2-3일 정도 빨리 제출하였다.
빠른 개발 또한 플러스 점수가 되지 않을까 하는 생각이었다.
결과는 또 탈락이었다 :(
3년 이상 경력을 뽑고 있었고, 더불어 4년 차 이상의 개발자를 찾고 있던 회사 입장에서 나의 2년 정도 되는 개발 실력이 부족하게 느껴졌던 것 같다.
아쉬움이 컸지만, 최선을 다 했기에 후회는 없었다. 도전해보았다는 점과 성장 욕구를 불러일으켜준 값진 경험이라고 생각한다.
이번 경험을 바탕으로 내 실력에 안주하지 않고 열심히 개발 스킬 레벨을 올릴 것이다.
회사의 인력 감축이 약 70-80% 진행되었음에도 회사 사정이 나아지지 않으면서,
2025년 1월 급여가 지급되지 못하는 문제가 발생하였고,
2월, 3월 급여도 급여일에 맞춰 지급이 보장되지 않는다고 했다.
그러면서 내가 속한 팀원들이 전부 나갔다.
추가 채용 계획이 없는 상황에서 나 또한 퇴사하기로 마음을 먹고, 파견 근무를 끝으로 퇴사하기로 말씀드려놓은 상태이다.
불확실성을 좋아하지 않는 나에게 두 번의 퇴사가 너무 힘들지만 워낙 경기가 어렵고, 다양한 사람들을 만나고 다양한 경험을 해 볼 수 있다는 점에서 긍정적인 면도 있다고 생각한다.
퇴사 후에는 급하게 이직을 하기 보다는 조금 더 준비해서 신중하게 지원을 해 볼 생각이다.
따로 회고에 적진 않았지만, 2024년도의 목표 키워드는 "도전" 이었다.
도전하는 사람에게 기회가 온다고, 두려운 상황이 와도 도전하자는 마음가짐으로 한 해를 보냈다.
그렇게 지금 회사에 온 것도 스타트업에 대한 도전이었고,
가고 싶던 회사에 지원하여 두 번의 과제 전형을 본 것도 도전이었다.
스타트업에서의 개발 경험이 나에게 가장 큰 영향을 준 것은 책임감이다.
적은 인원으로 운영되다 보니 기획자가 따로 없었고, 팀원들과 직접 머리를 맞대며 논의하는 과정에서 나의 의견 하나하나가 중요한 결정으로 이어졌다. 자연스럽게 내가 하는 말과 선택에 대한 책임감을 가지게 되었다.
또한, 프론트엔드 개발을 거의 혼자 맡으면서 단순한 UI 구현뿐만 아니라 규모가 크고 복잡한 로직을 요구하는 기능까지 직접 개발해야 했다. 만약 여러 명의 프론트엔드 개발자가 있었다면 역할이 나뉘었겠지만, 스타트업에서는 그 모든 과정이 나에게 주어진 덕분에 폭넓은 경험을 할 수 있었다.
이러한 경험은 스타트업이기에 가능했던, 매우 값진 배움이었다고 생각한다.
2025년의 목표 키워드는 "실천" 으로 정했다.
2024년, 그리고 나를 돌아보니 하고 싶은 건 많지만 정작 실천하지 않는 것 같아 "실천"으로 정하게 되었다.
내 최종 목표는 백엔드, 인프라 영역까지 모두 이해하고, 개발할줄 아는 것이다.
그러나, 아직 프론트엔드도 공부할게 많은데.. 백엔드를 공부할 때는 아니라는 생각으로 백엔드를 공부하지 않았다.
이제는 3년 차에 접어들었으니 백엔드 공부를 시작하려 한다.
현재 출퇴근 길에 읽기 위해 e-book을 구매해서 보고있다.
서버 관련 도서인데, 다 읽고 네트워크, AWS 관련 책들도 구매해서 볼 예정이다.
나는 사이드 프로젝트를 거의 쉬지 않고 해왔던 것 같다.
그러나, 모두 수익성 없이 기술 학습 목적이 컸고, 또는 재미로 해 왔던 것 같다.
그러나, 이제는 내가 키운 역량을 기반으로 수익성 있는 서비스를 출시하고자 하는 목표가 생겼다..!
당연히 백엔드 개발도 필요할 것이기에 백엔드를 이해하며 역량을 쌓기도 좋을 것 같고, 트래픽이 늘어나게 되면서 발생하는 트러블슈팅도 경험할 수 있을 거라고 생각한다.
그리고 수익성이 있어야 퇴근 후에도 개발 욕구가 생긴다고 한다..
개발자 3년 차에 접어들면 "개발자를 계속 하는게 맞나..?"라는 생각으로 많은 고민이 생기는 시기라고 한다.
나 또한 개발이 재밌고, 주변에서도 직업 잘 골랐다는 소리를 정말 많이 듣지만 비슷한 고민을 많이 한 것 같다.
그러나 개발자를 그만두는 상상을 하니 이때까지 달려오고 쌓아온 노력들이 너무 아까웠고, 너무 우울했다.
그래서 난 "계속 하는게 맞다" 라는 생각으로 확고해졌다.
퇴사(3.31)까지는 이력서 수정에 집중하고, 퇴사 후에는 코딩테스트와 과제전형 준비, 그리고 면접 준비를 차례대로 준비할 생각이다 🔥🔥