중요한 건 프로덕트에 대한 애정
최근 QA 없이 개발하는 조직에서 일하게 됐다. 예전과 달리 내가 만든 개발물을 검사해 주는 사람이 없기 때문에 유저들에게 출시하기 전 만든 결과물을 테스트하는 것도 내 몫이 됐다. 오만한 생각이지만 예전에는 테스트가 난이도가 낮은 업무라 생각했다. 그런데 하다 보니 쉽지 않다. 그렇지 않아도 구멍이 많은 소프트웨어에서 숨겨진 구멍을 찾는 일도 보통일이 아니었다
모든 분야가 어려움이 있겠지만 특히 소프트웨어는 눈에 보이지 않기 때문에 더욱 무결함을 보장하기 어려운 것 같다. 그나마 UI 상으로 보이는 프론트엔드는 시각적인 요소로 확인할 수 있지만 백엔드 그것마저도 없다. 그래서 분명히 내가 만들었는데도 불구하고 의도한 방향으로 동작하지 않거나 전혀 예상치 못한 곳에서 문제가 발생하곤 한다. 이럴 때는 안대를 쓰고 물건을 찾는 심정이다.
애초에 구멍이 생기지 않게끔 개발을 했다면 이상적이었을 것이다. 그러면 빈틈없이 개발하기 위해선 어떻게 해야 할까? 테스트 코드를 사용하는 방법도 있고 클래스 다이어그램을 이용해 시각화 요소를 추가하는 방법도 훌륭하지만 나는 무엇보다 프로덕트에 대한 ‘애정’이 가장 중요하다고 느낀다. 애정이 깊을수록 도메인에 대한 관심도 커지고 관련된 분야의 시야가 넓어지면서 다양한 상황에서 문제를 바라볼 줄 아는 능력이 생긴다.
사이드 프로젝트를 할 때랑 업무 할 때의 내 모습을 비교해 보면 수긍이 가는 것 같다. 나의 애정이 듬뿍 들어간 프로덕트에서는 개발하는 시간에도 집중하고 중간에 발생하는 버그도 한눈에 들어오는데 회사의 프로덕트를 만들 때는 상대적으로 덜하다. 경험과 지식이 동일한 상황에서도 나의 태도는 제품의 퀄리티에 크게 영향을 미친다. 그래 경험과 지식도 무시 못할 요소이기는 하지만 애정의 유무가 프로덕트의 퀄리티를 결정짓는데 더 중요한 역할을 한다.
그렇다고 ‘회사 일을 내 일처럼 합시다’ 같은 도덕 교과서적인 결론으로 매듭 지으려는 생각은 아니다. 그렇지만 개발자라면 애사심은 좀 어렵더라도 프로덕트에 대해서 만큼은 어느 정도 애정이 필요한 것 같다. 특히 앞으로 계속 좋은 프로덕트를 만들고 싶은 사람이라면.