/떠나기 싫은 회사 만들기

Created Thu, 02 Dec 2021 17:53:22 +0900

엄청난 노력을 해서 뽑은 개발자가 입사 3개월 만에 다른 회사로 이직해버리는 일이 발생했다. “진짜 어렵게 뽑은 개발자인데…. ”라고 후회해도 이미 늦었다. 옛말에 “잡은 물고기한테는 먹이를 주지 않는다”라는 말이 있다. 이미 뽑았으니, 우리 회사의 전유물로 생각하고 정성껏 보살펴주지 않으면 개발자들은 곧 떠날 준비를 할 것이다. 그렇다면 공들여서 뽑은 개발자가 떠나지 않게 하려면 어떻게 해야 할까? 개발자가 쉽게 떠나는 이유는 무엇일까? 이번 장에서는 개발자가 오랫동안 일하고 싶은 회사를 만드는 방법을 소개한다. 시작에 앞서 강조하고 싶은 것이 있다. 개발자들을 케어하기 위한 방법 중에는 회사에서 소화하기 힘든 것들도 있을 것이다. 여기에서 소개하는 모든 방법을 회사가 적용하기는 쉽지 않은 일이다. 가장 중요한 것은 ‘개발자들을 진심으로 대하는 마음’이다. 가족처럼 아끼고 진심으로 대한다면 개발자들은 우리 회사와 오랫동안 함께할 수 있을 것이다.

개발자에게 집중하는 것은 당신 몫이다

일에서 의미를 찾도록 도와주는 역할을 하라

세계적인 건축물로 알려진 런던의 성 바오로 성당을 설계한 크리스토퍼 렌의 유명한 일화를 소개한다. 그는 성당 건축 현장에서 일하는 노동자에게 지금 무엇을 하고 있는지 물었다. 대부분의 노동자는 “벽돌을 나르고 있습니다” 또는 “일을 하고 있습니다” 등의 성의 없는 대답을 했다. 그들은 돈을 벌기 위해서 어쩔 수 없이 일하는 사람들이었다. 그런데 한 노동자의 행동과 말은 이들과 달랐다. 그는 흥얼거리며 일을 즐기는 듯했으며, “나는 전능한 신을 위한 장엄한 성당을 건축하고 있습니다”라고 대답했다. 이 노동자는 힘들고 고된 일을 즐겼고 하는 일에 긍정적인 ‘의미’를 부여했다. 이런 유형의 사람들은 본인이 하는 일에서 ‘의미’를 발견할 때 더욱 열중할 수 있다. 반대로 ‘의미’를 발견할 수 없다면 일의 능률은 자연스레 떨어질 수밖에 없다. ‘노력하는 자는 즐기는 자를 이길 수 없다’라는 말이 있지 않은가. 개발자 세계에서는 이런 원칙이 더욱 공고해진다. 개발자 대부분은 새로운 것을 배우는 것에 대한 흥미와 자신이 하는 일에 대한 엄청난 자부심이 있다. 이들은 본인의 일에서 ‘의미’를 발견하면 어떤 일이 주어지더라도 재미있게 일한다. 그러므로 우리는 그들이 하는 일에서 ‘일의 의미’를 찾을 수 있도록, 그리고 즐겁게 일할 수 있도록 도와줘야 한다.

개발자가 만족할 수 있는 환경을 만들어라

그럼 우리는 개발자들이 스스로 의미를 찾기를 기다려야 하는가? 아니면 그들이 의미를 찾을 수 있도록 도와주어야 하는가? 우선 개발자들이 회사에서 찾을 수 있는 의미란 무엇인가를 고민해야 한다. 여러분이 개발자라면 어떤 것으로 회사 일에 의미를 둘 수 있을까? 대부분은 앞서 소개한 노동자와 비슷한 대답을 할 것이다. ‘돈을 많이 벌기 위해서’, ‘이름만 대면 알만한 좋은 회사에 다니기 위해서’, ‘최고의 복지제도를 누리기 위해서’, ‘자신의 커리어를 위해서’ 등 유형적 가치를 중시하는 답변을 할 수 있을 것이다. 그렇다면 이러한 조건을 대부분 갖춘 곳은 어디인가? 사실 스타트업 등에서 위의 조건을 모두 맞춰 주기는 현실적으로 쉽지 않다. 대기업은 되어야 위의 조건 대부분을 만족시켜줄 수 있을 것이다. 만약 ‘조건’을 중시한다면 대기업에 취직하는 것이 본인이 추구하는 삶의 가치와 많은 부분에서 일치할 수 있다. 그리고 이곳에 가서도 ‘일의 의미’를 충분히 찾을 수 있다. 하지만 이 글을 읽고 있는 독자의 대부분은 중소‧중견 기업, 스타트업 등의 작은 규모의 기업을 운영하거나 종사하고 있을 것이다. 대기업과 비교해 상대적으로 열세인 우리 회사에서 어떻게 유형적 가치에 해당하는 의미를 만들어줄 수 있을까? 냉정하게 말하면 복지와 연봉, 네임 밸류 등 어느 하나 제대로 해줄 수 없는 경우가 많다. 그럼 우리 회사는 좋은 개발자를 뽑지 못하고 바라만 보아야 하나? 아니다. 우리도 할 수 있다. 개발자 입장에서 우리 회사에 올 수 있는 다른 ‘일의 의미’를 찾을 수 있도록 도움을 주어야 한다. 우리가 내세울 것은 무엇인가? 가장 먼저 회사의 가치와 비전을 알릴 필요가 있다. 우리 회사에 입사하게 되면 새로운 제품을 만들어 볼 수 있고, 한 번도 경험해보지 못한 일을 최고의 개발자 팀 혹은 CEO와 함께할 수 있다. 개발자 본인이 만든 제품이 소위 말해 ‘대박’이 나서 회사의 중역으로 성장할 수 있다는 기대감을 심어주면 된다. 실제로 많은 개발자들이 이런 성장 가능성에 ‘일의 의미’를 부여하고 대기업에서 스타트업으로 이직하는 경우가 늘어나고 있다. 개발자들에게 ‘일의 의미’를 찾아주는 것은 CEO와 우리 회사의 몫이다. 개발자들이 그 의미를 느낄 수 있도록 조직 문화, 가치관, 소통 방법을 잘 만들어 놓는 준비가 필요하다. 이렇게 ‘일의 의미’를 부여할 수 있는 환경을 만들어 놓으면 개발자는 우리 회사의 매력에 빠져서 오랫동안 함께할 수 있는 직원이 될 것이다.

그저 따라하지 말아라

세상에는 정말 많은 기업들이 있다. 네이버, 카카오 등의 IT 플랫폼 분야의 기업이 있고 엔씨소프트나 넥슨 같은 게임 분야의 기업도 있다. 포스코나 현대차와 같은 제조 분야의 기업도 있다. 다양한 기업만큼이나 이들이 하는 일도 다양하다. 그렇다면 카카오와 현대차는 같은 기업 문화를 가지고 있을까? 기업 이름만 들어도 아닐 것이라는 생각이 들 것이다. 어떤 제품을 생산하고 서비스하는지, 그리고 어떤 유형의 직원들을 채용하는지에 따라서 기업 문화는 천차만별이다. 카카오와 네이버 같은 비슷한 업종의 기업이라도 CEO 와 구성원에 따라서 그 문화는 전혀 다르게 형성된다. 국내뿐만 아니라 해외의 내로라하는 기업도 다양한 기업 문화를 갖고 있다. 이들이 만든 기업 문화 덕분에 그 회사는 매력적인 회사로 발전할 수 있었다. 그렇다면 다른 기업의 좋은 문화만을 골라서 우리 회사에 적용하면 성공적인 기업 문화 형성이 될까? 아니면 최근 유행하는 재택 근무, 무제한 휴가 등 개발자들을 유혹할 수 있는 다양한 제도들을 죄다 갖다 적용하면 좋은 문화가 형성될까? 한 가지 예를 들어보자. _배우 정우성이 B사의 명품 검정 코드와 파란색 셔츠를 입고 한 시상식에 나왔다. 당신은 이 옷들이 너무 좋아 보여서 모두 구매를 했다. 그리고 정우성이 입은 그대로 입어보았다. 하지만, 뭔가 이상하다. 분명 정우성이 입었을 때는 멋있었는데 왜 나한테는 잘 어울리지 않을까? 이유는 여러분도 알고 있겠지만 간단하다. 우리는 각자 키, 얼굴형, 체형 등이 다르므로 이에 맞는 옷을 입어야 한다. 다른 사람이 잘 어울리는 옷이라도 나에게는 어색할 수 있다. 기업 문화도 이와 같다. 비슷한 업종이라도 기업 문화는 각양각색이다. 우수한 사례를 모방하는 것도 중요하지만, 무조건 좋은 것만 가져온다고 해서 우리 회사에 다 잘 맞으라는 보장은 없다. CEO는 이런 기업 문화를 만드는 핵심적인 역할을 해야 한다. 잘된 사례를 참고하되 우리 회사의 업무 환경, 개발자들의 특성 등 다양한 요소들을 고려하여 이들이 ‘일의 의미’를 찾으며 근무할 수 있는 여건과 환경을 만들어야 한다. 다시 한번 강조하지만 무작정 따라 하지 말라. 회사 구성원들이 상호 협력하여 우리 회사만의 문화를 만들어가는 것이 가장 바람직하다. 개발자들이 일에 집중하고 즐겁게 일을 할 수 있도록 해주어야 하며 이런 환경을 만드는 건 회사의 몫이다.

동기는 개발자를 춤추게 한다

돈은 동기 유발에 큰 영향을 주지 않는다

어떤 동기를 부여해야 개발자들이 만족할 수 있을까? 연봉을 많이 주면 당연히 개발자들은 좋아한다. 하지만 돈이 곧 동기로 연결되지는 않는다. 깃허브(GitHub)에서는 수많은 개발자들이 본인이 만든 코드를 오픈 소스로 공개한다. 본인이 수많은 노력을 해서 만든 코드를 다른 사람이 활용할 수 있도록 무료로 공개하는 것이다. 이들은 돈을 바라고 이런 작업을 하는 것일까? 오히려 돈을 주고 이러한 개발을 맡겼다면 퀄리티가 더 낮을 수 있다. 만약 여러분이 게임을 좋아한다고 하자. 그런데 내가 큰 흥미를 갖지 못하는 게임의 한 유저가 “최고 레벨까지 키워주면 돈을 많이 주겠소”라고 제안했다. 여러분은 돈을 벌기 위해서 이 재미없는 게임을 할 수도 있다. 그러나 돈이라는 동기가 없다면 이 게임은 쳐다보지도 않았을 것이다. 반대로 기다리고 기다리던 정말 재미있는 신작 게임이 나왔다면? 그럼 여러분은 이 게임을 밤새워서 해도 지루하지 않을 것이다. 대부분 한두 번쯤은 자기가 좋아하는 게임이나 일에 몰두하여 시간 가는 줄 몰랐던 경험이 있다. 개발자들도 마찬가지다. 이들이 개발을 즐길 수 있도록 동기를 부여해야 한다. 회사가 시켜서 하는 개발이 아닌, 동기에 이끌려서 몰두하는 개발이 되어야 한다. 이들은 본인이 즐기며 하는 개발을 좋아하는 동시에 본인의 역량을 다른 사람들이 알아주기를 바란다. 개발자들의 이런 성향을 잘 이해한다면 이들에게 동기를 부여하기가 더욱 쉬울 것이다.

개발자들은 이런 것을 좋아한다

개발자들의 동기는 다른 직원들과 조금 다르다. 개발자의 동기를 자극하는 것은 무엇인가? 개발자들은 본인이 하는 개발이 기업뿐만 아니라 국가(전 세계) 차원의 변화를 가져오기를 바란다. 앞서 깃허브 사례를 언급한 것처럼 본인이 즐거워서 개발하고, 그 결과물을 여러 사람들이 활용해주는 것을 좋아한다. 또한, 이들은 개발을 통해 새로운 것을 꾸준히 배우고 성장해 나가는 것을 좋아한다. 난이도가 낮은 개발 업무를 계속하는 것을 좋아하는 개발자는 거의 없다. 개발자 본인이 평소에 관심이 있었거나 흥미를 느끼는 분야여야 동기 유발에 좋다. 무언가를 배우고 성장하는 느낌을 받을 수 있도록 도움을 주어야 한다. 개발 중인 서비스나 기술이 미래에 유용하게 쓰일 수 있다는 가치를 심어주는 것도 좋다. 현재는 그다지 유망하지 않지만 앞으로 수년 내에 가치를 발할 수 있는 서비스라면 더욱 좋다. 개발자는 이런 서비스를 개발할 때 희열을 느낀다. 내가 만드는 기술이 미래의 핵심 기술이 될 것이라는 기대는 곧 회사의 발전으로 이어진다. 당연히 개발자 개인의 성장과도 연결될 수 있다. 개발자가 하는 개발 업무에 대해서 항상 인정해주고 칭찬하는 마음으로 접근해야 한다. 말로만 하는 칭찬이 아닌, 마음에서 우러나오는 격려와 인정이 필요하다. 개발자가 없다면 우리 회사가 돌아갈 수 없으므로 소중한 존재라는 것을 계속 인식시켜 주어야 한다. 이렇게 되면 회사에서 본인의 역할에 대해 다시 정립할 수 있다. 또한, 더욱 열심히 일할 수 있는 동기를 유발할 수도 있다. 개발자가 일하는 업무 환경도 신경 써야 할 부분이다. 활용하는 장비 중 불편한 것은 없는지, 업무에 방해되는 것은 없는지 등을 확인하여 개선하도록 해야 한다. CEO가 주기적으로 여러 개발자들의 고충을 듣는 자리를 마련하는 것도 좋다. 프로그램이나 장비, 도서 등 회사에서 지원해야 할 것들은 아끼지 말고 지원해야 한다. 또한, 재택 근무나 휴가가 필요하다고 하면 눈치 보지 않고 편하게 이용할 수 있도록 배려해야 한다. 개발자들은 회사가 지원한 것 이상의 결과로 보답할 것이다.

개발자도 멘토링이 필요하다

멘토링의 중요성

갓 입사한 신입 개발자들은 많은 것들을 배워야 한다. 회사의 문화, 분위기, 업무 등 하나부터 열까지 전혀 모르기 때문에 제대로 알려줄 사람이 필요하다. 경력 개발자가 이직을 한 경우도 마찬가지의 도움이 필요하다. 그래서 많은 회사에서는 멘토링 프로그램을 운영한다. 근무 경험이 많은 멘토와 새로 들어온 멘티를 연결함으로써 회사의 적응 기간을 단축하고 업무 효율성과 만족도를 높이는 역할을 한다. 멘토링을 통해 멘티만 성장하는 것이 아니라 멘토도 성장할 수 있다. 멘토의 경우 신입 개발자에게 관련 업무를 알려주는 것과 본인이 하는 일은 전혀 다르다. 위에서 시키는 일을 할 때는 그려지지 않았던 그림을 그려야만 멘티에게 업무에 대해 상세히 알려줄 수 있다. 이처럼 멘토링 프로그램은 멘토와 멘티, 그리고 회사 모두가 성장할 수 있는 계기를 마련해준다. 신입 개발자가 입사하여 맞는 가장 큰 행운은 높은 연봉도, 보너스도 아니다. 좋은 선배 개발자(멘토)를 만나는 것이다. 좋은 멘토는 참여할 프로젝트와 해야 할 역할을 명확히 안내한다. 신입 개발자가 성장할 수 있는 부분은 무엇인지도 알려줄 수 있다. 개발 중에 어렵거나 막히는 부분이 있으면 언제든 물어볼 수 있는 선생님 역할도 수행한다. 멘토는 멘티가 암흑 같은 회사 생활을 시작할 때 길을 밝히는 등대의 역할을 해줄 수 있다. 만약 신입 개발자가 입사했는데 멘토가 없다면 어떨까? 이들은 회사 적응에 큰 어려움을 느낄 것이다. 개발하다 막히는 부분이 있으면 ‘노가다’로 해결할 수밖에 없을 것이다. 선배의 입장에서 보면 별것 아닌 문제가 신입 개발자들에게는 큰 시간 낭비와 비효율로 다가올 수 있다. 멘토링 프로그램의 중요성은 백번을 강조해도 지나치지 않다. 멘토링 프로그램은 개인의 성장뿐만 아니라 회사의 발전에도 큰 영향을 줄 수 있다. 그리고 어렵게 뽑은 개발자가 몇 개월 만에 회사를 그만두고 나가버리는 확률을 낮출 수 있는 좋은 제도이다.

멘토 되기

좋은 멘토가 되기 위해서는 어떻게 해야 할까? 좋은 멘토가 된다는 건 생각보다 어려운 일이다. 멘토는 자기가 맡은 업무에 멘토라는 새로운 업무가 추가된 것이다. 즉, 멘토링을 위한 추가 시간을 할애해야 하는데 이게 말처럼 쉽지 않다. 회사에서 이를 위한 배려가 없을 확률이 높기 때문이다. 만약 멘토가 멘토링을 위한 시간을 최소화하고 본인 업무에만 매달린다면 어떻게 될까? 멘티는 이러한 상황을 눈치채고 소극적으로 행동할 것이다. 이런 상황에서 멘토링의 질은 떨어질 수밖에 없다. 멘토링은 사람이 하는 것이기 때문에 질적 관리가 중요하다. 자신의 업무가 바쁘다고 시간 때우기 식으로 행동하면 신입 개발자들에게 좋지 않은 경험을 줄 수 있다. 결과적으로 어렵게 뽑은 개발자를 놓칠 수도 있다.

멘토의 말과 행동에 주의를 기울이자

신입 개발자인 멘티는 일을 배우기 위해서 부단한 노력을 할 것이다. 멘토에게 잘 보이기 위해서 긴장할 수도 있다. 멘티가 잘 적응할 수 있도록 도와주는 것이 멘토의 역할이다. 멘티가 개발 혹은 업무 관련 질문을 한다면 귀담아서 들을 필요가 있다. 이 질문은 내가 처음 개발자로 회사에 들어왔을 때 느꼈었던 의문점일 확률이 높다. 멘티의 말과 행동을 최대한 이해하는 노력도 필요하다. 신입 개발자가 하는 행동을 자세히 관찰하면 말로 할 수 없는 것들이 표현되기도 한다. 이렇듯 멘토는 멘티가 무엇을 원하는지, 어떤 부분에서 어려움을 겪고 있는지를 파악하고 적시에 도와줄 준비가 되어있어야 한다. 좋은 멘토가 되었다면 멘티는 나의 업무와 개인적인 성장에도 도움을 줄 것이다. 멘토는 선배로서 이미 겪었던 경험들을 생생하게 공유해 줄 수 있어야 한다. 개발에 어려움이 발생하면 같이 고민하고 해결해 줄 수 있는 좋은 동료가 돼야 한다.