개발자는 재능의 영역일까?
개발자는 노력보다는 재능의 영역일까? 라는 주제로 내 생각을 적어보려고 한다.
개발자로 10년 가까이 일을 해오면서 정말 다양한 개발자들을 많이 만나왔다.
서울대학교, 카이스트, 포항공대 등 좋은 학교의 공대 출신 개발자 동료들 부터
일본어학과, 미디어 학과를 졸업 후 개발자로 취업한 동기들 까지
같은 개발자로 시작했지만 그 이전의 배경은 너무나도 천차만별이었다.
나는 컴퓨터 공학과를 전공했지만 개발자로 남의 돈을 받고 살아가기 전인
컴퓨터공학부 시절까지 프로그래밍은 재능의 영역이라고 생각했다.
다시 말해, 지금의 나는 프로그래밍을 잘하는 것은 재능의 영역이 아니라고 생각한다.
물론, 재능이 있다면 훨씬 더 빠르게 실력있는 개발자로 성장할 수 있다.
여기서 말하는 재능이란, 새로운 기술을 빠르게 습득하는 능력(이해 능력), 어려운 알고리즘도 금방 이해하고
기존 알고리즘에 기반해 새로운 알고리즘을 구현해 내는 능력(수학적 사고 능력)정도 일 것 같다.
개발자로 일하는 동안 사실 나는 현업에서 컴퓨터공학부 시절 배왔던 그 흔한 알고리즘(BFS, DFS) 마저도
사용하고 있는 코드를 보거나 내가 적용해야 할 경우가 없었다.
물론 비슷한 개념의 이론을 적용해 개발한 적은 있지만 이러한 일도 그렇게 많지는 않았다.
즉, 대부분의 개발자들은 위에서 말한 재능에 의해 업무성과가 확연히 차이 날 만한 업무를 하고 있지 않다는 것이다.
문제는 대부분 이제 막 프로그래밍을 배우기 시작했거나 사회초년생들의 경우 막연히
나보다 월등히 잘하는 주변 사람들을 보며 ‘개발자는 재능있는 사람들이 하는 거구나’라고 생각하는 것이다.
나의 이야기이기도 하다.
개발자로 살아가기 위해 그렇게 재능이 필요하다고 생각하지 않는다.
재능보다는 노력이 더 중요하다고 생각한다.
지금 개발을 못하고 현업에서 업무 파악이 힘든 이유는 내가 그만큼 노력하지 않아서 일 확률이 99.99%이다.
내가 생각하기에 나보다 뛰어난 주변의 사람들은 프로그래밍을 잘하기 위해
새로운 프레임워크를 잘 사용하기 위해 나보다 훨씬 더 많은 시간을 투자했을 확률 또한 99.99%이다.
그렇다고 단순히 시간을 많이 투자하는 것만이 개발 실력을 높이는데 좋은 것은 아니다.
새로운 언어를 학습한다고 했을 때 10권의 책을 읽는 것보다 1권의 책을 읽고 실제 그 언어로
조그맣게라도 프로젝트를 해보는게 훨씬 더 개발 실력에 도움이 된다.
다시 말해, 개발을 더 잘하기 위한 훈련이 필요하다.
그 훈련은 단순히 책을 읽고 지식을 습득하는 것에서 벗어나 내가 학습한 지식들에 대해
의구심을 가지고 계속해서 의도적으로 파헤쳐 나가는 것이다.
단순히 스프링 프레임워크를 통해 API를 만들어 보는 것에서 끝나는 것이 아니라
어떻게 스프링은 요청을 받아 API를 내가 원하는 컨트롤러에 전달하는지 스프링은 어떻게 해당 컨트롤러의 위치를 알고있는지 에 대한
물음을 끊임없이 제기하며 의도적으로 지식을 학습해 나가야 한다.
나는 비전공자로 시작했지만 지금은 너무 멋진 개발자로 성장해 있는 여러 개발자들을 보았다.
물론, 재능이 있었을 수도 있었지만 그 사람들이 얼마나 많은 노력했는지 알기에 단순 재능이라고 치부하고 싶지 않다.
정리하자면, 내 경험으로 미루어 보아 개발자는 재능의 영역이라기 보다는 노력의 영역이라고 생각한다.
다만, 대부분의 개발자가 그 노력의 영역 (=인내의시간)을 버티지 못하고 포기하게 되는 것 같다.
어떤 분야든 고수(잘하는 사람)가 되기 위해서는 인고의 시간이 필요하다는 걸 다시 한 번 상기했으면 좋겠다.
개발자로 살아가고 있는 이 글을 읽고 있는 분들 모두 남들과의 비교보다는
어제의 나보다 더 나아지기 위해 노력하며 행복한 개발자로서의 삶을 살아갔으면 한다.
절대 개발자는 재능의 영역이 아니다.
https://brocess.tistory.com/341
'Life > 개발자 칼럼' 카테고리의 다른 글
[ 개발자 칼럼 ] 신입 개발자 시절 성장에 도움됬던 3가지 (0) | 2023.02.19 |
---|---|
[ 개발자 칼럼 ] 신입 개발자로 돌아간다면 하지 않을 것 3가지 (2) | 2023.02.18 |
[ 개발자 칼럼 ] 롱런하기 위해 개발자에게 필요한 3가지 (2) | 2023.01.06 |
[ 개발자 칼럼 ] 개발자는 만능이 아니다. (0) | 2023.01.01 |
[ 개발자 칼럼 ] 개발자 매너리즘과 이직 (0) | 2022.12.08 |