때로는 머리보다 손이 먼저

Posted by 엘키의 주절 주절 on October 29, 2024

회사를 다니면서 많은 주니어 개발자와 함께 일하게 된다.

여러 상황에서 이야기를 종종 듣게 되고, 옛날 생각에 빠지기도 한다.

그 중 많이 듣게 되는 이야기는

코드를 잘 짜고 싶은데, 제가 짠 코드는 퀄리티가 낮은 거 같아서 커밋하기 무서워요

감이 잘 안 잡혀서, 어떻게 구현해야 할지 모르겠어요.

구현은 할 수 있겠는데, 좋은 구조가 떠오르지 않아요.

같은 이야기를 듣게 된다.

자신의 상황에 따라 다르겠지만, 꽤나 많은 케이스는 많이 부딪혀보고 깨닳고, 반성하는 결과를 받아들여야 함에도 이 시기를 뒤로 미루다보면 성장이 늦어지는 경우가 많았다.


많은 분들이 그러하듯 나 역시 신입 시절에 잘하고 싶은 열망이 컸던 거 같다.

그렇다보니 무언가 부족함이 부족한 결과물은 커밋하기 꺼려했다.

자연스레 이터레이션 주기는 길어지고, 그럼에도 충분한 퀄리티에 도달하지 못했다.

얼마 지나지 않아 행운인지 불행인지, 당시 재직중인 회사의 서비스가 온라인 게임 CBT1차를 지나 2차 단계였으므로, 부족하더라도 일정에 맞춰 빠른 결과물이 더 중요했다.

자연스레 버그는 많았고, BTS목록을 거의 다 쳐내고 출시를 했지만, QA에서 검증되기 어려운 복잡한 조건의 버그들이 나의 부족한 실력을 책망하는 것 같아 괴로웠다.

적지 않은 시간의 노력을 통해서 버그는 서서히 잡혀갔으며, 버그를 줄이기 위해 어떠한 습관을 가져야 하는지 나만의 방식과 규칙을 가지게 됐다.

한동안은 반작용으로 구현 속도가 느려졌는데, 경험의 축적, 계획과 기록의 디테일이 좋아지면서 결국 구현도, 퀄리티도 좋아지는 것을 체감할 수 있었다.


과연 저 시기에 고민하는 시간만 길어진다고 해서 내 실력이 늘었을까?

아마도 그렇진 않았을 거다.

더 잘하고 싶을 수록, 더 많이 구현하고, 버리고, 개선하는 사이클을 최대한 앞당기고, 반복 횟수도 늘릴 수록 좋다고 생각 한다.

처음은 다 개떡 같은 코드로 시작하는 거죠 (K리그 프로그래머)

개떡같은 코드라도 요구 사항을 충족 시킨 뒤에, 리팩토링을 하던, 구조화 하던, 규칙과 어울리는 코드를 짤 수 있다.

나는 아직도 예광탄을 쏘거나 프로토타이핑을 쏴볼 수록 감도 잘 잡히고, 판단도 좋아진다.

개떡같은 코드가 어때서? 빠르게 결과를 맞이하고 다시 고치면 되지

물론 모든 환경에서 이렇게 일하기엔 어려울 수 있다. 그래서 Dev Toy나 업무 프로젝트 저장소의 branch에서 마음껏 해보라는 뜻으로 받아들여도 좋다.

중요한 것은 개떡 같은 코드일지라도 마음껏, 자주 구현해보는 것이 가져다 주는 성장의 기회를 놓치지 않았으면 좋겠다.