본문 바로가기
IT를 시작하려는 이들에게

[IT] 나쁜 개발자란?

by IT Daily Life 2023. 2. 6.
728x90
반응형

배달의민족 CEO 김범준이 좋은 개발자란 질문에 답한 내용입니다. 

 

개발자라고 한다면 스스로를 코딩하는 사람으로 정의하지 않았으면 좋겠다.
결국은 우리에게 주어진 비즈니스 문제를 해결하는 사람으로 생각하는 것이 좋겠다.
때로는 문제를 해결하는 가장 좋은 방법이 정책을 바꾸고 프로그래밍을 안 하는 것일 수도 있거든요.
코드를 만 줄 짰다고 좋은 프로그래머는 아니거든요
천 줄이든 만 줄이든 중요한 것은
당신이 작성한 코드로 만들어낸 비즈니스 가치가 뭐야?

그 비즈니스 가치로 나의 가치가 증명이 되는 것이고 인정을 받는 것이지
코딩 자체로 인정을 받는 것은 아니거든요
그래서 사실 개발자는 코딩 실력도 굉장히 중요하지만
그보다 더 먼저 중요한 것은 문제해결력이라고 생각해요
실제로 코딩하는 시간은 20%도 안 되는 것 같아요
나머지는 어떤 논리로 풀어내야 될지 고민하는 시간이거든요
그런데 고민하는 시간 앞에 또 뭐가 있냐면
우리가 어떤 문제를 풀어야 되는 거지?
그래서 저는 커뮤니케이션이 정말 중요하다고 생각해요
풀고자 하는 문제가 무엇인지를 정확히 이해하는 것
여기에 노력의 80%는 들어가야 되지 않나

 

 

좋은 개발자란 무엇인가란 질문에 가장 명쾌하고 좋은 대답이 아닐까 합니다. 

 

나쁜 개발자 .1
코딩으로 모든 것을 해결하려는 개발자

안타깝게도 많은 개발자들은 코딩으로 모든 것을 해결하려는 경향이 강합니다. 그래서 자신이 만들고 있는 프로그램이 어떤 비즈니스 효과를 가지는지 전혀 모릅니다. 오로지 이렇게 해달라고 요청했으니깐, 또는 설계서에 이렇게 되어 있으니깐 하면서 그냥 만듭니다. 같은 일을 하더라도 자신이 어떤 일을 하는지 알고 일하는 사람과 모르고 일하는 사람은 다른 결과를 만듭니다. 

 

 나쁜 개발자 .2
커뮤니케이션을 피하는 개발자

개발자들 중에서는 조용히 혼자만의 공간에서 혼자만의 시간을 가지고 개발하고 싶어 하는 사람들이 많습니다. 코딩을 하면 당연히 몰입을 해야 하고, 몰입 중에 외부 방해를 받게 되면 다시 몰입하는데까지 평균 30분 정도의 시간이 소요되기 때문에 혼자 몰입할 수 있는 공간과 시간을 가지고 싶어하는 것은 당연합니다. 하지만 그렇다고 커뮤니케이션을 피할 수는 없습니다. 

위에서 언급했듯이 실제로 코딩하는 시간은 20%도 안 됩니다. 어떤 논리로 풀어내야 될지 고민하는 시간이 80% 입니다. 이때 가장 중요한 도구는 코딩이 아닌 커뮤니케이션입니다. 

 

커뮤니케이션을 피하겠다는 개발자는 아무생각이 없는 사람입니다. 설계문서가 잘못되어도 문제가 잘못 되었어도 상관하지 않습니다. 그냥 코딩합니다. 그리고 문제가 발생하면 남탓을 합니다. 이렇게 하라고 하지 않았냐? 하면서 오로지 상대방이 잘못 이야기 했다고 우깁니다. 그뿐이 아닙니다. PM이 문제점을 이야기 하면 그 문제점에 대해서 이해하고 해결하기 보다는 단지 일만 많아졌다고 투털거리기만 합니다. 

 

 

개발자는 문제를 해결하는 사람입니다. 문제는 해결하는 방법은 다양합니다. 코딩으로 해결할 수도 있고, 커뮤니케이션으로 문제를 해결 할 수도 있습니다. 하지만 가장 중요한 것은 바로 마인드입니다. 개발자는 비즈니스 가치를 해결하는 사람이라는 것을 자각해야 합니다. 그래야 수동적이지 않고 스스로 가치를 만들고 문제를 해결해 나갈 수 있습니다. 

 

많은 실력있는 개발자들을 보았습니다. 코딩으로는 더 할 나위 없는 수준이었지만 그러한 개발자 대부분이 수동적이었고, 커뮤니케이션 능력이 현저히 떨어졌습니다. 이는 오로지 코딩으로만 모든 것을 해결하려 했기 때문입니다. 

코딩은 분명 중요합니다. 전 개인적으로 코딩 못하는 사람을 개발자라 하지 않습니다. 그 만큼 코딩은 중요합니다. 하지만 결코 코딩이 전부가 아닙니다. 프로젝트가 진행될 때 코딩은 극히 일부분에 불과하다는 것을 알아야 합니다. 

 

코딩 바깥의 세상을 보고 코딩을 버려야 훌륭한 개발자가 될 수 있습니다.
728x90
반응형