개발자에게 실력이란
개발자에게 실력이란 무엇일까.
무엇으로 평가할 것이며 그 평가 기준은 누가 정하는가. 개인별 평가 기준이 다를 수 있고 개인별 장단점이 다를 수 있다.
하지만 몇가지 평가할 수 있는 방법이 있다.
1) 타인으로부터 얼마나 인정 받는가.
실력은 타인으로부터 평가 받을 때 가장 객관적이다.
타인은 나를 어떻게 평가할까. 문제해결력이다. 속도도 빠르고 정확한 원인 규명을 할 줄 알며 보통의 개발자가 할 수 없는 영역까지 커버한다면 남들로부터 좋은 평가를 받을 수 있다.
그렇다면 어떨 때 좋은 평가를 받을까.
프레임워크 레벨의 깊숙한 원리를 파악하여 문제를 해결할 때
네트워크, 인프라, OS, 데이터베이스, 보안 등 개발 외적인 부분까지 원인 파악이 가능할 때
CI/CD, 메이븐, 젠킨스, 클라우드 등 devops 영역의 문제까지 커버할 때
웹 개발 뿐만 아니라 네이티브 앱, 하이브리드, CS(클라이언트-서버), 유니티 등 다방면의 개발 경험이 있을 때
타인으로부터 인정받아야 좀 더 많은 기회를 얻을 수 있다.
2) 개발자의 필수 덕목. 커뮤니케이션 능력
커뮤니케이션 능력이란 구체적으로 뭘까. 자신의 의견을 잘 표현하며, 또한 남의 말을 경청 할 줄 아는 능력이다.
평소에 습관되지 않았다면 불협화음이 많을 것이고, 왜 내 말을 이해하지 못할까의 다른 의미는 상대방의 말 또한 자신도 못 알아들었던 것이다.
말이 잘 통한다는 것은 먼저 남의 말을 잘 듣는 능력이다. 보통 대화가 잘 안되는 사람들의 특징은 남이 하는 말을 잘 듣지 않아서 이다. 이런 커뮤니케이션 스킬은 감정적 싸움을 미연에 방지하고, 언쟁을 최소화하며, 때론 상대방을 설득시켜서 원하는 결과에 도달할 수 있게 한다. 사회 생활을 하면 할 수록 커뮤니케이션 능력은 점점 더 중요해진다.
자기 내면의 성찰과 분노 조절, 상황을 유리하게 이끌어 가는 능력, 협상의 주도권을 잡는 능력, 고도의 심리전, 자기 객관화, 상식적 판단 등 궁극적으로 사회 생활의 스트레스를 줄이며 불행을 최소화 하는 아주 중요한 능력이다. 개인적으로 개발 능력보다 더 중요하다고 본다.
3) 현실적 단위. 바로 돈.
실력을 평가하는 매우 객관적이고 현실적인 지표는 바로 지금 얼마의 돈을 버는가 이다.
그것도 단기가 아닌, 최근 3년간의 연간 소득을 지표로 삼는 것이 객관적일 것이다.
여기엔 단순히 개발실력 뿐 아니라, 협상력, 인맥, 셀프 마케팅 등의 능력을 필요로 한다.