Wylie 수석 

소프트웨어 아키텍트.

기술력에 특화되어 있는 개발자들이 보통 꿈꾸는 종착지다. 물론 회사마다 이름이 조금씩 다를 수는 있다. 이들은 회사 전체가 사용할 소프트웨어들을 선택하고 소프트웨어들이 사용되는 작업 프로세스 전체를 기획하고 만들어내는 역할을 한다.

주니어 개발자들이 가장 많이 멘토로 삼는 것이 바로 이 소프트웨어 아키텍트들이다. 문제 해결에 특화된 전문성을 보유하고 있으며, 10년 이상 특정 소프트웨어에 대한 경험을 축적해왔거나 여러 소프트웨어를 사용해온 경험이 풍부해 다양하거나 보편적인 소프트웨어 및 플랫폼에 능통한 모습을 보인다.

개발자들이 훗날 아키텍트가 되려면 신기술에 대한 학습을 끊이지 않는 게 가장 중요하다. 소프트웨어 개발이나 특정 기술에 아무리 특화되어 있더라도 소프트웨어 개발 과정 전체에 대한 지식 정도는 풍부히 가지고 있어야 하고, 반대로 ‘제너럴리스트’에 가까운 개발자라면 특수 분야 혹은 주무기가 될 만한 전문지식을 보유하고 있어야 한다.

수석 개발자.

개발자 관리자라고 불리기도 한다. 시간 관리에 능하고 사람 대하는 기술이 뛰어난 개발자들에게 잘 어울린다. 개발에 특화된 사람들과 개발을 이해하지 못하는 사람들 사이에서 다리 역할을 맡는다. 그렇기에 프로젝트 관리를 하면서 일을 여기저기 잘 조율하고 배분한다.

이런 데에 소질이 보이는 개발자가 있으면 소그룹 프로젝트를 만들어 관리자 역할을 주어보는 것이 좋은 방법이다. 마감을 잘 지키는지, 마감 내 어느 정도 퀄리티가 나오는지, 팀원들의 만족도는 어느 정도나 되는지 살펴봐가면서 후보를 정하는 것이 위에서 설명한 악순환을 막는 방법이다.

수석 기술 프로젝트 관리자.

예산 및 자원 관리에 능한 개발자에게 어울리는 직책이다. 수석 기술 프로젝트 관리자는 인적 측면에서가 아니라 예산의 측면에서 프로젝트를 진행하는 데 능하며, 그러므로 사전에 뭔가를 계획해서 실행하는 성향을 가졌으며 효율성을 굉장히 따진다는 특성도 있다. 압박에 강한 타입이다.

조직 입장에서 수석 기술 프로젝트 관리자 후보들을 어떻게 추리고 양성해야 할까? 먼저 프로젝트의 기획부터 맡기고, 자원과 시간을 어떻게 배분하고 관리하는지를 지켜봐야 한다. 위와 다른 건 기획 단계부터 맡긴다는 것이다. 이들은 보통 ‘자기가 기획한 프로젝트’에서 빛을 발한다는 특징을 가지고 있다. 그러니 기획한 내용이 회사의 사업 방향과도 잘 맞는 것도 중요히 봐야 할 부분이다.

개발자들은 의외로 여리여리한 사람들이다. 이들은 묵묵하고, 자기 스스로의 실력을 다듬어가는 걸 즐긴다. 이런 사람들에게 어떤 위치를 강제로 부여한다는 건 – 물론 회사도 ‘진급’시켜주는 것이겠지만 – 깊은 상처를 주는 행위일 수도 있다. 그리고 실제 회사의 갑작스런 진급 결정 때문에 그만두고 회사를 나가고 식당을 차리는 개발자들이 수도 없이 많다.