본문 바로가기
Computer Science

[Computer Science] 주니어 개발자로 성장하기 위해서는 자기객관화가 되어야한다

by Henry Cho 2023. 6. 14.
728x90

주니어 개발자로 성장하기 위해서는 자기 객관화가 되어야 한다


# 자기 객관화와 메타인지 (Metacognition)

 

최근에 어떤 분야이든 일을 하는 데 있어서 성공하기 위해서는 메타인지 (Metacognition), 한국 말로는 상위인지가 되어야 한다는 말을 한다. 한마디로 내가 생각하는 관점에서 보다 고차원적인 생각을 하고 판단을 해야 한다는 말이고 오랜만에 한국에 왔더니 한국 개발자 브로들도 글쓴이에게 했던 말 중에 하나이다. 물론 메타인지까지가 되면 좋겠지만 주니어 개발자까지는 사실상 메타인지도 아닌 자기 객관화 정도만 잘 된다면 충분히 다음 단계인 미들급 개발자나 시니어급 개발자로 빠르게 성장할 수가 있다.


# 주니어 개발자일 때 자기 객관화가 필요한 이유

 

정말 놀랍게도 미들급 개발자 정도가 되면 자기 객관화가 되지 않은 개발자를 찾기가 여간 쉽지 않다. 하지만 반대로 신입이나 주니어급 개발자까지는 자기객관화가 되지 않는 개발자들이 꽤 있다. 다음 단계 개발자로 성장하면서 자기객관화가 이루어져서 사람이 변하는게 아니라 자기객관화가 되지 않는 개발자는 스스로 이미 떨어져 나가기에 객관화가 된 개발자들만 남게 된다. 그 이유인 즉슨 개발자는 사실상 자기 객관화가 이루어지지 않는다면 능력 향상이 되지 않기 때문이다. 개발자는 개발이라는 분야의 기술자이자 엔지니어이다. 따라서 본인 자체가 얼마나 뛰어난 효율성을 가진 개발이 가능한 지 바로 실력이고 능력인 셈이다. 그렇기에 본인이 동일한 실무 업무만 한다고 해서 갑작스럽게 효율적인 개발을 할 수는 없다. 신입때야 기본도 모르기에 실무 업무를 배워나가기 급급했다면 주니어급부터는 개발 능력을 키워야하는 시점이다. 이때 자기객관화가 이루어지지 않는 주니어급 개발자라면 본인이 어떠한 부분이 부족하고 수정해나가야하는지에 대해서 명확히 판단할 수가 없다. 결국 연차가 쌓이게 되면 주변에서 무시를 받거나 그만두게 되기 때문에 연차가 쌓인 개발자일수록 자기객관화가 잘된 개발자만이 살아남게 되는 셈이다.


# 자기 객관화를 하는 방법

 

사실 개발자들 사이에서 말하는 자기 객관화는 어려운 일이 아니다. 그저 노력과 본인에 대한 부정적 판단이면 충분하다. 여기서 노력이란, 실무 업무 외에도 개발에 있어서 효율성을 높이고 문제점을 해결하기 위해서 지속적으로 연습과 다른 사례들을 분석해 나가야 한다는 것이다. 프로젝트를 완성하는데 사실 코드를 아무렇게나 작성해도 당장 실행되는데 문제가 없더라도 이런 식의 업무 방식이 반복되면 결국 본인의 실력 향상을 할 수 있는 시기를 놓치게 된다. 한마디로 다른 개발자의 코드를 복사 붙여 넣기만 하지 말고 눈으로만 대충 살펴보지 말라는 말이다. 실무 업무를 하면서 가장 좋은 방법은 다른 개발자들의 코드를 보고 어떤 식으로 코드 구성을 했으며 효율성의 차이가 어떻게 나는지를 분석하고 이해해야 하는 것이 좋다. 코드는 사실 1살짜리부터 100살 노인까지 누구나 할 수 있는 일이며, 심지어 요즘에는 인공지능이 기본적인 코딩을 해주기 때문에 애매한 개발 실력을 가지고는 더 이상 개발자로 남아 있을 수가 없다.

두 번째로는 자신에 대한 부정적인 평가이다. 여기서 말하는 부정적인 판단이란 나름 객관적이로 판단하는 기준보다도 더 낫게 자신의 실력을 판단해야 한다는 것이다. 개발자라는 직업은 자신의 실력을 판단하기가 어려운 직업 중 하나이다. 눈에 보이는 것이나 특정 기준이 되는 방법도 없기 때문에 결국 스스로가 객관적으로 판단이 이루어져야 한다는 것이다. 이때 가장 좋은 방법은 보다 부정적으로 판단하는 방법이다. 글쓴이는 매우 긍정적인 사람임에도 개발 실력에 대한 평가를 할 때는 최대한 낮게 판단하는 편이다. 그래야지 조금이라도 부족하다고 판단되는 부분을 한 번 더 살펴보고 스스로가 보완해 나갈 수 있기 때문이다. 또한 업무적인 면에 있어서도 부정적인 평가는 도움이 된다. 많은 주니어급 개발자들이 개발 업무를 요청받으면 어렵다고들 하지만 곧잘 해온다. 한마디로 자신의 능력을 조금 낮게 평가되어 있다면 담당하는 업무에서도 어렵지 않게 적응하고 수행해 나갈 수 있기 때문이다. 개발자끼리는 작성된 코드만 보고도 어느 정도 개발 능력을 판단할 수 있다지만 개발자가 아닌 사람들의 경우에는 개발자의 능력을 알기가 어렵기 때문에 업무 수행에 있어서도 이해관계자들과 모두 행복한 결말을 맺을 수 있다.


 

728x90

댓글