좋은 개발자느님을 찾습니다
개발자를 아시나요.
컴퓨터 프로그래머, 목 늘어난 티셔츠에 체크 남방을 겹쳐 입고 시커먼 화면에 외계어를 입력하는 사람. 매일 야근하는 전산쟁이…
위에 나열한 표현들밖에 생각나지 않으신다면 자신이 1990년대에 살고 있는 건 아닌지 되돌아봐야 합니다.
개발자는 시장에서 가장 인기있는 직종입니다. 취업난이라지만 ‘개발자느님’을 찾는 채용공고는 줄을 잇습니다. 연봉 50% 인상, 사이닝 보너스 등 스타급 임원에게만 주어지던 조건도 따라 붙습니다. 문과생 출신 부모들은 한글도 못 뗀 아이들을 코딩학원에 집어넣습니다. 손안의 스마트폰을 통해 음식도 배달하고, 화상 회의도 하고, 영화도 보는 세상에서 개발자의 가치는 점점 높아지고 있습니다.
다들 개발자가 부족하다고 말합니다. IT업체 뿐 아니라 제조업체에서도 개발자가 부족해 난리입니다. 정말 프로그래머의 수가 부족한 걸까요? 그렇지 않습니다. 의외로 취업을 못하고 있는 개발자도 많습니다. ‘좋은 개발자’가 부족한 겁니다.
그러면 ‘좋은 개발자’의 정의는 무엇일까요? 기술자니까 기술이 좋으면 되는 걸까요? 리멤버 커뮤니티에서 개발자 분들의 목소리를 모아봤습니다.
리멤버 커뮤니티 원본 글 보기 > 개발을 잘 한다는 것은 어떤 것일까요?
논리적 사고
회의를 할 때 제일 짜증나는 건 앞에 있는 사람이 말을 에둘러 하는 것입니다. 연애하는 거라면야 서로 돌려 말하며 줄다리기도 할 수 있겠지만, 일을 할 때는 할 말을 짧고 분명히 해 주는게 좋죠.
코딩이란 컴퓨터에게 일을 시키는 것입니다. 컴퓨터에게도 말을 에둘러 하면 잘 못알아듣거나 알아듣는데 시간이 걸립니다. 가장 논리적으로, 짧고 분명하게 일을 시켜야 컴퓨터도 잘 알아 듣습니다. 좋은 개발자는 대화를 할 때도 종종 굉장히 논리적으로 사고하고 말하는 것을 봅니다. 여러분이 모바일 앱을 쓸 때, 불편함 없이 내가 누르는데로 원하는 기능이 물흐르듯 구현되는 것을 본다면, 그 이면에는 논리적으로 일하는 개발자가 있다고 생각하셔도 됩니다.
유연함
TV는 한번 만들면 10년을 씁니다. TV를 쓰다가 업그레이드를 위해 안테나를 추가로 달고 하는 경우는 잘 없습니다. 하드웨어는 대부분 한번 만들면 끝입니다.
소프트웨어는 다릅니다. 오늘 개발을 끝낸 제품이여도 내일 업그레이드를 할 수 있습니다. 코드를 바꾸면 됩니다. 그럼 그 코드는 그냥 덧대면 되는 것일까요? 그렇지 않습니다. 애초부터 코드를 수시로 덧댈 수 있도록, 또 덧댄 코드가 잘 작동할 수 있도록 유연한 구조를 만들어야 합니다. 많은 개발자들이 좋은 개발자의 조건으로 유연하고 열린 사고 능력을 꼽는 이유입니다. 물론 그를 뒷받침할 기술적 능력도 받쳐줘야 하고요.
고객을 이해하는 능력
다음의 두 사례가 있습니다. 어떤 사람이 좋은 개발자 일까요?
제품 기획자 1 : “개발자님, 제가 기획한대로 제품을 만들어 주세요” → 개발자 1 : “네, 써 있는대로 했어요” / 개발자 2 : “죄송하지만, 제가 써보는 입장에서 생각해봤는데요. 기획이 이렇게 바뀌면 어때요?”
소프트웨어도 제품입니다. 제품이란 고객이 유익을 얻기 위해 쓰는 어떤 것입니다. 고객을 이해하는 일을 전문으로 하는 사람이 따로 있기도 하지만, 만드는 사람도 중요합니다. 개발 업계의 명언이 있습니다. “때로 좋은 개발은, 개발을 하지 않는 것이다” 무작정 만드는 것 보다 고객에게 필요한게 무엇인지 되짚어보고, 불필요한 기능이면 과감히 없애거나 만들지 않는다는 것입니다. “개발자가 만들라는 것이나 잘 만들면 되지”라고 생각하신다면, 아마 좋은 개발자를 채용할 준비가 안되어 있는 것일 수도 있습니다.