이 글은 개인적인 견해를 담고 있습니다.
신입 개발자로서 가져야 할 기본 소양은 잠깐 생각해도 다양하게 말할 수 있다.
성장 가능성, 문제 인지/해결 능력, 소통 능력, 학습 능력, 메타 인지 능력, 태도 등이 있다. 하지만 이 중에서 제일 중요한 한 가지를 뽑자면 성장 가능성이라 할 수 있다. 신입 개발자로서는 현재의 역량보다는 앞으로의 역량이 더욱 중요하기 때문이다.
사실 앞에서 말한 기본 소양 중 성장 가능성에 포함되는 키워드들이 있다. 메타 인지 능력, 학습 능력은 성장 가능성과 별개라고 얘기할 순 없다. 그렇다면 이렇게 다양한 키워드를 포괄하는 성장 가능성을 기업들은 어떻게 확인할까? 그리고 나는 어떻게 성장 가능성을 키울 수 있을까?
먼저 성장 가능성이란 개발자의 성장에 가치가 있기 때문에 나온 역량이다. 그렇다면 개발자에게 성장이란 뭘까? 이를 위해 먼저 개발자부터 정의를 내려보겠다. 나는 개발자란 기술을 통해 문제를 해결하는 사람
이라 생각한다. 따라서 문제를 잘 해결하는 능력의 발전이 곧 개발자의 성장이다. 성장 가능성이란 역량 아래 포함되는 능력은 많지만 신입 개발자로서 충분히 입증 가능한 두 가지에 대해 얘기해보겠다.
처음 꼽은 것은 방법론에 대한 내용이다. 신입 개발자가 현재 언어를 몇 개 할 수 있는지는 크게 중요치 않을 수도 있다. 오히려 지금 당장의 기술 스택보다는 어떻게 기술을 학습하는지, 기술을 학습할 때 무엇을 포인트로 보는지 또는 문제의 논리적 접근 방법을 더 궁금해할 것이다. 나는 이런 학습법, 문제 접근법은 충분히 발전할 수 있고 보인다고 생각한다.
두 번째는 문제 해결 과정에 대한 내용이다. 문제에 직면했을 때, 한 가지 솔루션을 통해 해결하는 것과 문제의 발생 원인에 대해 분석하고 여러 안을 통해 적절한 해결책으로 문제를 해결하는 것은 다르다. 문제의 발생 원인에 대해 찾다 보면 기술 작동 원리도 들여다볼 수 있을 것이다.
기업 입장에서 입사 지원자의 성장 가능성을 확인할 수 있는 공간으로는 Github, Blog 등이 있다. 위 기준을 통해 나의 성장 가능성을 보여주려면 Blog가 적절하다. 프로젝트에서 발생한 특정 이슈를 어떻게 처리했고, 왜 그 방법을 통해 처리했는지, 기술 작동 원리에 대해서도 적는다면 본인의 성장 가능성을 보일 수 있을 것이다.
예를 들어보자. 나는 이번 프로젝트에서 Redux를 사용했다. 이는 전역 상태 관리를 위해 선택한 라이브러리인데, 이전 프로젝트에서는 전역 상태 관리를 위해 Recoil을 사용했는데 왜 이번엔 Redux를 사용했는지, Recoil과 Redux의 작동 원리는 무엇이 다른지, 이런 Redux를 통해 관련 이슈를 해결했다는 걸 적는다면 매력적일 것이다.
오늘 성장 가능성에 대해 온종일 생각하며 글을 작성했다. 지금까지 써왔던 내 블로그 글들을 다시 읽으며 내렸던 결론은 '이 정도 글로는 나의 성장 가능성을 입증하지 못한다.'였다. 스스로 만족할 수 있도록 더욱 Why에 대해 적어가며 나의 가치를 높여보겠다.