피카소와 프로그래머

그날 나는 압도적인 역량 차이를 느꼈다. 그에게는 본질을 파악하여 문제를 단순화하는 힘이 있었다.

picaso

출처

이전 회사에서 1년 된 베타 서비스를 정식 서비스로 전환할 때의 이야기다. 당시 나는 결제 프로세스와 프로모션 부분을 담당했다. stakeholder 요구사항이 복잡했다. "베타 서비스 기간에 이용한 유저들에게 3개월 무료 쿠폰을 준다.", "론칭 후 이벤트 기간에 결제를 하면 1개월 무료 쿠폰을 준다." 등의 요구 사항들에 더불어 예외적인 상황들을 고려하니 "어뷰징을 막기 위해 결제를 취소하는 경우 쿠폰을 회수한다." 등의 요구사항이 추가되었다. 진행할 수록 프로모션의 목적이 다양하고 복잡한 것이 유저에게도 개발하기도 어렵다고 생각했다. 나름 그 기획과 결정에 피드백을 주기 위해 stakeholder를 설득하는 자리를 여러번 가졌다. 그러나 나는 많은 부분 설득하지 못했다. "그래! 결정된 것은 어쩔 수 없고 이제 나의 개발 실력을 증명하겠어!"라는 식으로 마음을 먹고 프로젝트를 계속 진행했다.

내가 용감한 바보라는 것을 깨닫는 데에는 그리 오랜 시간이 걸리지 않았다. 프로젝트가 진행될수록 불어나는 유저 시나리오 케이스들을 위해 코드 한 줄을 쓰기 힘들었다. 정확히 기억하는데 16가지의 유저 상태가 있고, 유저의 상태가 변경될 때마다 쿠폰을 발급하거나 회수해야 했다. 이에 따라 UX 흐름이나 안내 문구도 변해야 했다. 아직도 며칠간 큰 화이트보드에 모든 경우들을 써가며 고민했던 날들을 생생하게 기억한다. 그러다 정말 안 되겠다 싶어 회사에 시니어 개발자에게 이 상황을 주절주절 설명했다. 그때 그 시니어 개발자는 금방 문제를 단순화하고 이를 위반하는 정책 사항은 모두 무시하거나 지원하지 않도록 하는 게 좋겠다고 했다. 유저 입장에서도 수긍할만한 내용이었다. 그리고 그는 그 방향으로 의사결정을 이끌어 냈다. 수 많은 case를 하나하나 장황하게 이야기하면서 stakeholder를 이해시키려고 했던 내 모습이 초라해졌다.

그 프로젝트에서 1년차 나와 시니어 개발자의 압도적인 역량 차이를 느꼈다. 그 시니어에게는 본질을 파악하여 문제를 단순화하는 힘이 있었다. 당시 스타트업 환경에서 사수-부사수 체제로 일을 한 것도 아니었고, 외롭게 개발하며 알게 모르게 아쉬움이 느꼈었다. 그런데 요즘 생각해보면 그때 함께 일했던 사람들이 직간접적으로 나에게 많은 가르침을 주지 않았나 생각이 든다. 커머스를 다루는 지금 회사에서 일을 한지 9개월이 되었다. 조금씩 적응하면서 점점 더 복잡하고 재밌는 문제들을 마주한다. 퇴근길에 본질을 파악하여 추상화하는 능력이 중요하다는 생각이 머리속을 떠나지 않는다. 망치로 뒤통수를 얻어 맞은 그날이 떠오른다. 피카소는 소의 본질을 표현하기 위해 얼마나 여러번 관찰하고 고민하고 그려냈을까.

Buy Me A Coffee