"주니어 개발자와 시니어 개발자의 차이는 뭔가요?"
주변에서 종종 듣게 되는 질문입니다.
저는 이 질문에
"자신의 능력을 객관적으로 파악할 수 있게 되면
시니어 개발자라고 생각합니다."
라고 답합니다.
경력이 짧지만 자신의 한계를 명확히 파악하고
업무 범위를 스스로 정할 수 있는 사람이 있는 반면
경력이 두 자릿수가 넘어도 자신이 얼마만큼의 일을
소화할 수 있는지 모르는 사람이 있습니다.
저는 후자는 시니어라고 인정하지 않습니다.
Senior, 즉 상급자는 개발 이슈가 발생했을 때
자신의 능력을 파악하여 일정을 산출할 수 있어야 하고
이를 바탕으로 프로젝트의 전체 일정을 조율할 수 있어야 합니다.
또한 팀을 리드하는 위치라면 팀원들의 능력을 파악해
일감을 배분할 수 있어야 하며 다른 팀과 업무 조율도 할 수 있어야 하죠.
행여 업무에 공백이 발생하더라도 업무 시스템이 멈추지 않도록
대비할 수 있는 능력도 필요합니다.
그렇다면 주니어에서 시니어로 성장하기 위해서는 어떻게 해야 할까요?
먼저 자신의 부족함을 인식하고 인정해야 합니다.
주니어 시절, 몇 개의 프로젝트를 거치면 개발에 대한 자신감이 붙습니다.
코딩하는 것도 재밌고 뭐든 할 수 있을 것 같은 자신감 생깁니다.
(이 때는 윈도도 개발할 수 있을 것 같습니다.ㅎㅎ)
점점 코드를 보는 능력이 성장하면서 다른 사람의 코드가 보이기 시작하죠.
그러다 어느 순간 큰 벽을 마주하게 됩니다.
'어.. 대체 이건 어떻게 한 거지? 나는 이렇게 할 수 있나?'
하고 자신이 우물 안의 개구리였다는 것을 깨닫게 됩니다.
이때가 '아 나는 정말 아무것도 아닌 놈이었구나...' 하고 좌절하는 시기입니다.
여기서 스스로의 한계를 인정하고 다음 단계로 넘어갈 방법을 모색하는 사람은
시니어로서의 첫걸음을 떼었다고 볼 수 있겠습니다.
반면에 마주한 벽 앞에서 등을 돌리고 무시하거나 숨어버리는 사람은
성장이 멈추게 될 겁니다.
성장이 멈춘 채 경력만 쌓여가는 사람들은 스스로를 변호하고 포장하기 위해
허세가 가득한 말을 미끼 삼아 남들을 속입니다.
(사람들이 이해하기 어려운 용어를 쓰는 이유는 간단합니다.
첫째, 능력 있어 보인다.
둘째, 사람들은 모르는 용어를 들어도 잘 질문하지 않는다.
이 두 가지를 노린 거죠.)
만약 이해하기 어려운 용어를 남발하며 논점을 흐리는 사람을 만난다면
쉽게 설명해달라고 요구하세요. 그래도 되고 그래야 합니다.
능력 있는 개발자는 설명도 쉽게 잘합니다.
자신의 부족함을 마주했을 때 도망치지 마세요.
자신의 부족함을 인정하지 않는 사람은 더 성장할 수 없거든요.
부족함을 알아야 새롭게 채울 수 있는 것 아닐까요?
만약 자신의 한계를 마주하고 좌절하고 계신 분이 있다면
견뎌내세요. 그럼 더 성장하게 될 것입니다. :)
'일상' 카테고리의 다른 글
코딩도 해주는 ChatGPT! (0) | 2023.02.28 |
---|---|
좋은 면접관이 되려면? (0) | 2023.02.23 |
[퍼온글] 코드 리뷰는 스포츠다. (0) | 2023.02.23 |
클리앙 서버 점검. (0) | 2023.02.22 |
세번째 블로그 이전 (0) | 2023.02.22 |