프론트엔드 개발자 회고
인생의 첫 회고라는 것을 기록하려고 한다.
단순히 메모나 기록을 넘어서 내가 어떻게 성장하고 있는지 적어보고 싶다.
Why? 개발자
가장먼저 어떻게 개발자라는 직업을 가지게 되었는가
컴퓨터, 통신을 전공으로 하는 실업계 고등학교를 나왔지만 프로그래밍을 해본경험은 거의 없었다.
해본것이라곤 전공선생님 코드를 따라하는 정도의 C, Visual basic 정도
하지만 평소에 컴퓨터나 전자제품, 하드웨어, 소프트웨어를 좋아하는 성격이라서
자주 접하기도 했고 관련 영상도 자주 봐왔다.
전향을 결심한 건 '목표가 없다는 것' 그저 삶에 안주하며 발전하지 않고 있다는게 결정적인 이유였다.
주변을 둘러봤을때 누군가는 발전을 위해 공부하고 높은곳에 올라서있고
누군가는 그저 안주한채로 나와 비슷한 위치에 있거나 뒤쳐져 있는게 눈에 보였고
이렇게 살다가는 내가 원하는것을 해볼 가능성도 없겠다 생각했고 늦기전에 도전했다.
2021년 11월 만 26살에 논리적인 것을 좋아하고 컴퓨터에 관심이 많았던 나는 개발자에 도전하기 시작했다.
처음엔 다니던 회사를 다니면서 HTML, CSS부터 시작했고 생각보다 흥미로웠다.
완전한 전향을 결심한 2022년 2월 부트캠프를 신청하고 퇴사절차를 밟았고 2022년 03월부터 부트캠프 학습과 독학을 병행했다.
사실 이때는 정말 힘든 하루하루를 보냈던 것 같다.
JavaScript, React 등 점점 진도가 나아갈 수록 이해가 어려웠고 "내가 더 할수 있을까?"라는 생각이 계속 스쳐지나갔다.
그래도 이미 결심한 이상 끝까지 간다는 마음에 같은 강의영상을 수십번씩 돌려보면서 공부했다.
성장의 첫걸음 첫커리어
그렇게 2022년 11월 첫 커리어를 시작하게 되었다.
성수동 A회사는 첫 개발커리어이자 성장에 크게 도움됐던 회사다.
같이 일했던 동료분께서 정말 진취적이고 무엇하나 놓치지 않고 성장을 추구하는 개발자였기에
많이 배우고 빠르게 성장할 수 있었는데
이때 React와 Next.js에 대해서 많이 깨닫게 되었다.
SPA가 아닌 웹과의 차이를 이해하고 ServerSideRendering을 이용했을때 가져갈 수 있는 이점을 알게되었고
어떻게 사용할때 조금 더 효율적이고 회사에게도 나에게도 도움되는지 알게 되는 시간들이었다.
무엇보다 공부하는 법, 문제를 마주했을 때 트러블슈팅을 하는 법에 대해 알게 되었는데
기록이나 메모가 가능한 상황이라면 병행하는 습관을 가지게 되었고
문제를 마주했을때 해결만이 정답이 아닌 원인분석과 과정에 있어 왜 이 해결책을 선택했는지 고민해보는 습관이 생겼다.
그밖에도 DesignPattern, 웹이나 앱을 개발할때 알아야하는 생태계나 환경적인 부분도 많이 깨달았다.
미숙하고 답답한 저를 끝까지 이끌어주신 과장님 감사합니다!! ^_^
다만 회사의 마무리가 징그럽게도 안좋았던 것이 임금체불과 대표자의 행방불명으로 아직도 소송중이다..
고민의 연속 두번째 커리어
2023년 06월 더 많은 경험도 하고싶었고 탄탄한 회사에서 근무하고 싶었던 나는 두번째 커리어를 시작했다.
김포에 위치한 B회사는 첫직장 만큼은 아니지만 꾸준히 성장할 수 있는 경험들을 쌓아왔다.
개발을 주력으로 하는 회사가 아닌 금속가공 생산업체였는데 IT기술을 접목해 실시간 모니터링을 개발하는 업무를 했다.
문제는 전임자가 없었다는 건데 그런 이유에서인지 머리아플정도로 코드가 복잡했다.
몇가지만 말해보자면 Type정의는 당연히 안되어 있었고 Swagger나 Notion, Jira같은 협업툴도 사용을 안했고
Git에 리소스관리도 안되고 있는 상황에 백엔드 개발자분께서 혼자 프론트부터 백엔드까지 개발하고 명령어로 배포만 했던 것이다.
나 역시 많이 부족했지만 어느누가 생각해도 유지보수나 개발소요시간 등 모든 면에서 안좋은 상황이기에
리팩토링, 마이그레이션을 건의했다.
그렇게 Vue.js와 JavaScript로 짜여진 프로젝트를 다시 개발하기 시작했고
약 1개월간 적응과 함께 프로젝트를 다시 개발해냈다.
새로 짜여진 프로젝트는 React기반의 Next.js프레임워크를 사용했고 M-V-VM 디자인패턴, MobX상태관리자를 사용했다.
또 TypeScript를 사용하면서 이전보다 타입추론이나 소스코드 추적이 간편해졌다.
다만 실시간 모니터링서비스이기 때문에 수많은 Socket데이터를 받아내야하는데 많이 애를먹었다.
이 문제는 Mapper모듈을 거쳐 필요한 값만 저장할 수 있게 했는데 완벽하진 않지만 많이 개선되었다.
작업을 하면서 항상 고려했던 것은 재사용성도 있지만
'내가 아닌 다른 개발자가 보아도 유지보수가 가능한 코드를 만들자'였다.
어쨋든 기존의 UI를 활용하지만 내가 직접 프로젝트를 설계하고 많은 고민을 하게된 시간은 소중한 경험으로 쌓이게 되었다.
그런데 줄줄이 퇴사가 이어지더니 개발자라곤 프론트엔드인 나와 엣지서버개발자 한분이 전부였고
입사할때 계시던 백엔드 분들은 모두 나가고 자리에 없었다.
정말 많이 아쉬웠다.
사람으로써 좋은 관계이기도 했고 배울점도 많았지만 성장하는 개발자가 혼자있는 것이 너무 크게 다가왔다.
내 코드를 봐줄사람도 지적을 해줄사람도 없게되었고 아쉬웠지만 나름 혼자 공부를 열심히 했다.
사이드프로젝트도 꾸준히 진행했는데
GPT api를 이용해서 가상면접과 평가를 해주는 서비스와
소상공인 재고관리 & 예약관리 시스템을 팀프로젝트로 진행하고 있다.
그나마 여기서 사용해 보지 않았던 기술들, 라이브러리들을 일부러 도입해보며 서로 코드도 봐주는 시간을 가졌다.
대표적으로 Redux, Redux-toolkit, Tailwindcss, Atomic Design 등 도입가능한 라이브러리는 최대한 경험하려했다.
황금같은 세번째 기회, 다짐 ( +2024-03-07 추가+ )
그런데 마침 꾸준히 진행하던 사이드 프로젝트 개발자분께서 손길을 내밀었다.
'얘기한번 해볼게요 면접한번 보실래요?'
나에게 있어서 기회가 아닐 수 없었다.
야근이 많건 어쨋건 같이 개발할 수 있는 개발자 인원이 있었고 집에서도 가깝고 연봉도 지금보다 높았다.
완벽하진 않지만 열심히 하는건 둘째가라면 서러울 정도인 나를 알아봐준 사람들이고 알아봐준 회사이니만큼
이제는 커리어를 지금까지 엉망으로 쌓았던걸 되돌아보며 오래다니려고 한다.
꼭..화이팅!!!