성장의 조건

(한 팀장님과 이야기 나누는 중입니다)

"벌써 20년이 훌쩍 넘었네요. 저는 후배들을 키우는 것을 좋아하다 보니,
이제 어떻게 성장의 환경을 만들어 주어야 하는지 잘 아는 것 같아요"
"오~ 한번 들어 보고 싶은데요"

"네에~ 성장의 환경은 간단해요. 제가 조금 독특하기는 하죠."

1. 배정이 아닌 선택
"이런 프로젝트가 있는데, 하고 싶은 부분 있으면 이야기 해주세요 - 서버, 웹 클라이언트, 임베디드네요."
"제가 서버 할게요"
"저는 웹 클리이언트요"

팀원들에게 프로젝트는 일방적인 배정이 아니라, 스스로 선택할 수 있도록 합니다.
스스로 선택하면 애정이 생기고, 이는 높은 품질로 이어지죠.
높은 기준으로 작업하다 보면 성장하게 되는 거고요.
그리고 스스로 선택할 수 있으니, 행복에도 도움이 되죠.


2. 처음부터 시작
기존에 누군가 하던 일을 받아서 하면, 성장에 별로 도움이 안 되더라고요.
새로운 백지에 그림을 그리도록 하는 것이 성장에 큰 도움이 됩니다.

선배가 만들어 놓은 길을 따라가면서 작업하면, 쉽고 편하죠
하지만 바닥 구조를 수정해야 할 필요가 적어지니, 이해도의 깊이가 얕아지게 됩니다.

처음부터 시작하는 프로젝트를 하면,
스스로 선배 작업을 참조하면서 지하 바닥부터 건물을 올리는 것이니 정말 도전적이죠.
하지만, 빠르게 성장하는 선물을 받게 됩니다.

3. 스스로 길찾기
운전할 때, 네비를 켜고 처음 가보는 곳에 다녀오면 무척 편하고, 쉽자나요.
하지만 머릿속에 어디를 어떻게 다녀왔는지 지도가 그려지지는 않더라고요.
머리 속에 전체 지도를 그리려면,
네비를 끄고 지도를 보면서 길찾기를 하며 '헤매는 것'이 도움이 된다고 생각해요.

선배라는 네비를 끄고 후배들이 프로젝트를 앞에서 이끌도록 하는 거예요.
원로 고수 분들은 한 발 뒤로 물러서서,
후배들이 풀지 못하는 난제들을 풀어주는 역할만 해드리는 거죠.

네비 도움 없이, 스스로 길 찾는 것은 일종의 고통이죠.
해낸다면, 앞으로 성장의 기반이 되는 머릿속 전체 지도를 얻게 되는 거고요.
No Pain, No Gain이죠. 하하


4. 안전함을 느낄 수 있도록
도전정신을 가지는 것도 중요하지만,
안전함을 느끼면 더 큰 도전을 시도할 수 있으니까요.

예를 들어, 서커스의 공중그네 아래에 안전망이 있자나요.
프로젝트에도 그런 안전망이 있다는 걸 느낄 수 있도록 해야 되죠.
바로 선배가 안전망인거고요.
사실 이 부분이 팀장으로서 가장 어려운 부분입니다.

"서버, 웹은 OK, 근데 임베디드는 없어요?
네에~ 그럼 이건 제가 해드릴게요. 걱정하지 마세요."

이렇게 저는 후배들의 빈 공간을 모두 메꾸어 줍니다.
그동안 워낙 다양한 일을 다 해봤기 때문에 크게 부담스럽지도 않고요.
대부분의 팀장님들은 이렇게 할 수 없으니 배정을 할 수 밖에 없는거죠.
상황 충분히 이해합니다.

그리고 혼자 길찾기를 할 때, 헤매는 기간이 3일 정도 지나면
후배에게 다가가서, 방향만 알려줍니다. 답을 알려주지는 않아요.
그러면 금세 또 길을 찾아서 전진하게 되죠.
'아 선배님이 지켜보고 계신거구나~' 하며 안도감을 느낄 수 있도록이요.


5. 갈아 엎기 (Refactoring)
아주 오래 전에, 하루 종일 코딩을 하고 있었는데,
벼락이 치는 바람에 작업하던 코드가 다 날아간 적이 있었어요.
그 당시에는 svn, git 이런 것도 없던 시절이라, "어쩌지~~" 하며 처음부터 다시 작성을 했죠.
그런데 놀랍게도 훨씬 더 좋은 구조의 프로그램이 완성되더군요.
'하늘이 이걸 나에게 가르쳐 준거구나….' 했습니다.

이와 비슷하게, 새내기들이 처음부터 프로젝트를 하다 보면,
어느 시점에서 "처음부터 다시 하고 싶어요~" 라는 걸 느끼게 됩니다.
건물이라면 지하 1, 2층을 완성하고 지상 1, 2층을 올리게 될 즈음이죠.

"네에, 다시 작성해보죠~ 2.0 버전 만들어 보자구요"

이 부분도 팀장으로서, 무척 어려운 부분이죠.
프로젝트 스케줄도 맞추어야 하고,
이미 서비스 중인 경우에는 지장도 없어야 하니까요.

하지만, 이런 어려움을 함께 극복하면,
한층 업그레이드된 구조로 다시 탄생하게 됩니다.
후배들도 성장의 계단을 한 발 오르게 되고요.


6. 좋은 스트레스
후배들 특히 새내기들에게 어떤 프로젝트를 맡길지는 참 고민스럽죠.
일반적으로 실제 프로젝트는 맡기지 않고,
실험용이나 사내용 Tool과 같이 실수하더라고 큰 영향이 없는 것을 맡기게 됩니다.

이렇게 하면, 실수하더라도 피해가 거의 없지만,
절실함 떨어지기 때문에 성장에 도움이 별로 안 되는 것 같아요.

반면, 팀장으로서 실제 프로젝트를 맡기는 것은 무척 부담스럽죠.
하지만 이 부담을 이겨내면,
D-Day나 높은 품질 등의 목표는 후배들에게 좋은 스트레스로 작용합니다.
좋은 스트레스는 곧 성장의 좋은 환경을 만들어 주죠.


7. 현장 서비스 경험
이전 직장에서 있던 친구 기억나네요.
입사해서 프로젝트를 한지 2년 밖에 안 되었는데, 프로젝트 끝날 무렵 떠난다는 거예요.
속 이야기까지 하던 친구라서, 솔직히 설명 해주더군요.

프로젝트 끝나면 A/S가 시작되는데, 그런거 하기 싫다고 하면서,
그리고 새로운 기술을 사용해서, 새로운 프로젝트를 해야
이력서 포트폴리오가 더 좋아보이니까, 그렇게 커리어 관리를 하려고 한다고요.

그때서야 이해를 했습니다. 그래서 2년, 3년마다 회사를 옮겨다닌거구나 하고요.
이력서만 봤을 때는 정말 화려했죠.
하지만 A/S를 한적은 한 번도 없었더라고요. 어쩐지…

A/S, 즉 현장 경험은 쉽지도 편하지도 않죠.
문제가 생기면, 실시간으로 대응해야 하기 때문에, 항상 긴급이고,
게다가 예상하지 못한 문제가 발생하면, 구조를 변경해서 대응해야 하기 때문에 난이도도 높습니다.

하지만, 이런 경험이 다음 프로젝트를 설계할 때, 아주 많은 도움이 됩니다.
실제로 설계란, 상상할 수 있는 abnormal case에 대한 처리가 핵심인데,
바로 이 case들을 나열할 수 있는 능력이 현장 경험으로 부쩍 커지기 때문이죠.


8. 높은 품질
품질의 수준은 회사의 문화와 관련이 있는 것 같아요.
각 팀마다 품질의 기대 수준이 다르죠.
현장 경험이 많을수록 품질 수준이 높을 수 밖에 없고요.

이는 곧 엔지니어링 분위기로 이어지게 되더군요.
엔지니어들은 조금만 함께 지내보면, 상대방의 포스를 느끼게 되고
품질의 기대 수준도 전달되게 되죠.

팀장으로서 어려운 부분도 여기 입니다.
새내기나 후배들의 실수가 제품이나 서비스로 이어지면 큰일 나니까요.
그래서 대부분 실제 프로젝트를 맡기지 않거나, 실수 할 수 없는 단순한 부분을 맡기게 되는거죠.
상황 이해 합니다.

저희 팀은 이렇게 합니다.
일정 기간마다 테스팅을 합니다.
그리고 버그 숫자를 세어두죠. 이걸 계속 반복합니다.
성장하는 후배들은 버그 숫자가 점차적으로 줄어들게 되죠.
한참 지나, 어느 시점에서 0이 되면, 자율권을 얻습니다.
스스로 릴리즈 할 수 있는 권한이 주어지는 거죠.

이렇게 하면,
버그가 제품이나 서비스에 도달할 수 없으니
높은 품질을 유지할 수 있는거고요.


9. 마무리
이게 제가 생각하고 실행하는, 성장의 환경이에요.
통계적으로 봤을 때, 1년만 지나도, 다른 회사의 2~3년 정도 수준으로 성장하게 되죠.
7~8년 전에 경력을 5~6명 뽑은 적이 있어요.
선입급이었는데 우리 주임급보다도 일을 못하는거예요. 품질 수준도 낮았고요.
물론, 나가라고 하는 경우는 없지만, 스스로의 부족함을 느끼고 떠나더라고요.
그 때부터, 경력은 뽑지 않고, 신입만 뽑아서 성장시키며 즐거워 하고 있답니다.

"팀장님도 한 능력하시니, 환경을 잘 만들어 주시겠지만,
이런 환경을 만들어 주는 일이 아주 어려운 일인 것, 잘 알고 있습니다.
지혜롭게 방법을 찾으셔서, 훌륭한 엔지니어링 팀을 만드시고요."

"네~ 젬스님, 이야기 잘 들었습니다. 도전해 보겠습니다. 고맙습니다. 허허"

"고맙습니다 ^^"


Photo by Holly Mandarich on Unsplash

by 제임스 | 2022/01/10 10:58 | 메인스토리 | 트랙백 | 덧글(2)

◀ 이전 페이지          다음 페이지 ▶