https://jbee.io/essay/code-review-goal/

 

코드 리뷰의 목적은 성장이어야 한다

TL;DR 조직 내 코드 리뷰는 리뷰하고자 하는 관점을 코드가 아닌, 코드를 작성한 엔지니어에게, 제품을 만드는 메이커에게 옮겨보면 어떨까. 사실 코드 리뷰 문화보다 중요한 것은 테스트 문화이

jbee.io

 

 

올해 6월부터 인턴 생활을 시작했다.

 

개발을 진행하면서 가장 많이 고민했던 건 "내가 올바른 방향으로 나아가고 있는가?" 였다.

 

이런 고민중에 같은 팀원분들이 내 코드를 같이 봐주고, 고민을 해줄 때 마다 불안감도 줄어들고, 내가 어떤 방향으로 고민을 하고 코드를 짜고 있는지 알릴 수 있고 의견을 물어 더 좋은 해답을 얻을 수 있었다.

 

아직은 누군가의 코드를 보고 잘못을 찾아주고 평가를 해주고 더 깔끔하고 효율적인 방법을 제시해주기에 내 실력이 많이 모자랄 수도 있겠다. "좋은 코드 리뷰"를 할 수 있는 내가 될 수 있게끔. 더 열심히 나아가야지.

 

버스 팩터 (Bus Factor)

‘버스 팩터’란 팀원이 버스에 치여서 죽거나 크게 다쳤을 때 프로젝트가 ‘망할’ 가능성에 대한 지수를 의미한다. 그리고 이 지수는 프로젝트가 내포하고 있는 리스크를 의미하며, 지수가 낮다는 것은 프로젝트에 대한 맥락이 특정인에게 많이 쏠려 있고 정보가 제대로 공유되지 않는다는 것을 말한다.

그렇다면 코드 리뷰를 통해 서로의 코드를 살펴봄으로써 어느 한 명의 특정인에게 맥락이 몰리는 것을 방지할 수 있을까?

물론 도움은 되겠지만 ‘단편적인’ 코드 리뷰만으로는 제품에 대한 맥락을 전부 파악하는 데에 분명 한계가 존재한다. 오히려 버스 팩터를 높이기 위한 방법이라면 함께 작업하는 사람을 만들거나, 지속적인 공유와 문서를 잘 관리하는 것이 더 도움이 될 것이다.

버스 팩터. 극단적인 이름의 이론이지만 설득력이 있다고 생각했다. 머릿속에 아무리 좋은 아이디어와 효율 좋은 알고리즘, 완벽한 코드가 있더라도 집에 가는 길 버스에 치여 죽거나 크게 다쳐 이를 펼쳐낼 수 없다면 아무런 쓸모가 없다. 특히나 팀 프로젝트에서 한 사람에게 모든게 집중되어 있고, 공유되지 않는다면 전체의 위협이 될 수도 있음을 알게 되었다. 지속적인 공유, 소통, 문서 관리, 코드 정리가 왜 중요한지 알 것 같았다.

 

오늘은 소마 13기 온라인 과정 설명회가 있었다.

https://swmaestro.org/sw/bbs/B0000005/view.do?nttId=25066&menuNo=200022&pageIndex=1

 

이 설명회를 듣고 더욱 더 소마를 하고싶다는 의지가 생겼고, 앞으로의 공부방향에 대해서 생각해 보게 된 것 같다.

지금 현재로는 코딩테스트에 급급해 단계별로 모든 문제를 풀어나가고 있었지만, 11기 12기 선배들의 조언이나 블로그 후기들을 보고 자주 나오는 빈출을 정리하여 주요 알고리즘 위주로 정복한 뒤, 나중에 빈도수가 덜 한 알고리즘을 공략하기로 했다.

 

자기소개서가 끝나기 전 까지는

코딩테스트 준비 3 : SQL 1 : WEB 1 : 자기소개서 5 

 

자기소개서가 긑난 후에는

코딩테스트 준비 5 : SQL 1 :  WEB 1 : 프로젝트 및 포트폴리오 보완 및 깃 업로드 3에 힘 쓸 예정이다.

 

전략 1. SQL + WEB은 다 맞추고 들어간다는 마인드로 가자

전략 2. 정말 몰라서 어쩔 수 없는 문제는 버린다 쳐도, 중점으로 생각한 알고리즘 만큼은 틀리지 말자.

전략 3. 물론 약소한 프로젝트이지만, 내가 이 프로젝트로 무엇을 꿈꿨고, 무엇을 향해 나아갈 수 있게 되었는지, 열정을 보여주자.

 

중점적으로 공부할 알고리즘:

1. 완전탐색(Brute Force) + 구현 (재귀 중점)

2. BFS+DFS

3. DP

4. 그리디

 

부가적으로 공부할 알고리즘:

유니온 파인드, 이분 탐색, 좌표 압축, 라인스위핑, 상호배타적집합, 팬윅트리

 

 

파이팅 하자!! 자소서는 알바하면서 중간중간 쓰고, 퇴근해서 정리할 예정

하루 10시간씩 일하니 짬짬히 쓴다면 3시간씩은 투자할 수 있을 것 같다.

 

2021.12.22 -> 2021.01.19

골드 3 -> 골드 2

 

걸린 시간 : 29일

푼 문제 : 84문제

레이팅 변화 : 1103 > 1251 (148 증가)

순위 변화 : 8,932등 (상위 20.85%) -> 7,142 (상위 15.37%)

 

중점으로 공부했던 부분

1. 시간 복잡도

2. 수학 알고리즘

3. 브루트 포스 알고리즘 (재귀, 순열, 비트마스크)

4. 다이나믹 프로그래밍 (1차원, LCS, Row major matrix..)

5. 큐, 그래프, BFS, DFS

 

앞으로 공부해야 할 부분

1. 구현

2. 유니온 파인드

3. 이분 탐색

4. SQL

5. 웹

그 외 : 자표 압축, 라인스위핑, 상호배타적집합, 팬윅트리...등등

 

 

2022년 1월 17일(월)을 기점으로 sw마에스트로 13기 모집이 시작되었다.

열심히 자소서도 쓰고, 프로그래밍 공부도 하고 있긴 한데 하루에 열시간 씩 알바하고 들어와서

코딩하고 있으니 남들보다 절대적인 공부시간도 적고. 정신적으로 많이 휘청거린다

그래도 해야만 한다. 난 할 수 있다. 아니 해야만 한다.

지금까지 약 40~50일 정도 커밋을 유지하고 있는데, 어느새 진취적인 공부보다는

피곤한 날에는 커밋 채우기에 급급한 보여주기식 공부를 했던 것 같아 많이 반성이 된다.

나는 왜 공부하는가? 정신이 번쩍 들었다. 내 인생에 지금은 다시 오지 않는다. 다음번 이란 없다.

이번이 마지막인 것 처럼. 오늘이 마지막 인 것 처럼 해보자!! 힘내자!!

+ Recent posts