시니어 엔지니어란 무엇일까?

시니어의 올바름?! (시니어의 길)

시니어의 덕목은 무엇일까? 궁금해진다.

이 업계에서 정한 경력 연차에 따른 어떤 사이클에 의하면, 아래와 같다.

  1. 주니어

    • 업계 1-3년차 경력
  2. 중니어

    • 업계 4 - 5년차 경력
  3. 시니어

    • 업계 6년차 이상
  4. Cxx

    • 회사마다 다름
    • 1x년차 이상

경력이 전부 인 세상이 아니지만, 엔지니어링 업계는 경력이 대다수 중요한 지표임은 확실하다.

시니어의 덕목이 무엇일지, 문득 궁금해지는 순간이 나에게도 왔다. 정답이 무엇인지 알 수는 없지만, 여러가지 책 속에 답이 있다는 생각이 든다.

매니저는 팀원이 성장하고, 새로운 것을 배우는 데 도움이 되는 도전 과제를 찾아서 알려줘야 한다. 좋은 매니저라면 도전 과제를 주는 것뿐만 아니라 프로젝트가 재미 없고 매력적이지 않아도 그 일의 가치를 이해시켜야 한다.

시니어 개발자에게 나쁜 습관이 스며있기도 하다. 최악의 습관은 잘 이해되지 않거나, 자신의 의견에 동의하지 않는 사람과는 논쟁하려는 경향이다. 신입 사원, 주니어 팀원과 업무를 잘 수행하려면, 몇 번이나 시간을 들여 노력을 쏟더라도 그들이 이해하는 방식으로 경청하고 소통해야 한다.

의사소통 과정에서 경청을 꼭 기억해두어야 한다. 다른 사람에게 발언 기회를 주고 그 사람의 말을 귀담아듣는다. 다른 사람의 말을 확실하게 이해하기 위해서 그 사람의 말을 반복해보는 연습이 필요하다. 이때, 다른 사람의 말을 잘 듣고 자신의 언어로 바꾸는 방법을 배운다. 다른 사람과의 의사소통과 경청을 잘못하면 더 이상 성장하기 어렵다.

성공한 팀은 서로 농담하고, 커피 마시고, 점심 먹고, 서로 친한 감정을 느끼고 동료애가 있다. 이런 팀은 서로 존중해야 하고, 업무 외에도 열정이 있지만, 팀을 매일 탈출해야 하는 어떤 것으로 보지 않는다.

중요한 것은 매니저가 팀을 디버깅 할 줄 알아야 한다는 것이다. 개발 7년차, 매니저 1일차  中

새로운 일에 도전할 때는 잘될 확률보다는 잘 안 될 확률이 더 높다. 남들은 잘하는 일을 내가 하면 잘 안 되는 경험을 하기도 한다. 중요한 것은 실패로부터 단단해지는 내공이다. 이 내공은 실패의 원인을 아는 지식이기도 하고, 실패를 반복하지 않을 기술이기도 하고, 다음 도전을 위한 맷집과 배짱이기도 하다. 실패를 많이 한다고 저절로 내공이 쌓이는 건 아니다. 실패가 반복되면 자존감에 상처가 나고 움츠러드는 게 당연하다. 남들은 다 잘하는 것 같은데 나만 못난 듯하고, 환경을 탓하는 마음도 생기고, 억울해서 화가 나기도 한다. 실패가 내공의 밑거름이 되려면 다음 세 가지가 필요하다.

실패한 경험이 풍부한 사람과 그렇지 않은 사람이 회사에 들어오면 그 둘의 차이가 확연하다. 회사 입사 시까지 큰 실패 없이 승승장구한 사람은 실수나 실패를 하지 않으려고 큰 프로젝트나 책임 있는 일을 맡기를 꺼린다. 그뿐 아니라 일이 잘 안 되었을 때 나락으로 떨어지거나 수습을 잘 못 하고, 회복하는 데도 오랜 시간이 걸린다. 심하면 회사를 그만두는 것으로 자신을 질책하거나 현장을 회피하는 방법을 선택하기도 한다.

하지만 실패와 수습을 많이 해 본 사람은 이럴 때는 빨리 잘못을 인정하고 사과를 해야 한다든지, 다음에는 더 잘해야겠다든지, 세상에는 이상한 사람이 많으니 재수가 없었다 생각하고 마음에 담아 두지 않는다든지 등등 여러 가지 방법으로 수습하고 앞으로 나아간다.

주니어나 시니어가 되더라도 그 직급이 감당할 만한 일을 맡고 있는 거라서 자신의 실패로 회사가 망하거나 지구가 멸망하는 일은 생기지 않는다. 다만 그 실패로 자신이 망할 수는 있다. 그러지 않기 위해서 실패에 대한 맷집을 키워야 한다.

성공의 결과보다 중요한 것이 과정의 복기다. 무엇 때문에 실패했고, 무엇 때문에 성공했는지 복기해서 시스템화하는 과정이 필요하다. 그래야 성공 확률을 높일 수 있고, 실패의 반복을 피할 수 있다. 지속 가능한 시스템을 만드는 일은 개인의 커리어는 물론이고 회사의 성장에도 중요하다. 과정을 복기하면서 인력의 문제인지, 프로세스의 문제인지, 팀별 역할 분담의 문제인지, 법규의 문제인지, 시장의 수용도 문제인지, 가격의 문제인지 등등 원인을 파악하고 변수를 체크하면서 다시 시도해야 성공 가능성이 커진다.

실패는 아프다. 하지만 성장하기 위해 필요한 과정이다. 실패를 상처로 두지 말자. 상처를 제대로 치료하지 않고 그냥 두면 곪아 터진다. 가장 위험한 건 상처의 아픈 기억 때문에 자꾸 움츠러드는 것이다. 상처가 나면 바로바로 치료하고, 왜 상처가 생겼는지 분석하고, 상처가 나지 않을 방법을 연구해 보며 툴툴 털고 일어나자. 그런 경험이 쌓여야 다시 해 볼 엄두가 나고 상처 나는 게 덜 무섭다. ‘까짓, 그것 가지고 안 죽는다.’ 이런 내공이 생길 때까지. 생각이 너무 많은 서른에게 中

구성원들이 문제를 제기하지 않고 침묵하는 이유는 조직에 만연한 ‘근거 없는 두려움Unfounded Fear’ 때문으로, 이러한 두려움은 구성원들이 가지고 있는 역량을 최대한 발휘할 수 없게 하며 조직에 생산적인 소통을 가로막는 걸림돌로 작용하고 있다.

심리적 안정감이란 상호 신뢰와 존중이 가능한 조직 문화의 핵심 동인으로, 동료들에게 본인이 가지고 있는 원래의 모습을 솔직하게 보여줘도 편안함을 느낄 수 있는 상태를 의미한다. 실수를 하거나 질문을 할 때, 소수 의견을 냈을 때도 구성원이 심리적으로 편안함을 느낄 수 있는 문화가 정착되어야 조직이 성장할 수 있다. 심리적 안정감이 없는 조직에서는 현상을 유지하는 데 머물거나, 리더의 과거 경험에 의한 편향된 의사결정을 하거나, 다양한 의견과 창의적인 아이디어를 반영하기가 어렵다.

심리적 안정감이 높은 조직은 어떤 모습일까? 가장 큰 특징 중 하나는 ‘Speak-Up’이 자유롭다는 것이다. ‘Speak-Up’이란 구성원들이 솔직하게 자신의 의견을 개진하는 것으로 두 가지 종류로 구분할 수 있다. 첫째는 업무 관행과 프로세스 개선을 위한 창의적이고 건설적인 아이디어를 제안Bublle up Suggestion하는 것이고, 둘째는 조직에 부정적인 영향을 끼칠 수 있는 관행, 사건, 행동에 대해 직급 구분 없이 자신의 소신을 말할 수 있는 것이다.

조직에 심리적 안정감이 형성되면 구성원은 언제나 문제를 제기해도 모욕당하지 않고, 무시당하지 않으며, 질책당하지 않는다고 확신하게 된다.

“리더로서 자신이 모든 정답을 갖고 있다고 생각한다면, 그 생각을 당장 집어치워야 합니다. 리더의 생각도 얼마든지 오답일 수 있다는 걸 왜 의심하지 않죠?”

‘나는 직원들에게 얼마나 자주, 그리고 분명하게 업무의 목적을 강조하고 있는가?’

리더는 스스로에게 질문을 던져야 한다.

리더가 마치 모든 정답을 안다는 듯이 군림하는 분위기에서는 그 누구도 문제를 제기할 수 없다. 반면 겸손과 호기심을 바탕으로 무엇이든 배우려는 리더와 함께라면 구성원은 자연스럽게 안정감을 느끼고 더 많은 아이디어를 제시하게 된다.

대개 질문하는 리더는 어리석고 나약하게 비칠 거라고 생각하지만 실제로는 전혀 그렇지 않다. 오히려 생각이 깊고 현명한 사람으로 보일 수 있다. 그렇다면 좋은 질문을 하기 위해서는 어떤 규칙을 지켜야 할까? 먼저, ‘정답을 모른다’는 태도로 물어야 한다. 긍정이든 부정이든 상대방의 대답에 제한을 두지 말아야 한다. 또한 구성원이 서로 간의 생각을 공유하는 데 도움이 되는 형태로 질문을 건네야 한다.

‘누구나 할 말은 하는 분위기’는 개인의 성격적인 특징과는 아무런 관련이 없다.

두려움 없는 조직 中

시니어의 역할?

그 안에서 시니어의 역할은 무엇일까?

팀안에서 시니어도 다양하듯이 다양한 시니어의 모습이 보이는 게 좋겠다. 늘, 그렇듯 “주니어든, 시니어든 중요한 것은 우리가 무엇을 하고 있는가?” 에 집중하는 것이 좋다는 생각을 했다.

만들어가는 과정이 좋아야 한다. 어떤 제품에 대한 소비자 결과는 사실 알 수 없다. 결국 스스로에게 만족감을 준다. 만족감, 혹은 충족감이 있어야 일을 오래 지속 하고 더 나은 방향으로 나아가게 만든다.

그럼, 오늘도 더 나은 방향을 향해 나아가기 위해 조금 더 만족스러움을 느낄 수 있는 길을 찾자.

내가 생각 하는 시니어의 모습은 무엇일까?

  • 팀내의 어떤 문제해결을 한다. * 그게 기술적이든, 커뮤니케이션적이든
  • 주니어를 리드 한다. * 기술/커뮤니케이션 모두
  • 팀내의 문화를 구축 한다. * 보통은 시니어 레벨이 영향력이 있으므로, 문화를 구축하는데 힘 써야 한다.
  • 팀내의 기술 부채를 갚는다. * 보통 대개의 시니어 엔지니어들이 팀내의 기술 부채를 잘 알고 있을 가능성이 높다.
  • 팀내의 독소를 파악한다. _ 문화를 구축하는 것과 맥락은 비슷하나, 독소(유해인자)를 파악하는 것이 중요한데, 굉장히 객관적인 시각이 필요하다. _ 독소는 시스템, 사람, 문화 총망라하여 탐지를 해야 한다. _ 알고보면, 본인 스스로가 팀내의 독소 일 수 있다. _ 명심하자. _ 팀내 한명은 무조건 독소일 수 있다. _ 시스템 중 하나는 늘 고장의 원인일 수 있다. * 문화 중 하나는 고착화 된 악습일 수 있다.

그렇다면, 시니어 엔지니어들은 매니저 (리더)를 어떻게 도울 것인가?

뭐, 솔직한 말로 리더들은 알아서 잘 살겠지… 라고 하면 안되고! 시니어 엔지니어와 매니저는 정말 소통이 중요한 존재이다. 소통의 부재가 지속 되는 팀은 곧 망한다.

음, 이건 확실히 말할 수 있다. 굉장히 많은 일들을 겪기도 했고, 그로인한 나의 문제점을 알 수 있던 시간이었다.

아마, 앞으로도 그런 일들은 늘 일어날 것이라 놀라운 일은 아니지만, 내가 생각하기에는 데일 카네기의 “인간 관계론”을 늘 끼고 살아야 하는 존재가 바로 매니저 그리고 시니어 엔지니어 아닐까 싶다.

그리고 시니어 엔지니어와 매니저는 주니어/중니어에게 Bottom up - thinking을 제안 해야 하고, 늘 훈련 할 수 있도록 환경을 조성 해주어야 한다.

그러한 환경은 바로 내 생각에는 첫째가 바로, 실패 용인이다. 실패를 꼭 그 엔지니어에게 전가 할 필요가 없고, 주니어/중니어 엔지니어는 꼭 1년에 최소 한 번씩은 프로젝트가 말아먹더라도 도전적인 미션을 쥐어 주는 것이다. 물론, 이게 회사나 팀 입장에서는 큰 손해다. 리소스의 낭비로 보여질 수 있기 때문이다. 그렇지만, 이것들은 추후에 이익으로 돌아올 것이라 본다.

실패에서 우리는 큰 경험을 쌓고, 그 경험으로 새로운 일들을 더 잘 할 수 있을 것이라 생각 한다.

그 환경을 만들어 주는 것이 시니어의 올바름이라 생각 하고, 그 길로 나아가야 한다. 당연히 매니저는 시니어 엔지니어에게도 1년에 한 번씩 실패 용인을 줘야 한다.

주니어/중니어/시니어 모두 실패를 해봐야 고이지 않는다. 그건 어느 연차나 같고, 실패에서 배워야 하는 것이 곧 그 팀의 역량이자 힘이다. 그것을 이룩하는 데에는 매니저의 무단한 노력이 필요하겠지…🤔

사실 위 모든 생각들은 나만의 개똥철학 일 수 있다. 정답은 없지만, 나는 어떤 시니어가 될지를 고민해봤다.

나는 실패 용인 환경 조성자의 역할을 해야만 한다.


Written by@[Seungdols]
I'm interested in talking to other developers. So, I write a post on my blog.

GitHubTwitter