안녕하세요. 저는 3년 차 프론트엔드 개발자입니다. 다음 주부터 새로운 회사에 출근하게 되면서, 문득 지난 1년 동안의 경험을 되돌아보게 되었습니다. 이번 글에서는 그 시간 동안 제가 느꼈던 점들과 배운 것들을 정리해 공유해보려 합니다.
두번째 회사에서 1년
'저친구 뽑길 잘했네' 이 말을 듣기 위하여
두번째 회사에 입사할 때 걱정이 많았습니다. 왜냐하면 이전에 1년 6개월정도의 에이전시 경력으로 입사를 했고, 면접에서 제대로 된 로직 개발을 해보지 않아서 우려스럽다라는 말을 들었기 때문입니다. 스스로도 "내가 과연 할 수 있을까?"라는 걱정이 앞섰으나 가서 열심히 해보자고 다짐을 했던걸로 기억납니다..ㅎ
입사 후에는 나에게 주어진 태스크를 잘 개발하기 위해 야근은 당연했고 주말출근도 마다하지 않고 열심히 했습니다. 부족한 경험만큼 시간을 많이 투자했던 거죠.
처음 맡았던 개발이 웹사이트의 로그인, 회원가입이었습니다. 서비스의 토대가 되는 이런 중요한 기능을 나같은 초보에게 맡겨준다고!? 솔직히 두려움보다는 "감사함"이 컸습니다. 해보고 싶었던 기능이라 잘 해내야겠다고 다짐을 했었죠. 그러나 온라인 강의에서 봤던 간단한 로직과 실제 프로덕트에 적용하는 것은 또다른 레벨이었습니다. 문제에 맞닥뜨릴때마다 스스로 해결해야하는 과제들이 많았습니다.
- cookie or localstorage 중 어디에 저장하지?
- 소셜 로그인 후 callback URL을 받았을 때는 어떻게 로직을 추가로 처리해야하지?
- token update를 위해서 axios interceptor는 어떻게 잘 제어하면 좋을까?
- 서버에서 전달하는 refreshToken cookie는 분명 header에 있는데 왜 브라우저에 안보이는걸까?(cookie domain/path 이슈였음,,,)
- 로그인 후 user 정보는 어떻게 관리하면 좋을까?
잠들기 전까지도 유튜브 보면서 공부하다 잠들었고 백엔드 개발자분과 새벽까지 회사에 남아 테스트하던 기억이 생생하네요.
프론트엔드 개발자에게 중요한 것은?
1년이라는 시간이 짧아보이지만 저는 웹 개발자로서 다양한 경험들을 쌓을 수 있었는데요.
- 웹사이트 초기 구축(Next.js)
- 로그인/회원가입/세션
- 복잡한 상태관리
- 페이지별 적합한 Next.js pre-render 적용
- 웹 성능 개선
- CDN 캐싱
- PG 연동 및 결제
특히 웹사이트 성능 개선을 하면서 프론트엔드 개발을 할 때 중요한 것이 무엇인지 깨닫게 되었습니다. API를 통해 받아온 데이터를 안정적이고 빠르게 화면에 보여주는 것입니다. 프로젝트 규모가 커질수록 성능을 고려하지 않고 개발하게 되면 웹사이트가 화면에 뜨고 움직이는 속도가 느려지게 됩니다. 느릴수록 사용자들의 이탈률은 높아지기 때문에 서비스차원에서 매우 중요한 부분 중 하나입니다. 그래서 평소 웹 리소스에 대해 불필요하게 용량이 큰 패키지나 이미지를 사용하지 않도록 신경써야합니다.
또한 웹 프레임워크로 Next.js 사용률이 증가하면서 프론트엔드 개발자도 서버단에서 코드를 손쉽게 작성할 수 있게 되었습니다. 그러나 서버사이드에서 동작하는 코드의 성능을 고려하지 않으면 웹페이지 자체가 늦게 뜨는 이슈가 발생하기 때문에 이 또한 주의해야하는 부분입니다.
소프트 스킬이란 커뮤니케이션, 협업하며 상호작용할 때 필요한 감성 지능을 의미합니다. 1인 기업이 아닌 이상 결국 사람과 함께 일하는 것이기 때문에 연차가 쌓일수록 다른 부서와 커뮤니케이션하고, 팀원들을 매니징해야하는 부분이 늘어납니다. 이때 소프트 스킬이 좋은 사람은 함께 일하기 좋은, 리더십이 있는, 문제해결력이 좋은 사람일 확률이 클 것입니다. 저도 연차가 쌓이다보니 이런 부분들을 더 강화시켜야겠다는 생각이 들어 관련된 책들을 읽으면서 고민을 많이 하고 있는 부분 중 하나입니다.
프론트엔드 개발만으로는 커리어 성장에 한계가 있다
PG 연동 및 결제 기능을 하면서 느낀건 "중요한 로직제어는 다 백엔드에서 하는구나" 였습니다. 프론트도 재밌긴한데 백엔드 개발자분들이 다양한 케이스를 고민하고 설계하는 모습을 보면서 나도 해보고싶다라는 생각이 들었습니다. 그래서 CS는 조금씩 공부하고 있는데 백엔드, 인프라를 시간될때 틈틈히 그리고 기회가 된다면 꼭 해보고 싶네요.
AI가 발전하는 지금 시대에서 하나만 할 줄 아는 사람은 결국 도태될 것입니다. AI를 사용해서 빠르게 생산적으로 개발하는 풀스택에 대한 수요가 증가할 것이기 때문에 결국 서비스 개발의 전반적인 흐름을 모두 알고 있는 것이 큰 경쟁력이 될 것입니다.
...
이렇게 돌아보니 도전과 배움의 연속이었던 시간이었습니다. 물론 쉽지 않은 순간도 많았지만, 그만큼 성장할 수 있었고 앞으로도 그걸 바탕으로 더 나아질 수 있겠다는 자신감이 생깁니다.
다음 주부터 출근하는 새로운 회사에서도 지금까지 배운 것들을 잘 녹여내고 공부하고 성장하고 싶습니다. 특히 목적조직에서 기획 단계부터 참여할 기회가 많다고 하니, 좀 더 주도적으로 일하면서 새로운 시각을 배울 수 있을 것 같네요.