회고

주니어 프론트엔드 개발자 2023년 회고

D cron 2024. 1. 1. 20:33

2022년 회고 : https://d-cron.tistory.com/73

 

신입 프론트엔드 개발자 2022년 회고

2022년은 나에게 꽤나 의미 있는 해였다. 2022년의 나의 여정을 돌아보기 위해서는 2021년 11월부터 시작해야 한다. 혼자 개발공부를 하는 게 어렵다는 것을 깨달은 나는 당장 취업에 초점이 맞춰져

d-cron.tistory.com

 

작년보다 발전한 부분

코드 리뷰

2022년에는 코드 리뷰가 굉장히 어렵고 부담되는 일이었다. 팀원분들은 나의 PR에 코드 리뷰를 정말 잘해주시는 상황이었고, 나 역시 코드 리뷰를 통해 팀원들께 도움이 되고 싶다는 생각을 항상 가지고 있었지만 실력이 부족했다. 타인이 짠 코드를 이해하는데 대단히 많은 시간이 들었고, 업무도 적응해 가는 중인데 코드 리뷰까지 해야 하니 시간이 부족했다. 코드가 무슨 내용인지 어느 정도 이해하더라도 어떤 걸 리뷰해야 할지 감을 찾지 못했다. 주로 코드 리뷰의 내용은 오타 수정, 선언되었지만 사용되지 않는 코드 삭제에 대한 내용들이었다.

 

이러한 문제는 팀적인 도움 + 개인적 노력으로 올해에는 조금 더 잘할 수 있게 되었다. 팀적으로는 한 번에 너무 많은 수정 사항을 PR로 올리지 않는 규칙을 만들었고 PR의 단위를 줄이자는 공감대가 형성되었다.

 

개인적으로는 어렵더라도 피하지 않고 계속 코드 리뷰를 하는 환경을 조성하려고 했다. 오늘 할 일을 정할 때 코드 리뷰 시간을 잡아 놓는다거나, 30분 이하의 시간이 애매하게 남았을 때는 코드 리뷰를 한다. 같은 개인적 규칙을 세우는 식으로 타인의 코드를 이해하는 일에 익숙해지도록 노력했다. 팀장님께 다른 사람의 코드를 이해하는 능력에 관한 조언을 구했을 때 코드를 많이 봐야 얻을 수 있는 능력이라고 말씀해 주셨는데 많은 도움이 됐다.

 

PR이 작게 올라오기 시작하고, 코드 리뷰를 시간을 정해두고 하다 보니 아주 조금씩이지만 코드 리뷰 하는데 시간이 덜 들어가기 시작했다. 그러자 삭제되면 안 될 코드가 삭제된 걸 발견한다던가, 로직 상의 오류를 찾아내는 등의 의미 있는 코드 리뷰를 (가끔이지만) 할 수 있게 되었다. 코드 리뷰는 여전히 쉽지 않은 일이지만 시간을 상대적으로 적게 사용할 수 있게 되어 부담스럽지 않게 되었다.

 

비판적 사고

인턴 + 신입 때는 우리 레포지토리에 있는 코드가 나보다 연차 높고 잘하는 사람이 짠 코드니까 내가 생각해서 짠 코드보다 웬만하면 더 나을 것이라고 막연하게 생각했다. 그러나 업무를 하다 보니 시간이 촉박한 프로젝트였다면 설계나 코드 퀄리티에 크게 신경 쓰지 못했을 수도 있었겠다는 생각이 들었고, 지금 레포에 있는 코드보다 더 좋은 방법은 무엇일까? 하는 고민을 하기 시작했다. 지금 당장 어떻게 수정해야 더 좋다고 말할 수는 없지만 비판적으로 코드를 볼 수 있게 된 것에서 한 단계 나아간 것 같다.

 

규모 있는 프로젝트 진행 경험

모노레포에서 패키지 하나를 처음부터 설계하고 완성하는 과정을 가졌는데 배운 게 참 많았다.

 

script를 작성해서 기존에 5분 넘게 걸리던 작업(디렉터리 1개 + 파일 4개 생성하고 기본 코드를 작성하는 반복 작업)을 4초 만에 작성할 수 있게 해서 나의 개발 생산성뿐만 아니라 팀원의 개발 생산성을 높였다. 앞으로 25번 넘게 반복해야 할 작업이었기 때문에 투자할 가치가 있었고, 실제로 script로 파일들을 생성하니 매우 편리했다. 앞으로도 개발 생산성을 높일 수 있는 일들은 기분 좋게 할 수 있을 것 같다.

 

또한 서버팀, UI 팀, 기획자분들과 의사소통을 적극적으로 해서 프로젝트를 잘 마무리할 수 있었다. 운이 좋은 것인지 업무적으로 타 팀과 논의할 때 배려를 해주시는 분들이 많아서 의사소통이 크게 어렵지 않았다.

 

무엇보다 유지보수하는 업무와 비교하여 재미가 있었다. 라이브러리들도 최신 버전으로 사용할 수 있고, 패키지 구조도 고민해 볼 수 있었다. 재미가 있으니 더 열심히 하게 되고 잘하려고 하게 되는 선순환이 일어나는 것 같다.

 

꾸준한 스터디 진행

작년 이펙티브 타입스크립트 스터디에 이어서 올해에도 스터디를 꾸준히 진행했다.

 

1. JS-Drilling 스터디 (1~2월)

프론트엔드 개발자로서 JavaScript 기본기가 중요하다고 생각해서 진행하였던 스터디.

 

함께 스터디를 하는 동료가 만들어 준 사진. 너무 맘에 들었다.

코어 자바스크립트 책의 소제목을 참고하여 책을 읽고 각 단원에서 중요한 내용을 5개를 뽑아낸 뒤, github 레포의 disccusion에서 각자

정리해서 발표하는 식으로 진행했다.

 

깊은 내용을 공유하고 아카이브를 하기 위해 discussion에 정리했는데 이런 방식도 유용한 방식인 것 같다.

 

2. TC39 proposal 번역 스터디 (3~9월)

먼저 TC39에 대한 배경 설명을 해야 할 것 같다.

 

ECMAScript는 Ecma International에 의해 제정된 ECMA-262 기술 규격을 통해 정의된 범용 스크립트 언어다. JavaScript는 ECMAScript의 표준 사항을 구현한 언어이다. Ecma International의 기술 위원회(Technical Committee - TC)중 하나인 TC39가 이 표준 명세를 관리한다.

 

JavaScript에 신규 스펙을 추가하려면 TC39 프로세스를 따르는데, stage 0 > stage 1 > stage 2 > stage 3 > stage 4(finished) 단계를 차례로 통과하게 된다. 마지막 단계까지 통과하면 다음 표준에 포함되어 발표되기를 기다리는 단계라고 보면 된다.

 

우리는 이 4단계까지 모두 통과한 제안(finished proposals)을 번역하는 일을 진행하였다. 각자 proposal을 맡아서 번역하고 PR을 올렸다. glossary(용어 사전)도 만들어서 전체 번역이 통일성 있게 느껴지도록 했고, 지속적으로 코드리뷰를 진행해 어색한 번역을 수정했다.

 

내가 받은 코드리뷰 내용 중 일부

영어로 된 기술 문서를 번역하고 리뷰까지 하려면 굉장한 노력과 시간이 들어간다. 그런데 번역의 난이도가 높고, 번역한 내용을 실무에 바로 적용도 어렵고(너무 최신기술이라), 회사도 너무 바빠서 스터디가 미뤄지는 경우가 많아 8월에는 한 달 쉬어가기도 했다. 굉장히 빡센 스터디였다. (다 피가 되고 살이 되었겠지..?)

 

스터디의 기간이 너무 길면 루즈해지는 것 같아 다음부터는 3개월 안에 끝낼 수 있는 양으로 하면 좋을 것 같다. 그 당시 finished proposal의 모든 제안서를 번역하고 끝을 맺을 수 있어 다행이라고 생각한다. 이 TC39 번역을 하다가 1년 넘게 유지되던 스터디가 폭파될 뻔했다..ㅋㅋ

 

3. 객체지향의 사실과 오해 스터디 (9~11월)

TC39로 인해 지친 마음을 달래주고자 쉽고 재밌는 스터디를 하기 위해 결정한 책.

책이 읽기 쉽게 쓰여 있어서 TC39를 하다 이걸 하니까 너무 행-복 했다 ^_^

 

추상적인 내용이 많아서 책 한 권을 읽었다고 업무에서 바로 적용하기는 어렵겠지만 객체지향의 근간이 되는 추상화를 통한 복잡성 극복, 객체지향의 핵심은 메시지라는 내용, 객체 사이의 협력 관계를 설계하려면 먼저 어떤 행위(what)를 수행할 것인지 정한 후 누가(who) 수행할 것인지 정하는 것, 캡슐화 등등의 개념들은 앞으로 내가 코딩할 때 좋은 양분이 되어줄 것이라고 생각한다.

 

피드백 요청 및 수용

팀장님과의 1 on 1 시간에는 내가 일을 잘하고 있는지, 어떤 부분이 부족한지 물어봐서 현재 상태를 점검했고, 내가 느끼는 현재 나의 상황을 될 수 있는 한 솔직하게 말씀드리려고 하였다.

 

피드백을 받는다는 행위 자체가 굉장히 중요하다고 생각해서 업무를 하면서 주변 사람들에게 받은 피드백들은 꼭 메모해 두었고, 맞는 말이라고 판단되면 최대한 수용하려고 노력했다.

 

올해 부족했던 부분

업무 노잼시기에 나태했음

7-8월쯤 일이 재미가 없던 시기가 있었다. 업무에 익숙해지니까 유지보수하는 일은 크게 어렵지도 않고~ 뭔가 내가 지금 발전하지 않아도 주어지는 업무를 처리할 수 있으니… 고작 만 1년이 지났는데 이렇게 금방 노잼시기가 와도 되는지 자괴감이 약간 들었다. (주니어 때는 열정이 넘칠 때라고 들었는데..?)

 

8월 말에 제주도로 5박 6일 길게 휴가를 갔다 왔는데 다녀온 뒤 생각 정리도 되고 일을 더 잘하고 싶다는 욕심이 많이 생겼다. 그 시기에 나에게 ‘쉼’이 필요했던 것 같다. 여행이 가지는 가장 큰 효용은 다녀와서 일상을 더 힘차게 살아갈 수 있게 하는 것이라는 이야기를 숙소 사장님한테 들었는데 정말 그러했다.

 

내가 맡은 프로젝트의 배포 일정이 미뤄진 경험 (feat. 롤백 장인)

11-12월에는 우리 팀의 중요 과제였던 프로젝트를 진행했다. 꼭 올해 안에 끝내야 하는 프로젝트라 시간적인 압박이 있었다. 배포 예정 일자가 12/20이었는데 12/26에 배포가 되었다.

 

20일에 배포를 진행했는데, 서버 데이터가 빈값으로 내려와서 버튼을 눌렀을 때 해당 페이지로 이동이 되지 않는 이슈가 있어 바로 롤백을 했다. 이 문제는 간단한 문제여서 빠르게 해결되었고 바로 재배포하였다.

 

그런데 20일 퇴근시간쯤에 또 이슈가 발견되었다. 스와이퍼에서 배너를 클릭했을 때 다른 배너의 페이지로 이동되는 이슈가 발견되었다. 내가 개발했던 기능이어서 믿을 수가 없었다(분명 몇 번씩 확인했는데?!). 이동이 되는 것까지만 확인하고 올바르게 이동하는 것은 확인하지 않은 나의 잘못이었다. 일단 바로 롤백을 진행했다.

 

롤백은 빠르게 진행되었고, 프로젝트를 리딩하는 팀원분이 작성하신 배포 플랜 + 오전에 팀장님과 배포가 잘못되었을 경우 롤백을 어떻게 진행할지 시뮬레이션해 본 것이 정말 큰 도움이 되었다. 규모가 큰 프로젝트는 배포 플랜이 있어야 한다는 것을 몸소 체감했다.

 

다음 날인 21일, 해당 문제를 수정함과 동시에 반나절 동안 프로젝트에 참여한 개발자들이 모여서 개발자 자체 테스트 기간을 가졌고 여기서 이슈가 3개 정도 추가로 수정되었다. 배포를 하려고 했는데 팀장님이 22-25가 연휴니까 연휴 끝나고 배포하는 게 좋겠다는 의견을 주셔서 연휴를 보내고 26일 오후에 배포를 하였다.

 

앞으로 이런 일이 일어나지 않게 하려면 어떻게 해야 할지 팀장님과 1 on 1 시간에 이야기를 나눴다. 개발자도 사람이라서 개발한 모든 기능이 100% 완벽하게 동작하는 것은 불가능했다. 물론 상용에 배포하기 전에 검증 환경에서 혼자서 테스트를 나름 많이 진행했지만, QA가 이미 끝난 상황이라서 심리적으로 안일한 부분이 있었던 것 같다.

 

시스템으로 이를 보완할 방법이 필요했다. 반나절 동안 진행한 개발자 자체 테스트에서 이슈들이 3개나 발견되고 해결되었으니 QA 시작 전에 전체 기능에 대한 개발자 테스트를 하는 시간을 가지면 좋겠다고 제안했고, 팀장님은 개발자가 개발을 진행할 때 기능 체크리스트를 작성하는 방식을 제안해 주셨다. 개발자들이 기능 체크리스트를 작성하고, QA 전에 개발자 테스트까지 한다면 이런 일이 일어날 확률이 확실히 낮아질 것 같다.

 

2024년의 나는?

일을 잘하는 사람이 되고 싶다.

 

약간 도전적인 일들을 스스로 설정해서 나태해지지 않도록 관리해야겠다.

 

내가 현재 사용하는 React, TypeScript 등을 자유자재로 사용할 수 있게 연습하려고 한다.

 

그렇게 노래를 부르던 독립을 하게 되었는데, 새로운 환경에서 더 성장할 수 있었으면 한다.

 

공부한 내용

스터디

  • JS-Drilling
  • TC39 번역
  • oop 스터디


읽은 책

  • 코어 자바스크립트
  • 객체지향의 사실과 오해
  • 이펙티브 엔지니어(50%)

 

강의: 드림코딩 React(67%)

 

알고리즘 : leetcode 48문제

 

읽은 책 & 개인적인 한 줄 평

원씽 - 게리 켈러 3.8/5

  • 현재 당신에게 가장 중요한 일은 무엇인지 찾고 그 일을 해라.

 

운과 실력의 성공방정식 - 마이클 모부신 4.5/5

  • 현실은 운과 실력이 혼합되어 있다. 이를 구분할 줄 알면 삶을 살아갈 때 더 나은 전략을 짤 수 있다.

 

생각하라 그리고 부자가 되어라 - 나폴레온 힐 4.5/5

  • 생각이 상황을 만든다. 삶을 대하는 태도면에서도 배울 점이 많았다.

 

돈과 인생의 비밀 - 혼다 켄 3.5/5

  • 대단한 비밀은 없었다. 대부분 알고 있는 내용

 

유연함의 힘 - 수잔 애쉬포드 4.8/5

  • 소프트스킬 관련하여 얻을게 정말 많았던 책

 

돈의 심리학 - 모건 하우절 4.8/5

  • 돈에 너무 매몰된 시기에 읽어보면 정말 좋은 책.
원하는 것을, 원할 때, 원하는 사람과, 원하는 만큼 오랫동안 할 수 있는 능력은 가치를 매길 수 없을 만큼 귀한 것이다.

 

퓨처 셀프 - 벤저민 하디 4.7/5

  • 퓨처 셀프라는 개념이 굉장히 신선했다.
당신이 어떤 행동을 하든 그것은 미래의 당신이 갚아야 할 비용 아니면 미래의 당신에 대한 투자다.

 

역행자(오디오북) - 자청 3.7/8

  • 어그로꾼이라는 선입견이 있었지만 글을 잘 쓰고 배울 점도 꽤 있었다.

 

아주 작은 습관의 힘 - 제임스 클리어 5/5

  • 읽기 쉽고, 실제로 삶을 변화시키는 행동들이 구체적으로 나와있는 책

 

'회고' 카테고리의 다른 글

신입 프론트엔드 개발자 2022년 회고  (5) 2022.12.30