소중한 개발자들이 편하게 일할수 있도록
앞서 어떤 사람들이 개발자가 되고, 그들은 어떤 성향을 갖고 있는지 알아보았다. 이제 이러한 이해를 바탕으로 개발자들이 역량을 최대한 발휘할 수 있는 환경을 만드는 방법에 대해 알아보자. 수십억의 몸값을 자랑하는 최고의 경주마가 멋진 성과를 낼 수 있도록 최고의 환경에서 지내도록 배려하는 것처럼, 우리도 개발자들이 좋아할 만한 환경을 만들어야 한다고 생각한다. 기획자의 입장에서 어떤 것들을 할 수 있을지 알아보자.
첫째로 물리적인 업무공간 측면에서 할 수 있는 여지가 많다. 자리를 배치할 때 집중할 수 있는 조용한 공간을 개발자에게 주는 것이 좋다. 직장인이라면 누구나 조용히 일할 수 있는 공간을 선호할 테지만 개발자들에게는 방해받지 않고 집중할 수 있는 공간이 더욱 필요하다. 개발자의 자리는 가능한 한 통행이 적은 곳에 배치하는 것이 좋다. 모니터 뒤나 의자 뒤로 수많은 사람이 오가는 환경에선 몰입해서 집중하기 쉽지 않기 때문이다.
또한 회의 문화도 신경쓸 필요가 있다. 가능한 개발자와 함께하는 회의시간을 정기적으로 배치해 예측 가능하도록 만들고 이 역시도 최소화하는 것이 좋다. 의자에서 엉덩이를 떼는 순간 다시 집중하는 데 더 많은 시간이 걸리기 때문이다. 업무에 필요한 자료와 문서는 미리 준비해 회의전에 볼 수 있도록 하고 작성한 문서는 최대한 명확하게 작성하는 것이 효율적이다.
둘째로 심리적으로 업무하기 편한 환경을 조성할 수 있다. 개발자들은 본인의 작품을 세상에 내놓는 일을 한다. 본인의 실수가 프로덕트에 치명적인 문제를 일으킬 수도 있기 때문에 개발자들은 예민할 수밖에 없다. 다른 사람 잘못이 아닌 나때문에 이 일이 발생했다는 생각은 사람을 많이 힘들게 하고 회복하는데 시간이 오래걸린다.
실수에 대한 접근 방식이 특히 중요하다. "아니 이거 왜 실수하셨어요?"라고 하면 죄송하다는 말 외에는 할 말이 없다. 실수하고 싶어서 실수하는 사람은 없다. 의도하지 않은 일로 조직에 피해를 준 개발자는 주눅 들고 점차 보수적인 입장을 취하도록 변해간다.
개발자가 보수적으로 변해가면 제품 발전에 악영향을 미친다. 새로운 기술을 도입하거나 도전을 통해 제품을 발전시키기보다는 당장 주어진 것만을 처리할 테고, 급한 일정으로 실수를 할까 봐 겁이 나 일정을 너무 길게 잡는다면 전체 생산성에도 문제가 생긴다. 따라서 그들의 실수를 개인의 잘못으로 평가할 것이 아니라, 당연히 생길 수 있는 일이며 오히려 성장의 기회로 삼는 문화를 만드는 것이 중요하다. 실수한 사람에 대한 비난은 실질적인 도움이 되지 않는다.
기술적 의견을 존중하는 것도 의미가 있다. 본인의 역할이 주어진 기획을 만들어내는 것이라는 걸 잘 아는 개발자가 무언가 의견을 낸다면 단순히 개인의 기호 문제라기보다 근거가 있을 가능성이 높다. 기술적인 면에서 의견을 자유롭게 낼 수 있도록 장려하면 우리 기획도 이를 반영할 수 있을테고, 그에 발맞춰 성장할 수 있다.
세 번째로 업무를 통해 성장할 수 있는 기회를 제공하는 것이 중요하다. 개발자들은 이직이 잦은 직군으로 알려져 있다. 심지어 3년 이상 한 조직에 머무르면 “고여있다”고 판단하며 부정적으로 보는 문화도 있다. 이런 문화가 생긴 바탕에는 조직은 변화하기 힘들고 새로운 기술을 도입하거나 흥미로운 도전과제를 찾기 어렵다는 점이 있다.
기획자로서 우리가 할 수 있는 일은 개발자들이 성장 욕구를 느낄 수 있도록 하는것이다. 예를 들어 “React Native나 Flutter 같은 크로스 플랫폼 기술이 요즘 주목받고 있던데, 우리 제품에도 적용해볼 만한 부분이 있을까요?” 처럼 기술 관련 대화를 시작해보는 것이다. 조직이 이에 관심이 있고 받아들이려는 생각이 있다는 것을 확인하는 것만으로도 그들은 충분한 동기부여를 얻을 수 있다. 더불어 개발자들의 성장을 돕는 문화를 만드는 것도 중요하다. 코드 리뷰 문화를 장려하고, 기술 세미나 참석을 지원하며, 내부 지식 공유 세션을 정기적으로 개최하는 것이 도움이 된다.
마지막으로 체계적이고 효율적인 협업 체계를 구축하는 것이 필요하다. 앞서 이야기한 대로 사람은 누구나 실수를 한다. 따라서 여러 제도를 통해 이를 보완하고 예방할 필요가 있다. 문서 기반의 명확한 의사소통 체계를 구축하고, 변경 사항을 문서에 반영해 실시간으로 관리하는 것이 중요하다.
커뮤니케이션 채널은 단순화하되 효율적으로 운영해야 한다. 열린 관계로 많은 사람과 소통하는 것은 중요하지만, 업무 요청하는 커뮤니케이션 채널은 가능한 한 단순화하여 의사소통에 드는 시간을 절약할 필요가 있다. 개발팀의 의견은 적극적으로 수렴하고, QA 단계에서는 전 구성원이 참여하여 함께 품질을 높이는 것이 바람직하다.
결론적으로, 개발자들이 선호하는 환경을 만드는 것은 단순히 그들을 위한 배려가 아니라 프로젝트의 성공을 위한 필수 요소라고 생각한다. 집중할 수 있는 물리적 환경, 심리적 안정감, 성장 기회, 효율적인 협업 체계가 갖춰진다면, 개발자들은 자신의 역량을 최대한 발휘할 수 있을 것이다. 이는 단순히 개발팀의 성과 향상뿐 아니라, 제품의 완성도를 높이고 기획자를 포함한 모든 팀원들의 성공으로 이어질 것이다.