반응형

IT 기업에 종사하는 사람들, 그중에서도 MZ 세대의 눈에 띄는 특징을 꼽으라고 한다면 단연코 "성장에 목마른 사람들"이라고 할 수 있을 것 같습니다. 개발자, 디자이너, PM 등 직군에 상관없이 각자의 분야에서 업무를 하면서 본인이 성장하고 있는지 점검하는 것은 굉장히 중요한 관심사일 것입니다.

 

저 또한 역시 좋은 개발자가 되기 위해 어떻게 하면 올바르게 성장할 수 있고 잘 성장할 수 있을지, 그리고 남들보다 빠르게 성장할 수 있을지 고민하고 있는데요. 오늘은 제가 생각했을 때 경력에 상관없이 누구에게나 도움이 될 만한 습관을 한 가지 소개할까 합니다. 제가 개발자이다 보니 자연스럽게 개발자 관점에서의 단어들을 사용할 텐데요. 각 직군에 맞게 해석을 해주시면 되겠습니다.

 

여러분들은 아래 키워드들을 보면 어떤 이미지의 사람들을 떠올리시나요?

  • 일 잘하는 개발자 / 개발 잘하는 개발자
  • 빠르게 개발하는 개발자 / 안정적이게 개발하는 개발자
  • 다양한 분야의 개발 지식을 두루 갖춘 개발자 / 한 분야에 엄청 깊은 지식을 갖고 있는 개발자
  • 커뮤니케이션은 잘 하는데, 개발은 평범하게 하는 개발자 / 개발은 엄청 잘하는데, 커뮤니케이션이 아쉬운 개발자
  • 회사의 성장을 개인의 성장보다 우선으로 하는 개발자 / 개인의 성장을 회사의 성장보다 우선으로 하는 개발자
  • 같이 일 하고 싶은 개발자 / 같이 일 하고 싶지 않은 개발자

위에서 제가 나열한 개발자 유형에 대해 생각해보셨나요? 그렇다면 이제 다시 돌아가서, 나는 어떤 개발자에 가까운지 점검해보세요. 많은 사람들이 성장에 목말라하고 좋은 개발자가 되고 싶어 하지만, 정작 본인이 지향하는 모습은 어떤 모습인지에 대해서는 구체적으로 설정하지 않은 경우가 많았습니다. 각자의 분야에서 빠르고 올바르게 성장하기 위해서는 분명하고 뚜렷한 목표 설정이 필요합니다.

 

제가 적극 추천하는 습관은 바로 "메타인지를 통해 스스로를 점검하기" 입니다. 

메타인지란? 인지함을 인지하는 것, 알고 있음을 아는 것. 즉, 자신이 뭘 알고, 뭘 모르는 지를 제대로 알고 있는 능력을 의미합니다. 우리는 메타인지를 통해 내 능력치부터 점검한 다음, 성장할 포인트를 정하고 집중해서 키워나갈 필요가 있습니다.

 

예를 들자면, 좋은 몸매를 갖기 위해 헬스장을 등록하여 운동을 다닌다고 해서 몸이 무조건 좋아지는 것이 아닙니다. PT 를 받아보신 분들은 알겠지만, 제일 처음에는 먼저 인바디를 통해 현재 내 몸 상태가 어떠한지 검사하여 내 몸의 균형 상태가 어떤지에 따라 그에 맞게 집중해야 하는 운동과 식단을 제시해줍니다.

 

우리의 성장도 마찬가지입니다. 무턱대고 좋은 개발자가 되고 싶다고 마음 먹고서 열심히 일을 한다고 해서 좋은 개발자가 되지 않습니다. 현재 나는 어떤 사람이고, 어떤 능력이 좋고 나쁜지를 파악하고 있어야 강점은 부각하고, 약점은 보완하는 식으로 성장해나갈 수가 있습니다. 그리고 내가 어떤 유형의 개발자를 목표로 함에 따라 키워나가야 하는 능력이 완전히 달라지기도 합니다. 누군가에게는 한 기업의 CTO 로써 한 기업의 전반적인 기술을 총괄하는 사람이 되고 싶은 사람이 있는가 하면, 누군가는 자신의 기술 분야에서 스페셜리스트가 되는 것이 목표일 수 있습니다.

 

개발 역량은 우수하지만 협업 능력이 다소 부족하신 분은 주구장창 개발만 공부할 게 아니라, 협업과 관련해서 소프트 스킬을 익히고 키울 수 있도록 노력해야 합니다. 반대로 커뮤니케이션 능력은 우수하지만 개발 역량이 부족하신 분들은 내가 어떤 부분에서 역량이 부족한지 점검하고 부족하다 생각하는 부분을 집중해서 성장시켜야 합니다. 이는 정량적인 평가가 아닌, 정성적인 평가이기 때문에 스스로를 판단하면서 점검하는 것도 중요하지만 동료들의 도움을 받는 것도 좋습니다. 동료, 또는 리더에게 내가 현재 갖고 있는 강점과 약점에 대해 피드백을 요청하고 내가 더 나아가기 위해 어떤 것을 챙겨야 할지 듣는 것도 좋은 방법이 됩니다.

 

혹시 스스로 점검이 어려우신 분들이 있다면 engineeringladders 라는 도구를 활용해보시는 것을 추천합니다.

Engineering ladders

 

개발자로 업무를 하다 보면 다음과 같은 질문을 많이 받습니다.

 

"이 기능 개발하는 데 일정은 얼마나 잡으면 될까요?"

 

개발자에게는 네이밍 다음으로 어려운 고민입니다. 왜냐하면 일정 산정에는 개발하는 시간뿐만 아니라 다양한 요인들이 복합적으로 영향을 미치기 때문이죠. 대부분의 주니어 개발자가 실수하는 부분은 일정 산정할 때 과도한 자신감으로 인해 일정을 너무 짧게 잡는 것입니다.

실제로는 산정한 일정보다 시간이 더 필요함에도 불구하고, 본인이 잡은 일정이기 때문에 책임을 지기 위해 어떻게든 일정을 맞추기 위해 야근을 하게 되는 경우가 허다하죠.

 

이런 상황에서도 메타인지는 도움이 됩니다. 내가 어떤 업무를 할 때 어느 정도의 시간이 걸리고, 일정 산정을 하면서 어떤 어려움들을 예상하지 못했는지, 타인에 의해 블로킹된 업무는 없었는지 등을 점검하면서 자신감이 아닌 보다 객관화된 시각으로 일정 관련 커뮤니케이션을 진행할 수 있게 해야 합니다.

 

한 가지 팁이 있다면 내가 생각했을 때 이 정도 기간이면 되겠다고 생각되는 일정보다는 약간 더 여유 있게 잡으시는 것이 좋습니다. 보통 일정을 물어보는 동료들은 정말 얼마나 걸릴지 모르기 때문에 물어보는 경우가 많을 것이라서, 내가 7일 걸린다고 한 작업을 10일이 걸려서 완성하면 일을 느리게 처리한 것처럼 보이지만, 반대로 10일 걸린다고 한 작업을 7일 안에 해내면 일을 빨리 처리한 사람이 되는 것이 현실이기 때문에 과도하지 않은 선에서는 보통 일정을 조금 더 여유 있게 잡으시는 것을 추천드립니다. 이때 오해하면 안 되는 것은 일정을 여유 있게 잡았다고 해서 업무도 여유 있게 하라는 말이 아닙니다. 그렇게 되면 높은 확률로 작업은 더 느려지게 되고 팀 전체적인 속도가 저하되어서 빠르게 업무를 해내는 스타트업에서는 자신 때문에 일이 진행이 잘 안 되는 블로커가 되기 쉽습니다. 커뮤니케이션 단계에서는 일정을 보수적으로 산정하되, 작업은 최선을 다해 진행하실 것이 가장 좋습니다.

 

마무리

성장을 추구하는 많은 사람들이 가지면 좋은 습관에 대한 저의 고찰을 작성해봤습니다. 제가 강조하고 싶은 것은 무식하게 일 하지 않는 것입니다. 우리가 아무런 목표와 지식도 없이 헬스장에 가서 내 마음대로 운동하고 집으로 돌아온다면 1년을 넘게 운동을 해도 좋은 몸을 갖기 어려울 것입니다. 정확하게 내가 키우고 싶은 포인트가 무엇인지를 정하고 집중해서 훈련하세요. 그렇게 하나씩 집중해서 키워나간다면 우리는 어떤 회사도, 동료도 원할 수밖에 없는 육각형 인재가 될 수 있을 것이고 그렇게 되면 인력 시장에서의 가치는 엄청날 것입니다.

 

저는 제가 현재 속해있는 당근마켓에서 면접관으로 면접에 임하면 지원자분께 항상 이런 질문을 드립니다.

 

"지원자 분께서 생각하는 좋은 개발자는 어떤 개발자인가요?"
"지원자 님은 어떤 환경에서 가장 높은 퍼포먼스를 발휘할 수 있나요?"

 

위와 같은 질문은 평가 요소는 아니지만, 만약 지원자 분께서 합격하여 우리의 동료가 됐을 때 그분이 지향하는 바는 무엇이고 어떤 환경을 우리가 만들어줘야 가장 일을 잘하실 수 있을 지에 대해 알아가기 위함입니다.

 

우리는 타인을 평가할 때 너무나도 쉽게 아쉬운 점을 찾아내곤 합니다. 하지만 많은 사람들이 자신의 아쉬운 점에 대해서는 생각하지 않습니다. 자기 평가를 하는 문화를 가진 기업에서조차 자기 평가할 때 아쉬운 내용을 적으면 평가에 불리하게 작용할까 염려되어 최대한 감추려는 분들도 많죠. 하지만 적어도 이 글을 읽으시는 분들께서는 앞으로 지속적으로 자신을 점검하고 갈고닦아서 업계에서 인정받고, 자기 분야에서 정말 멋진 역량을 가진 분들이 되기를 소망합니다.

 


위 글은 주니어 개발자 컨퍼런스 에서 제가 발표한 내용을 기반으로 작성하였습니다.

반응형
반응형