본문 바로가기
BlahBlah

[2021년 상반기 회고] 주니어 프론트엔드 개발자의 회고

by 곰돌찌 2021. 7. 2.

자바개발자로서 2년 5개월, 프론트엔드 개발자로서 1년 3개월 즈음 지나고 보니 벌써 2021년 상반기가 지나버렸다.

 

작년에는프론트엔드 개발자가 되고 싶었고, 결론적으로 프론트엔드 개발자가 되면서 회사에 적응하고 추가적인 공부도 하고..

다양한 개인적인 일들까지 있어서 다이나믹하게 살았던거 같았다.

 

La vita c'è ecco qua e adesso

지금을 기억하라는 뜻이고 몇년 전부터 나의 원래 모토(법에 접촉되지 않는 한 다양한 경험을 최대한 해보자)와 함께 쌍벽을 이루게 된 모토이다. 현재에 최선을 다하라는 뜻이고, 2021년 상반기는 이 뜻에 맞게 잘 살았던 것 같은 느낌적인 느낌아닌 느낌이 들었다!

프론트엔드 개발자로서 공부에 대한 좌절감은 몇 번이고 있었지만 프론트엔드 개발자로서 개발을 하는 데에 있어서는 후회를 하지 않았다. 그만큼 다양한 프로젝트를 진행했고 웹에서, 프론트에서, 할 수 있는게 매우 많다는 것을 느꼈기 때문이다.

작년까지 WebGL도 다루어 보았고 올해 초반에는 (퇴사할 예정이지만) WebRTC에 대해서도 공부를 할 기회를 갖게 되었다.😁

 

그래서 최선을 다해서 2021년 상반기를 보냈고 첫 회고를 정리해본다.

 


 

🏢 회사

▪️ 1년 넘게 한 프로젝트의 무산

2020년 4월, 현재 회사에 입사를 하고 입사 초반부터 같이 동거동락(?)해온 프로젝트가 5월에 공식적인 무산이 되었다. 이 때는 프론트엔드 개발자 1명(나), 퍼플리셔 1명(팀장님), 백엔드 개발자 1명 이렇게 셋이서 진행한 프로젝트였다. 기획이 처음부터 중심이 잡히지 않고 이리저리 왔다갔다를 반복하면서 개발도 이에 따라서 어려워졌다. 그리고 4월에 같이 처음부터 해온 백엔드 개발자분이 퇴사하시면서 새로입사하신 백엔드 개발자분이 못하겠다고 선언하시고... 다양한 이유와 새로운 팀장님이 합류하시고, 공식적으로 무산이 되었다.

사실 매우 복잡한 로직이 들어갔고, 그 중심이 되는 로직의 방향도 거의.. 일주일에 한 번씩 바뀌는 느낌이었고 할 때마다 스트레스가 왔었지만 그래도 1년넘게 한 프로젝트이기 때문에 애증(?)의 프로젝트가 되어.. 공식적인 무산이 되었을 때 매우 아쉬웠다. 좀 더 기획적으로 보완이 되어 처음부터 기획을 다시 잡고 다시 시작할 수 있다면 좀 더 나은 프로젝트가 될 수 있을 것 같았지만 다른 프로젝트를 더 중요하게 생각하시는 여러 윗분들에 의해 잠정 중단 및 무산이 되어버렸다.

그래도 이 프로젝트를 하면서 리액트를 좀 더 익숙하게 다룰 수 있게 되었다는 점에서 이 프로젝트의 가장 큰 성취가 된것 같다.

 

▪️ WebRTC

새로운 프로젝트로 수행을 준비하는 것이 WebRTC 기반의 프로젝트였다. 다양한 화상회의 프로그램을 써봤지만 직접 구축해야한다는 요구 사항이 들어왔을 때 동공이 흔들리면서.. 결국 프론트 기술을 혼자 개발해야한다는 막막함을 먼저 느꼈다. 먼저 WebRTC에 대해서 공부를 해보았고 팀장님이 제공해주신 소스를 리팩토링하면서 공부를 시도(?)하였다. 물론 이시기에는 이미 이직을 결심한 상태였기 때문에 집중이 되지 않는 건 사실이었고, 그래서 소스 리팩토링을 하는 데에도 의욕이 많이 저하되었었다.

WebRTC를 간접적으로 체험할 수 있어서 좋다고 생각이 들었고 지금 이 글을 쓰면서 반성을 하게 된다.. 퇴사까지 2주가 남았으니 그 때까지라도 이해를 해보는 것으로..! (급다짐)

 

🚀 이직

▪️ 이직의 결심

물론 현재 회사에서 WebGL도 써볼 수 있었고, Canvas 기술도 다룰 수있고 다양한 경험을 해보았지만 현재의 회사가 IT 전문의 회사가 아니고, 거의 업력이 20년이 되기 때문에 개발부서의 일원으로서 어려움이 있었다. 이 어려움 중에서 가장 크게 이직을 결심하게 된 것은 회사 내부에서 개발자에 대한 인식이었다. 회사 내부적으로 신사업에 대한 의문이나 불만을 가지고 있고, 결과로 아웃풋이 안나오고 수익이 나지 않는 상황이기 때문에 부정적인 의견이 있었다. 특히 회사 블라인드를 보고.. 그런 생각이... 들게 되었다..

사실 이러한 생각을 가지고 있는 직원들의 입장을 충분히 이해하는 편이었다. 외주를 주는 것만큼 웹페이지 개발 속도가 나오지 않고(계속 3명이서 일했고.. 여러 프로젝트에 중심으로 되는 프로젝트까지 있어서..) 수익이 나는 제품을 개발한 것도 아닌데 계속 인력충원을 하고 있으니.. 그런 생각이 들 수 있었다.

하지만 나는 뽀시래기지만 개발자로서 자부심을 가지고 있기 때문에 이러한 분위기 속에서 개발을 할 수 없다고 생각이 들었고, 연구소로 변경이 되고 거의 1년이 다 되어가는 데도 무언가 틀이 잡히지 않고 진행하고자하는 프로젝트의 진전도 없어보이는 여러가지 상황들로 인해 이직을 결심하게 되었다.

 

▪️ 이직 준비

3개월 정도 고민을 하게 되었고, 이직을 준비하게 되었다. 여러군데 서류를 접수하게 되었고 서류에서는 다행히 합격을 많이 할 수 있었다. 여러군데 과제도 수행해봤고, 기술면접도 보면서 들었던 생각은 내가 진짜 자바스크립트 기초에 대해서 많이 부족하구나 싶었다.

자바스크립트를 많이 사용하고 있고 프론트엔드 개발자로서 부끄러움을 많이 느끼게 되었다. 웹과 자바스크립트의 동작원리 등 이에 대한 공부가 많이 부족함을 느끼고 진짜 한 달동안 열심히 공부를 했었다. 유투브도 찾아보고 책도 읽고 구글링도 하면서 나만의 이해를 찾게 되었고 이를 티스토리에 옮겨 담기 시작했다. 

기술면접에서 탈락한 곳에 대해서는 생각이 많았고 지금 다시 본다면 그래도 많이 대답할 수 있지 않을까!라는 근거없는 자부심도 생기게 되었다...🥲

과제 수행을 하고 합격하여 기술면접을 본 곳들에서는 코드를 깔끔하고 잘 짰다는 이야기를 많이 들었다. 사실 프론트엔드개발자로서 혼자 개발을 진행하고 있었고 코드에 대해서 이렇게 짜는 것이 맞나?라는 생각들을 많이 했는데, 과제를 통해서 좋은 피드백을 받게 되어서 개발자로서도 올해 이직을 하면서 많은 자신감을 갖게 된 것 같다.

여러 면접을 보게 되었고 3군데에서 2차면접을 보게 되었고, 2차면접에서도 2군데가 최종합격할 수 있었다. 이 때.. 여러가지 상황이 있었는데 한 군데는 코드리뷰때도 과제 수행에서 제일 잘 짰다고 칭찬을 받았고, 분위기도 좋아서 굉장히 가고 싶었는데.. 2차에서 탈락하게 되어서 하루정도는 진짜 멘탈이 터지는 경험을 하게 되었다. 하지만 심기일전하고 다른 2곳을 합격하게 되었다.

 

▪️ 합격과 퇴사 통보

감사하게도 두 회사에서 좋은 경험을 갖고 최종합격을 하게 되었다. 두 곳 모두 좋은 처우를 제안해주셨고, 아쉽지만 더 좋은 처우와 면접 때 좋은 감정과 기분을 들게 했던 한 곳을 선택할 예정이고, 8월에 첫 출근을 하려고 생각하고 있다.

그리고 며칠 전에 현 회사에 퇴사를 통보하게 되었다. 퇴사를 통보하기 전에 전 팀장님과 연구소 부소장님 등에게 미리 말씀을 드렸다. 두 분 모두 개발을 하는 데 환경을 만들어주지 못한 것 같아 많이 미안하다고 말씀해주셨다. 두 분과 많은 이야기를 했고, 정말 좋은 사람들과 함께 일을 했구나 라는 생각이 들었다.

공식적인 통보하는 날, 팀장님께 말씀을 드렸고, 새로오신 팀장님께서는 내가 주축이 되어서 개발을 진행하고자 했다는 생각을 말씀해주셨고 너무 감사한 생각이 들었다. 프론트엔드 개발자로만 보면 1년 3개월의 경력이었는데 이렇게 생각을 해주신다니... 감사하고 더 열심히해야겠다는 생각이 들었다. 남은 2주동안은 진행되었던 것들을 진행하고 새로오신 프론트개발자분께 인수인계와 교육을 진행하기로 하였다.

 

🖥 학습과 성취

▪️ SSR 도입

이전까지는 CSR 기반으로 리액트를 제작하였지만 최근 행사에 사용할 웹페이지는 SSR기반의 Next.js를 도입하였다. 리액트를 하면서 항상 Next.js를 다뤄보고 싶다는 생각이 들었고, 틈틈히 공식문서를 보면서 공부를 했다. Next.js의 장점들을 공부할 수 있었고 이번 사이트에 에 도입을 할 수 있었다. 

서버에 올릴 때에는 백엔드 개발자분이 서버를 만들어주셨고 직접 거기에 어플리케이션을 올릴 기회가 있었다. pm2와 nginx을 사용하여 올리고 엄청난 우여곡절을 겪고 서버에 올릴 수 있었다... (서버쪽은 제 취향이 아닌걸로) 

첫 SSR 도입은 성공적으로 되었고 아직 오픈 준비중이지만 재미있는 경험이 되었다.

 

▪️ DCMS 개발 프로젝트

개인적으로 친구의 회사 업무 자동화를 위하여 + 나의 포트폴리오 만들기 목적을 위하여 DCMS 사이트를 개발진행하였다. 방통대 학생이라는 메리트로 Azure를 통해서(1년마다 100달러 무료!) 프로젝트를 올렸고, Azure의 Pipeline을 가지고 자동 배포가 되는 것까지 시도를 해보았다. (굉장히 재미있었던 경험인것으로..)

일단 기획은 친구가 진행을 하였고 회사에서 사용할 수 있는 프로젝트를 시작하였다. 이 때. 이전에 봐왔던 기술인 redux-toolkit을 적용해 보았다. 굉장히 사용성이 편리했는데, 뭔가 내가 쓰고 있는게 맞는지 의문이 가기 시작하긴했었다... (코쓱) 그래도 기술은 잘 적용 되었고, 현재 한 메뉴는 오픈하고 회사에서 잘 사용 중이다. 이걸로 친구는 승진 면접에서 좋은 평가를 받았다고 말해줘서 기분이 좋았다! (나도 으쓱) 친구의 부사수도 편하게 사용하고 있다고 하여서 이게 프로그램만드는 재미구나 싶은 생각이 들었다.

 

🎹 개인

▪️ PT

사람은 안움직이게 되고, 살은 포동포동하게 올라오고, 옷 태가 점점 안나오고, 몸은 망가져가는 것이 느껴지고, 체력이 점점 저하되는 것을 느끼고... 등등의 여러 이유로 PT를 시작하게 되었다. 엄청 죽을 것 같은데 자꾸 시켜서(?) 하다보니.. 점차 다시 살이 빠지고 체력이 늘어나는 것이 느껴졌다. 친구들과 헬팟이 생기고 진짜 가기 싫은데 친구들이 출석찍는거(?)를 보니까 가서 하게 될 때도 있었다......ㅎ..... 고마운 친구들이다...

 

▪️ 피아노

작년 하반기부터 시작한 피아노 레슨이 벌써 1년이 다 되어간다. 자체 용돈에서 반을 쪼개서 레슨을 받는데, 사실 엄청 안늘었다😥 연습도 잘 안하니까 당연하겠지.... 하지만 배울 때는 열심히 배우고, 좌뇌와 우뇌가 열심히 굴러가는 것을 느낄 수 있다. 나름 컴퓨터로 오른손 왼손 열심히 친다고 했지만 역시 피아노에 비할바가 아니다. 머리도 써야하고 음표도 봐야하고 박자도 신경쓰고 세기도 신경쓰고... 진짜 왠만한 똑똑이가 아니고는 피아노는 진짜 멋진 세계인것같다.. 배우면서 다시 바이올린도 배우고 싶은데.. 용돈이 없어.. 또르륵..

 

▪️ 방통대

3학년 2학기의 방통대를 마치게되었다. 처음으로 기말 시험도 보고 했는데 나의 재질은 기말 과제였나보다. (망했다)

이번 수업에서는 가장 큰 수확?은 운영체제였던것 같다. 알고리즘과 운영체제가 가장 큰 수업중에 하나였는데, 운영체제는 벼락치기지만 모든 강의를 수업을 들었고, 되게 유익한 수업이었다. 물론 크게 쓸일이 없을 것 같지만 CS 지식이 늘어나서 기분이 좋은것으로! 운영체제는 따로 더 공부를 해보는 생각도 들었다.

 

 

상반기에 진짜 열심히 살았다는 생각이 들었던 건 회사의 업무 뿐만 아니라 다양한 활동을 같이 해서 그런것 같다. 회사 업무는 기본으로, 이직 준비와 개발 공부, 방통대 수업, 피아노 레슨, 운동(PT)하고 거기에 개인 프로젝트까지 진행했더니 일주일이 부족하다는 것을 느꼈다! 그만큼 매일 잠을 자기 전에도 하루가 아쉽다는 생각이 들지 않았던 것 같다.

하반기의 목표

🏢  퇴사와 새로운 회사 적응

일단 7월에 퇴사를 하고 잠시 2주의 휴식기를 거친 뒤에 새로운 회사에 입사를 한다. 2주간의 휴식기 동안 좀더 공부를 할 생각을 갖고 있다. 개인적인 목표로 개발 공부를 진행하지만 이를 통해서 다음 회사에서도 빠르게 적응하고 싶은 생각이 들었다. 프론트엔드 개발자로서 첫 이직이기 때문에 그에 맞게 스펙이 있으면 좋겠다는 생각이 들었기 때문이다. 워낙 욕심이 있어서, 이직할 회사에서도 없어서는 안될 존재가 되고 싶은 마음도 2주간의 휴식기동안 공부의 목표가 될 것 같다😁

 

📚 학습

✔️ TDD도입

올해에 있어서 나의 가장 큰 이슈는 TDD였다. 열심히 구글링을 해도 간단한 정도밖에 나오지 않고 좀더 복잡한 프로그램에서 TDD를 어떻게 적용할 것인가를 많이 공부하지 못했다. 또, 가장 큰 문제는 어떠한 것을 어떻게 테스트할 것인가를 많이 고민했었다. 결국 TDD는 개인프로젝트에서만 찔끔... 써보고, 회사에서 적용을 못해 보았다. 이게 가장 큰 약점이었고, TDD를 기반으로 프로그램을 개발하고 싶다는 목표는 아직 변하지 않았기 때문에 하반기에는 TDD에 대해서 좀 더 공부헤서 이를 도입하는 것이 가장 큰 목표이다.

 

✔️ 네트워크 공부

최근에 [그림으로 배우는 네트워크 원리]라는 책을 구매하였다. 방통대 교육과정에 네트워크 관련 과목이 없었기 때문에 그래도 웹을 다루는 프론트엔드 개발자로서 공부를 해보고 싶다는 생각이 들었다. 그래서 먼저 간단하게 배우자는 생각으로 책을 구매했고 올 하반기에는 이 책을 완독하고 추가적인 공부를 할 생각을 갖고 있다.

 

✔️ 자바스크립트와 리액트 공부

이번 이직 준비를 통해서 많이 부족했다고 생각했던 것이 자바스크립트 기초와 리액트의 원리 등등이었다. 이러한 공부가 많이 부족하다고 탈락을 통해서 뼈저리게 느끼게 되었다. 책도 구매를 했고, 다양한 자바스크립트 관련 사이트들도 등록 해놓았고, Udemy에서 리액트와 자바스크립트 강의를 구매하였다. 첫 회원가입이라서 저렴하게..! 외국인이 알려주는 강의여서 자막은 틀어놓지만, 되게 자세하기 알려주기 때문에 많은 도움이 되고 있다. 

최신 자바스크립트 기반으로 교육을 하고 있어서 왠지 모르는 마음이 편-안해지고(var를 안봐서...) 기초부터 들으니 생각하지 못했던 것들을 알게 되어서 기초가 탄탄해지는 느낌이 들었다.

출퇴근에 조금씩 보고 있는데 유익하고 내가 모르는게 있으면 구글링해서 심화 학습도 할 수 있어서 강의 구매는 좋은 선택이었던 것 같다. 최근에는 이직 준비로 약간의 번아웃이 와서, 강의를 많이 못들었는데, 이번 하반기에는 이 수업들을 틈틈히 듣고 공부하는 것이 목표이다.

 

✔️ WebGL을 활용하여 미니 프로젝트 하기

작년 회사 홈페이지 제작 때, WebGL 기반의 three.js를 사용할 기회가 있었고, 이를 적용해서 메인페이지를 작성했다. three.js를 이 전부터 공부하면서 가상 전시회처럼 만드는 느낌도 해보고 여러가지를 해봤는데 매우 재미있었고 더 공부해보고 싶은 느낌이 들었다. 그래서 이번 하반기에는 리액트 기반의 프로젝트가 아닌 WebGL을 다루는 미니 프로젝트를 하나 해볼 계획이다. 아직 계획만 하고 있는데 이 관련 프로젝트는 티스토리에 정리를 하면서 진행해 볼 생각이다.

 

✔️ 리눅스 마스터 자격증 따기

방통대 졸업을 위해서 자격증을 따야하는 문제도 있지만 리눅스는 맥을 사용하고 서버에 가끔 접속하기도 하는 개발자로서 공부를 해야하는 분야라고 생각한다. 재작년에 공부를 너무 안해서 시험에 광탈한 기억이 있어서.. 리눅스 마스터 자격증은 꼭 도전해보고 싶은 공부와 자격증이기 때문에 올 하반기에는 자격증을 노리고 공부를 해볼 계획이다.

 

 


2021년 상반기가 지나고 이제 하반기로 돌입하면서 회고를 작성하니 올 상반기에 이런일이 있었구나 싶은 생각이 많이 들었다. 회고를 하면서 정리도 되고 앞으로 어떻게 해야할지도 생각하게 되고, 상반기를 반성하고....

첫 회고라서 말이 뒤죽박죽인것 같지만 회고를 써보길 잘했다는 생각이 들었다.

올 하반기도 즐거운 일과 최선을 다하는 공부, 개인의 삶도 최선을 다하는 날들이 되었으면 좋겠다.

댓글