좋은 개발자가 되기 위한 2023년 상반기 회고

2023년 상반기 회고

정말 빠르게 지나간 2023년 상반기가 지나갔다.

 

장대했던 나의 2023년 상반기 계획의 절반을 이루지 못했지만, 새로운 경험들을 직접 찾아 나섰던 기간이라고 생각한다.

 

큼직 큼직했던 일들 위주로 작성해보았다.

  • 개발
    • 알툴즈 리브랜딩(13년 만의 새 단장)
    • 첫 외주 프로젝트
  • 성장 활동
    • GDG 송도(러닝 from 오픈소스 스터디 1기 참여) 활동

알툴즈 리브랜딩

 

알툴즈 | 내 PC 필수품

업무 효율을 높여주는 빠르고 간편한 전국민 PC 필수품, 알툴즈 공식 사이트입니다.

altools.co.kr

2022년 말부터 진행하여 6월 28일 마침내 길고 긴 서비스를 론칭할 수 있었다.

 

이 회사에 입사 후 두 번째 프로젝트이며, 13년 만의 새 단장과 신사업을 동반하여 부담이 많이 들었던 프로젝트였다.

지속적으로 새로운 기획에 대한 개발을 진행하고 있지만, 지금까지의 과정이 굉장히 험난하고 스트레스가 많았던 프로젝트 중 하나라고 생각된다.

 

그만큼 나에겐 큰 성장과 되돌아볼 수 있게 된 서비스이고 지금도 욕심이 많이 나는 서비스이다.

개발 챌린지 리스트

  1. Next.js 개발
  2. Storybook 협업
  3. 아키텍처 및 디자인 패턴
  4. 브라우저 최적화, 모바일
  5. Yarn classic > Yarn-berry 마이그레이션

위 챌린지 리스트 중 4,5번이 가장 골머리가 아팠던 리스 트였던 것 같다. 1~3번은 작년부터 누적되어 왔던 것들이라 무난(?)했다고 생각되었다고 생각한다.

하지만 지금까지 비즈니스 개발만 진행해 오던 내가 브라우저 최적화와 다양한 환경의 OS, 크로스 브라우징 이슈를 고려해야 하는 상황을 겪게 되면서 정말 정말 많은 것을 깨달았던 경험이었다.

 

“프론트 개발자가 로직 작성하고, 아키텍팅과 디자인 패턴을 좀 한다고 할 줄 아는 게 아니구나! 오만한 놈...”

 

첫 번째로는 수익, 접근성, 통계와 다양한 기기와 브라우저를 전부 고려해야 했던 것만큼 그에 따른 기초 지식과 CS지식이 정말 많이 요구되었다.

SSR, SSG, ISR 처리에 따라 효율적인 렌더링 구조를 이해하여 서버 비용을 최소화해야 했고, UX와 성능을 위해 캐싱 작업과 custom hook 최적화까지 고려하며 작업을 진행했었다.(이때 브라우저와 크로스 브라우징 이슈에 관한 지식에 대한 중요성을 많이 느꼈다.)

 

두 번째로는 Yarn-berry 마이그레이션 작업이 스스로에게 큰 챌린지였다. 하반기 모노레포 마이그레이션 작업을 위한 발판 겸 기존 node_moudes 구조 개선과 빌드 최적화를 위해 론칭 전 마이그레이션 작업을 진행했다.

 

중간중간 일정에 대한 압박을 버티면서, 밥 먹는 시간 빼고 작업에 몰두하여 일주일 만에 QA서버 배포를 완료했다.

 

하지만 생존 도커 공부가 필요하다는 것 또한 절실히 느꼈다..

사내 깃랩 서버 버전 이슈 때문에 도커 파일 작성은 에 많은 시간을 빼앗겼지만… 어서 빨리 깃헙으로 옮겨줘…

 

 

 

팀원들이 잘 따라올 수 있도록 가이드 PR을 작성했는데, 다행스럽게도 다들 잘 따라와 주어서 뿌듯한 PR이었다.

 

또 겸사겸사 Storybook 메인 버전 업그레이드와 테스트 코드 디렉토리 정리 작업까지 진행하여 꽤나 큰 PR이 되었었다.


첫 외주 프로젝트

 

GitHub - NAMSAN-MT/Namsan: 남산 홈페이지입니다.

남산 홈페이지입니다. Contribute to NAMSAN-MT/Namsan development by creating an account on GitHub.

github.com

첫 외주 프로젝트를 맡아보며, 팀워들과 많은 토론과 새로운 기술을 적용해 보려 노력했던 프로젝트였다.

적용했던 기술과 경험을 나열해 보겠다.

  • Gatsby(+Styled-Components)
    • 익숙한 Next.js를 쓰지 않고 다양한 기술을 써보기 위해 선택을 했지만, 왜 많이 사용되지 않은지 피부로 느낄 수 있었던 기술이었다.
    • GraphQL 내장되어 있어 서버 사이드 로직을 많이 줄일 수 있었다.
    • SSG에 특화된 기술이라 그런지 SSR 페이지 구현에 장벽이 있다.
    • 가장 최악이었던 건 gatsby-plugin들이 오피셜 하지 않고 아무나 만들 수 있는 플러그인들이라 라이브러리 사용에 문제가 많이 있었다.
    • React 기반 기술이라 처음 접근은 어렵지 않았다.
    • Styled-components 적용은 아주 베스트였다고 생각한다. 사내 서비스 개발을 하면서 mixin과 media 쿼리 사용방식을 많이 착안하여 스타일 작업에 용이했다.
  • Firebase
    • 운영용으로 사용으로는 처음이긴 했지만, 서버리스 환경에서 구축과 배포가 편해 사용하였다.
    • 다만 nosql 데이터라 그런지 관계형 데이터 구조가 절실히 필요했던 적이 있었지만 그럴 수 없어 로직 처리에 애를 많이 먹었다.
    • 서버 측 데이터를 다루는 파트가 많았는데, Algolia라는 검색엔진을 firebase와 연동하는 게 많은 어려움이 있었다.
  • Algolia
    • google-functions를 사용해서 Algolia용 프로젝트를 따로 배포해야 했고, 운영 프로젝트에 연동 작업에 많은 시간이 소모되었지만 성공적으로 완료했다.
    • 프론트 작업보다는 100% 서버 작업이었고, node.js + firebase + aloglia + google-functions 이 네박자가 같이 들어가니 중간에 포기하고 싶은 생각을 많이 했다.(엘라스틱 서치로 바꾸고 싶었지만 firebase랑 잘 맞지가 않아 패스…)
    • 무료 버전 사용을 위해 검색용 레코드 데이터 최적화 작업까지 진행하였는데, 이 작업이 정말 손이 많이 갔다. 다른 분들은 프론트 작업에 열중해서 내 고충을 알려나…
    • 덕분에 node 환경과 google-functions 환경에 대해 공부도 많이 하고, 검색 엔진도 경험해 볼 수 있어서 좋은 경험이었다고 본다.

GDG 송도(러닝 from 오픈소스 스터디 1기 참여) 활동

 

러닝 from 오픈소스 스터디 1기

러닝 from 오픈소스 스터디 1기의 스터디 발표 내용, 자료 공유 노션 입니다.

chip-bream-9d5.notion.site

기회가 되어 외부 커뮤니티 활동 중 GDG라는 활동을 할 수 있게 되었다.

 

송도까지 가서 이걸 해야 하나라는 고민을 많이 했지만, 최근 들어 스터디도 하지 않고 있고 성장에 많이 지체되었다고 생각되어 자극제를 찾고자 활동에 참여하게 되었는데 정말 다양한 포지션과 다양한 회사에 일하시는 분들이 모였는데 이렇게 다른 관심사를 가지지만

‘오픈 소스’라는 주제 하나만으로 모두가 참여할 수 있는 스터디가 가능하구나라는 걸 알게 되었다.

 

무엇보다 멘토로 활동해 주신 인제님의 활약이 대단했고, 평소 오픈 소스 까보기에 진입 장벽이 있던 나의 벽을 허물게 되는 좋은 계기가 되었던 활동이다.

마지막 스터디 회고 발표하는 인제님

 

내가 발표했던 내용으로 평소 에디터에서 동작되는 Typescript의 tsserver 기능을 분석하게 되는 계기가 되었다.

 

Typescript의 tsserver를 알아보자

Typescript 소개

www.notion.so

오늘부터 나도 구글 개발자(?)

완주 기념으로 Google Developers 티도 받고 앞으로 개발 안되면 이거 입고 공격력 상승 할 예정이다.

 

마치며

장대한 계획을 했던 나를 꾸짖게 되는 상반기였다. 생각보다 낮은 의지로 계획의 절반도 수행하지 못했고, 바쁘다는 핑계로 공부에도 많이 소홀했다.

 

하지만 하반기에는 반드시 해야 할 것이 있기 때문에 정신 바짝 차리자는 명목으로 회고록을 잘 써야겠다고 생각이 든다.

왜냐하면 내가 한 해 동안 무엇을 했는지 정리할 수 있는 좋은 시간이고, 항상 반성하게 만드는 행위이기도 하니까…

 

마지막으로 하반기 챌린지 리스트를 작성하며 다시 한번 마음을 다잡도록 하자.

하반기 챌린지 체크 리스트

  • 모노레포 구축
  • 사내 자동화 테스트 시스템 구축
  • 브라우저 최적화, 네트워크, 객체지향 책 완독