[개발 일기] 3주차 때 느낀 것들

frogKing·2023년 3월 1일
0

개발 일기

목록 보기
2/2
post-thumbnail

배움의 차이

회사에 들어오고 느낀 것은 '회사를 다녀야만 배울 수 있는 것도 있다'는 것이었다. 혼자서 프로젝트를 하면 당연히 나한테 누가 뭐라 할 사람이 없다. 취준생 여럿이서 프로젝트를 하더라도 플젝 내에 경력이 고만고만하면 서로 피드백을 주고 받는 것도 한계가 있다.

나는 그동안 혼자서 또는 비슷한 수준끼리서만 프로젝트를 진행했다. 그러다 회사를 다닌지 벌써 3주차가 되면서 느꼈던 것들을 주저리주저리 풀어보려고 한다.

나비효과

작은 날갯짓

회사에는 objc로 짜여진 레거시 코드들이 대부분이었다. 사실 레거시를 논하기는 부끄러운게 나도 바닥부터 짰으면 저렇게 짰을 것 같다 ㅋㅋ.. 아무튼 기존의 레거시 코드 + 처음 보는 objc 코드를 보면서 나에게 주어진 이슈 해결을 위해 코드 분석을 시작했다.

코드를 분석하던 중 들여쓰기가 내 기준 이상하게 처리된 코드가 있었다. 회사 다니기 전에는 들여쓰기가 항상 깔끔하게 잘 되어 있어야 한다는 결벽(?)이 있어 별 생각 없이 'command + A'와 'control + I'를 시전했다.
(혹시 모르실 분을 위해 말씀드리면 전체 선택 + 자동 들여쓰기를 의미한다.)

이러한 나의 작은 날갯짓의 위력은 대단했다. 나는 여러 파일을 돌아다니면서 들여쓰기가 잘못 되어있을 때마다 전체 '선택 + 자동 들여쓰기' 스킬을 시전했고 그렇게 코드는 깔끔해져갔다.

이렇게 내 이슈 해결 + 코드 들여쓰기 정상화로 인해 내가 건드린 코드가 5천 줄이 넘어갔다 ㅋㅋ 처음에 나는 뿌듯했다. '내가 5천 줄을 깔끔하게 했어!' 하지만 이는 재앙의 시작이었다...

대재앙

내가 작업하던 브랜치를 MR(Merge Request/ PR과 유사)을 올리고 팀장님의 코멘트를 기다렸다. 잠시 후 팀장님이 리뷰를 남기고 나를 찾아왔다.

팀장님 : 혹시 자동 들여쓰기 하셨어요? 그거 하면 큰일나요..! 커밋에 유개굴님이 한 걸로 기록돼서 나중에 코드에 문제 생기면 유개굴님 찾아갈텐데 그 때 코드 설명하실 수 있어요?

뒷통수를 한 대 맞았다. 나는 그저 코드를 깔끔하게 하려고 한 작은 행동이 이렇게 될 줄이야.. 이때만 해도 그래도 별 문제는 없을 줄 알았다.

이후의 일을 간단히 말하면 자동 들여쓰기를 하면서 내가 수정했다고 표시되는 부분에 주석들이 있었는데 5천 줄 가량의 코드에서 주석을 찾아 지우는 작업을 진행했다.

하지만 5천 줄이나 되는 코드를 팀장님 혼자서 리뷰하려다가 QA 팀에 제출해야 하는 마감 시간이 다가왔고 결국 체리픽(다른 브랜치에서 특정 커밋만 원하는 브랜치로 가져오는 것)으로 내가 해결한 이슈만 뽑아서 다시 MR을 올렸다.

결국 마감 시간 전에 마무리를 다 하긴 했지만 거의 하루 꼬박을 주석 지우는 작업을 하면서 느낀 것은 어떤 행동을 할까 말까 고민이 될 때는 이걸 했을 때 따라 올 부수효과를 생각해봐야 한다는 것이었다.

그래도 다행인 것은 팀장님도 주니어 때 이런 실수를 한 적이 있어서 뭐라 말을 못하겠다고 하셨다. 그나마 다행이지만 다음엔 이런 실수를 안하면 되니 경험이라고 생각해야겠다.

팀장님의 조언

정말 좋은 조언들을 많이 해주시는데 까먹을 수도 있으니 간략하게 적어보면서 포스트를 마치려고 한다.

  1. Xcode 등 사용하는 툴의 모든 기능을 파악하고 사용해봐라.
    • 맨 위 탭 하나씩 다 눌러보면서 무슨 기능이 있는지 파악할 것.
  2. 오픈소스의 코드를 자주 살펴보면서 남의 코드를 이해하는 시간을 가져라.
    • 유지 보수와 기능 구현의 비율은 8:2로 남의 코드를 보는 시간이 훨씬 길다. 그러니 남의 코드를 잘 이해하고 디버깅할 수 있는 능력을 키워야 한다.
  3. 회사에서 일하면서 학습했던 것들은 개인 블로그에 최대한 남겨라.
profile
내가 이걸 알고 있다고 말할 수 있을까

0개의 댓글