들어가며
INFCON 2022의 세션 중 기억하고 싶은 강의의 내용을 정리해 보자.
코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked Changes
Pull Requests와 Stacked Changes를 비교, 설명하며 코드리뷰를 잘하는 법을 공유한다.
좋은 코드 리뷰의 특징
- 적당한 크기의 코드 변경
- 작업 명확성
- 빠른 속도
적당한 크기의 변경 사항은 작업이 명확함을 나타내고, 작업이 명확하면 자연스럽게 리뷰 속도는 빨라진다.
Pull Request
GitHub에서 제공하는 그 풀 리퀘. 작업 흐름이 좌 -> 우로 진행되며, 모든 변경 사항을 main branch
와 비교하여 한 번에 리뷰받는다.
Stacked Changes
작업 흐름이 마치 스택을 쌓듯 아래 -> 위로 진행되며, Commit 별로 테스트, 리뷰, 머지가 가능하다.
즉, 앞서 설명한 좋은 코드 리뷰의 특징을 만족할 수 있다.
GRAPHITE
Stacked Changes
를 사용할 수 있는 오픈 소스 cli 툴. 깃헙과 연동 가능하다! 그리고 대시보드를 제공한다..! GUI 최고👍
느낀 점
Next Step 강좌를 수강할 때, PR을 경험해 본 적이 있다. 리뷰가 너무 늦어서 다음 작업을 못하고 툴툴되며 기다린 경험이 있는데 이 세션을 보고 다시 생각하니 너무 죄송하다..😥 항상 주니어의 입장에서 PR을 보니까 크게 신경 쓰지 않았는데, 리뷰어의 입장에서는 몇 백 줄이나 되는 코드를 살펴본다는 게 엄청 힘들 것 같다. 이직한 회사 또는 스터디에서 PR 문화가 있다면 Stacked Changes
를 추천해 봐야겠다.
어느 날 고민 많은 주니어 개발자가 찾아왔다
믿듣영이 주니어 개발자에게 전하는 성장과 취업, 이직 이야기.
👉 유튜브 링크
가고 싶은 회사를 1, 2, 3 티어로 정리
- 1 티어 회사가 사용하는 기술 확인하기
- 같은 기술을 사용하는 2, 3 티어 회사 확인하기
- 1 티어에 바로 취업이 힘들다면 2, 3 티어에서 경력을 쌓아 1 티어로 올라가기
실력 있는 개발자의 TO는 무제한이다
- 무조건 실력이 최고..!
- 깊이 있는 개발자가 되자.
- 본인 마케팅 중요
- 이력서: 문제를 기술적으로 어떻게 해결했는지 자세히 적는다.
학습
학습의 순서
- 학습: 강의, 책
- 체득: 실무 적용, 토이 프로젝트
- 정리: 노트, 블로그
시스템 -> 피드백 -> 사이클
공부를 시스템처럼 해라. 열정, 열심히가 아닌 정해진 시스템 루틴에 나를 맡기는 것.
느낀 점
영한님이 이 자리에 오기까지의 생생한 경험과 주니어 개발자에게 진짜 필요한 소양을 들을 수 있어서 좋았다. 이 세션을 보고 "블로그를 시작하길 정말 잘했다."라는 생각도 들고, 정리를 하면서 그 지식을 정말 내 것으로 만들었는지 확인하는 과정이 필요해 보인다.
(레거시 시스템) 개편의 기술 - 배달 플랫폼에서 겪은 N번의 개편 경험
여러 시스템 개편을 거치며 터득한 기술과 노하우를 배워보자.
레거시 시스템이란?
낡은 기술이나 방법론, 컴퓨터 시스템, 소프트웨어 등을 말한다.
- 현재 비주류가 된 기술
- 성능이 부족한 시스템
- 시스템 요구사항 추가 및 대응이 불가능한 시스템
의존성을 한 방향으로 정리하라
의존의 깊이로 층을 형성해 한 반향으로 정리하면 스파게티 코드를 피할 수 있다.
코드 수정 시, 사이드 이펙트가 일어나는 코드를 추적하기 쉬워진다.
변경 대상에 대한 경계를 나눈다
개편에서 다루어야 할 계층을 확보하고 실제로 담당해야 했던 역할과 책임을 수행하고 있는지 확인한다.
계층 확보 이후, 책임과 역할에 따라 코드를 분리하거나 같은 역할을 하는 다른 계층의 코드를 통합하는 과정을 거친다.
책임과 역할을 명백히 한다 = 코드가 명확해진다 = 변경 범위에 대한 가시성 확보
테스트를 확보한다
당연한 얘기지만 변경된 코드에 대해 테스트 코드를 작성한다.
프로젝트 가시성 확보
해야 할 일들을 문서화하여 가시성을 확보한다. 일정 예측 및 리스크 관리, 진행 상황 공유에 이점을 가진다.
느낀 점
이 세션의 제목이 '개편의 기술'이지만, 개편에 국한되는 게 아닌 개발 초기 또는 진행 단계에서 고려되야 하는 상황들이다.
지금 대형 백오피스 리뉴얼 작업을 진행 중이다. Jira 칸반보드로 프로젝트 진행상황을 공유 중이지만, 추상적인 일정인 느낌이라 작업이 늘어지는 경향이 있는데 좀 더 가시성을 확보하는 방법을 찾아봐야겠다. 추천해 주신 타임라인도 괜찮은 것 같다.
항상 느끼는 거지만 우리 회사는 테스트 코드를 작성하지 않아 아쉬움이 많다. 나라도 시도해봐야 하는데..! 마음처럼 쉽지가 않다😭
'기록 > 컨퍼런스' 카테고리의 다른 글
[INFCON 2024] 인프콘 2024 후기 (4) | 2024.09.22 |
---|---|
[하이파이브 2024 후기] 하이파이브 프렌즈로 다녀왔다 (1) | 2024.06.09 |
[WOOWACON 2023] 우아콘 2023 다녀왔다 (0) | 2023.11.19 |
[INFCON 2023] 인프콘 다녀왔다 (0) | 2023.08.26 |