쉬운 일을 어렵게 하는 건 바보가 아니다
요즘 팀 개발자들과 를 보며 스터디를 하고 있다. 여태까지는 주로 기술 서적을 통해 개발 지식을 쌓았다면, 이번에는 우리가 일하는 방식과 함께 성장하는 방안을 고려하기 위해 함께 읽고 있다. - '의도적 수련'은 진정한 성장을 위해서는 단순하게 시간만 투자하는 것이 아니라 질적인 성장을 위해 특정한 노력을 기울어야 한다는 것이다. 연차는 개발자의 실력을 보증하지 못한다. 단순히 전체 시간이 아니라 그중 몰입한 시간에 따라 실력은 성장한다. 즉, 몰입한 시간이 성장을 위한 자양분이 되고, 이를 위해서 의도적 수련 방법이 필요하다. - 실력에 비해 일의 난이도가 살짝 어려운 경우가 가장 몰입하기가 좋다. 하지만 현실에서 그런 경우는 자주 발생하지 않는다. 사실 경력이 쌓이면서, 언어는 물론 도메인과 사내 시스템에도 익숙해지다보면 어려운 일을 하게 되는 경우는 갈수록 드물어지는 것 같다. - 갈수록 실력에 비해 작업 난이도가 낮아지기 때문에 지루함을 느낀다. 솔직히 나도 최근 몇 년동안 지루함을 여러 번 느꼈다. 책에서 제안하는 방법은 '실력을 낮추는 것'이었다. 서비스의 일정에 문제가 없는 선(매우 중요)에서 일부러 어려운 방식으로 일하는 것이다. 마우스를 안쓰고 일한다던가, 디버깅 툴을 사용하지 않고 트러블 슈팅을 해본다. 똑같은 기능을 다른 언어로 2벌 개발해본다. 시간을 굉장히 제약해 개발한다. - 시간 제한을 두고 일하는 것을 당장 실행해봤는데, 기대보다 효과가 좋았다. 그 시간 내에 끝내야 된다고 생각하니 더 몰입하게 되고, 게임처럼 느껴졌다. 간단한 변경이라 30분 안에 할 수 있을 거라고 생각했는데, 시간 내 하지 못했다. 신선한 충격이었다. 시간 제한만으로 스스로 자극을 만들어낼 수 있다니. 실력을 낮추는 몰입은 활력을 이끌어낼 수 있고, 이를 통해 다른 일을 할 에너지를 만들어낼 수 있다. - 서비스가 어느 정도 성장하고 안정화하는 단계에 접어들어서 서비스 초기처럼 도전적인 일을 하게 되진 않는다. 그럼에도 스스로 기술부채를 해소하기 위한 리팩터링을 하거나, 문서 작업을 촘촘히 하게 되는 일, 운영 상의 이슈들을 계속 처리하고 확인하는 일을 게을리 해서는 안되는 것 같다. 이를 위해서는 몰입을 통해 활력을 유지하다. - 시니어 개발자는 가끔 운영하다가 만난 버그를 딥 다이브했을 때 실력이 성장하는 것 같다고 말했다. 그런 경험을 통한 문제해결들이 쌓여 진정한 연차의 격을 만들어 내리라. 올해 입사한 신입 개발자가 "일을 할 때마다 의도적 수련을 하는 사람이 얼마나 되나요?"라고 물었다. 너무 뻔한 말이라 당시엔 말을 아꼈지만, "되도록 많이 해야 하는 것 같아요"가 답이 될 것 같다.