🤔 : 신입 프론트엔드 개발자가 팀의 프론트 리드가 될 수 있나 ? 거짓말 아니야 ?
거짓말처럼 느끼실 수 있겠지만 사실입니다.
바로 제가 팀에서 유일한 프론트엔드 개발자이기 때문입니다.
제조업의 IT부서이다보니 다른 IT기업들과 다르게 프론트, 백, 데이터사이언티스트... 등으로 나뉘어 있지 않습니다.
😕 : 그럼 기존 서비스는 어떻게 만들었는데 ?!
기존 개발자분들은 모두 풀스택 개발자입니다.
스택은 JSP와 jQuery, 그리고 Java Spring으로 서비스를 개발하시고 있습니다.
저는 JavaScript와 React로 개발을 해왔는데 말이죠.
사내에서 유일하게 저희 팀만이 React를 사용하고 있습니다.
제가 입사하기 전 퇴사하신 분들이 React로 프로젝트를 진행하셨는데
해당 프로젝트의 UI가 팀장님 마음에 쏙 들었던겁니다.
그렇게 퇴사자의 빈자리를 제가 들어가게 되었고 유일한 프론트엔드 개발자가 되어버린 것입니다.
😒 : 뭐야 그럼 그냥 혼자라서 프론트엔드 리드였다는 소리자나.
하지만 !!!
작은 프로젝트들부터 큰 프로젝트의 기획, 기능 검증, 개발까지 혼자서 해냅니다.
스스로 기능 명세를 파악하고 서버를 담당하는 사수와 데이터 형태를 설계하고 Mock 데이터로 UI와 기능을 개발합니다.
클라이언트를 혼자 담당하다보니 하달 받은 여러 프로젝트들의 스케줄과 우선순위도 파악하여 일을 하고 상황을 전달합니다.
그렇다고 온전히 혼자만 프론트 개발을 하는 것은 아닙니다.
풀스택 개발자분들도 간단한 React 교육을 받고 오셔서 React 개발을 잘하십니다.
저는 그 분들이 해결하지 못하는 문제를 같이 해결 해드리고 조금 더 편한 개발을 위해 공용 컴포넌트 개발과 디자인 패턴에 대한 이해를 설명 해드리기도 합니다.
최근에는 기존 브랜치를 사용하지 않는 SVN 형태관리의 위험성을 말씀드리고 Git에 대한 팀 컨퍼런스와 함께 팀내 Git 교육도 하는 중입니다.
스스로 넓은 개발 지식을 원하기 때문에 프론트 쪽만이 아닌 백엔드에서도 문제를 같이 의논하고 해결하며 더 좋은 방향으로 나아갑니다.
신입이지만 책임감 있는 리드의 역할을 해낸 한 해라고 생각합니다.
처음 회사에 Git을 도입하자고 말씀을 드렸을 때 사수와 몇몇 분들은 이러한 말씀을 하셨습니다.
😮💨 : 00씨 여기는 그러기 힘들어. 여긴 IT기업이 아니야...
그 이야기를 듣고 오기가 생겨 더욱 더 바꾸고 싶었습니다.
이후 팀내 개발자 분들에게 Git에 대해 설명해드렸고 이전까지 SVN을 잘못쓰면서 생긴 문제점과 그걸 해결할 수 있는 전략.
그리고 대세가 된 Git이 우리 회사에게 어떠한 이득을 주는지를 PPT자료로 발표하였습니다.
다행히 Git을 사용하기로 하였으며 팀원분들도 꽤나 Git을 마음에 들어하시는 모습에 뿌듯함을 느꼈습니다.
이후 작은 프로젝트에서 Git을 도입했고 자동화 배포에 관심이 많던 사수가 Jenkins도 도입하자는 의견을 내셔서 자동화 배포도 도입을 했습니다.
이후 해당 프로젝트가 성공적으로 끝이나게 되었고 프로젝트에 대해 사수와 회고도 하며 좋았던 점과 부족했던 점 그리고 앞으로 개선되어야할 점을 이야기했습니다.
(추후에 다른 팀들도 점차 Git과 Jenkins에 관심을 가지며 도입 준비를 하는 중입니다.)
사내에서 블로그 URL 공유나 코드 공유 등등 컴퓨터 텍스트를 긁어서 보내야하는 상황이 아니라면 메신저를 잘 사용하지 않습니다.
😗 : 메신저 쓰면 더 편하지 않나 ?
아무래도 스타트업 문화처럼 업무 중에 카페에 가서 이런저런 이야기하는 문화가 없다보니 흡연자가 아닌 이상 대화를 가질 시간이 많지 않습니다.
그렇다고 담배를 피울 수도 없고 ...
업무를 할 때라도 자리로 가서 직접 대화를 하는 편입니다.
그러한 대화에서 오고가는 약간의 재치있는 장난과 표정에서 차가운 사무실의 분위기를 따뜻하게 녹일 수 있기 때문입니다.
저 뿐만 아니라 대부분의 팀원분들이 텍스트가 아닌 대화로 업무에 대해 이야기합니다.
이러한 커뮤니케이션은 키보드 소리만 들리던 사무실을 잔잔한 카페와 같은 분위기로 바꾸는 효과를 내었습니다.
현재 API에 대한 문서가 하나도 없기 때문에 기존 프로젝트에서 프론트쪽 유지보수를 진행할 때 API에 대한 내용은 백엔드 소스코드를 보고 디버깅을 찍으면서 해야했습니다.
이 방법이 클라이언트와 서버를 직접연결하기 때문에 정확하긴 하지만 여러 개의 프로젝트와 수 백가지의 API를 일일이 직접연결하기란 쉽지 않은 일입니다.
때문에 이번에 새롭게 시작하는 큰 규모의 프로젝트에서 API의 문서화가 필수적이라고 생각했습니다.
사수에게 문서화에 대해 의논했고 엑셀, Gitbook, Postman 등 다양한 의견 속에서 소스코드에서 작성 가능하고 무료 툴 중에서 Swagger를 추천했습니다.
아직 테스트코드나 TypeScript, Docker와 같은 해야할 일들이 많지만
지금에서 가장 중요하다고 생각되는 것들 먼저 천천히 도입을 해나아갔습니다. 🥰
격주마다 사람들과 모여 2주동안 있었던 개발이야기 혹은 공부하고 배웠던 내용을 글을 쓰고 발표하는 시간을 가졌습니다.
8월 26일을 시작으로 현재 글을 쓰고 있는 토요일 12월 9일에도 꾸준히 이어가고 있습니다.
글을 쓰는 능력과 함께 토론과 설명을 통한 커뮤니케이션 능력이 정말 향상된 고마운 스터디입니다.
앞으로도 꾸준히 이어나갈 수 있도록 노력하려합니다.
프론트를 혼자서 담당하다보니 코드의 퀄리티나 옳은 방향으로 개발을 하고 있는지 스스로 판단하기가 굉장히 어려웠습니다.
물론 구글에 디자인 패턴, 보안, 에러해결 등을 검색하면서 문제를 해결해나아가지만
"내가 잘하고 있는건가 ?"
라는 질문을 계속해서 하고 있는거 같습니다.
요즘 프론트엔드 기술에서 흔히 "필수"라고 하는 스택들이 은연중에 떠돌아다닙니다.
어느새 React,Vue와 같은 SPA 프레임워크는 기본이 되었고 TypeScript 또한 타입의 안전성을 위해 모든 기업에서 사용중입니다.
더 나아가 신입도 형상관리 사용은 당연한 이야기가 되었고 Jest와 React-Testing-Library 와 같은 테스트 툴도 많이들 요구합니다.
현재 회사에서는 프론트는 커녕 백엔드에서 조차 테스트 코드를 작성하지 않은 상황에 JavaScript로 개발이 되어있고 얼마 전까진 SVN을 사용하고 있었습니다.
[TypeScript 사용하여 만든 간단한 MUI 컴포넌트 네이밍 퀴즈]
https://userhwseo.github.io/ui-quiz/
스스로 토이프로젝트를 하면서 깊진 않지만 얕게나마 해당 기술들을 공부하지만 뒤처가는 느낌은 여전하게 느껴집니다.
이직을 위한 이력서라기 보단 내가 2023년 동안 회사에서 어떠한 일을 하였고
어떻게 성장했는지를 잊혀지기 전에 적어놓으려고 합니다.
이렇게 1년 2년.. 쌓여가는 이력들을 보면서 다음 목표를 향해 달려가려합니다.
전문대 졸업에 컴퓨터 관련 학과가 아니기에 부족한 학력과 컴퓨터 지식을 채우고자
방송통신대에 편입을 했습니다.
부끄럽지 않은 학점과 함께 무사히 졸업을 하려합니다.
지금은 프론트엔드 쪽을 담당해서 개발하지만 백엔드와 DevOps 개발환경 또한 경험을 할까합니다.
프론트의 단편적인 시각이 아닌 백엔드와 서비스 그리고 사용자에 대한 다양한 시선으로 개발을 하고 싶기에 더욱 다양한 경험을 겪어보고 싶습니다.
[Git 도입을 위한 발표 중...]
😆 팀장님 : 나는 00씨가 이렇게 말을 잘하고 발표를 잘하는 줄 몰랐네.
[기능 명세를 위한 회의중...]
🤗 부장님 : 이번 프로젝트 기능 명세 파악하러 외근가는데 프론트는 00씨가 제일 잘 아니깐 같이가서 해당 기능이 구현 가능한지 봐주면 좋겠는데. 갈 수 있나 ?
[사수와 개발을 하는 중...]
🤣 사수 : 이런건 어디서 배워요 ?? 또 혼자만 좋은 기술 사용할려고 그러는거죠 ?
입사 당시 수직적인 분위기와 많은 퇴사자들 그리고 익숙하지 않은 개발 문화들이 처음에는 조금 힘들었습니다.
다행히 팀장님과 팀원 분들 적극적으로 개발 문화 개선에 도움을 주셨고 같이 해결해 나가주시는 모습을 보여주셔서 너무나 감동을 받았습니다.
나름 규모가 있는 제조기업의 IT 부서지만 IT 부서만 보자면 자그만한 스타트업과 더 어울린다고 생각이 듭니다.
스타트업에서 상처나고 구르고 깨지면서 성장한다 생각하고 2024년에도 더욱 노력하는 해가 되겠습니다.
회고 끝.