지난번에 "게으른 개발자가 되라"는 글을 올린 적이 있습니다.
이번에는 그 반대 제목인 "부지런한 개발자가 되라"는 글입니다.
소프트웨어 개발은 대단히 섬세하고 꼼꼼한 작업입니다.
이를 어설프게 대충 접근하다가는 프로젝트도 망칠 수 있을 뿐만 아니라 본인 스스로의 성장에도 지장을 줄 수 있습니다. 다음에 몇 가지 질문에 답변을 해보시죠.
- IDE에서 제공하는 편리한 Wizard를 이용하지 않으면 개발이 어렵다.
- 새로운 시도를 할 때 책은 안보고 일단 해본다.
- 새로운 알고리즘에 원리는 관심이 없고 사용만 한다.
- 내가 작성한 코드를 꼼꼼하게 Trace 해보지 않는다.
- 버그는 미뤘다가 나중에 고친다.
- 유닛 테스트는 잘 하지 않고 QA테스트에서 걸러줄 것으로 기대한다.
- 내가 참여하는 프로젝트만 관심이 있고 다른 부서의 프로젝트에 대해서는 전혀 모른다.
- 내가 주로 쓰는 프로그래밍 언어 외에는 배척한다.
- 항상 업무에 치여서 신기술에는 관심을 가질 시간이 없다.
- 동료들과의 지식공유에 많은 노력을 기울이지 않는다.
이 질문들에 Yes가 얼마나 많으신가요? 설마 10개는 아니겠죠.
질문들이 직접적인 관계는 없는 것 같지만 개발자가 단순히 Output만을 내기 위해서만 일을 해서는 안되다는 메시지를 담고 있습니다.
너무 편리하게 일하려고 하고 원리에 소홀하면 개발자로서의 기술적인 깊이를 다질 수가 업습니다. 또 자신의 코드를 꼼꼼하게 검사하는 습관을 들이지 않으면 항상 버그만 많이 만들어 내는 개발자로 낙인 찍힐 수 있습니다. 또한 다른 부서의 프로젝트에 대해서도 관심을 많이 가져야만 지식과 경험의 범위가 넓어지고, 회사 내에서도 기술적인 영향력을 지속적으로 확대해 나갈 수 있습니다. 또한 다른 부서의 개발자들에게 도움도 줄 수 있습니다.
따라서 10년 이상의 경력을 가진 개발자인데 아직도 자신의 팀의 프로젝트에서 게다가 코딩만 열심히 하고 있다면 정말 똑똑하게 부지런한 개발자는 아닙니다. 이런 개발자들이 주는 Value는 신입사원에 2,3배에 불과합니다. 당연히 연봉도 많이 받을 수가 없죠. 10년 경력 이상이라면 적어도 타 부서의 프로젝트의 다양한 Review session에 참여하여 기술적인 결정에도 참여를 하고 전사적인 기술 Roadmap이나 의사결정에 참여할 수 있어야 합니다. 물론 회사 규모에 따라서 그 정도는 약간씩 달라지지만 아직까지 자신의 팀에만 머물러 있어서는 안됩니다.
요지는 부지런해도 좀 Smart하게 부지런해야 한다는 것입니다. 코딩에만 몰두하지 말고 본인의 지식과 경험을 좀더 깊게 좀더 넓게 하기 위해서 꾸준히 부지런을 떨어야 합니다. 그래야 10여년 후에 연봉 1억을 받아도 아깝지 않은 개발자가 될 수 있습니다.