코딩만 잘하면 이 시대가 요구하는 개발자가 되긴 힘들다
프로그래밍 부트캠프에서 웹 개발자 분들을 양성하고 있다. 개인적으로 그 동안 시스템 개발, 하드웨어 개발, 소프트웨어 영업, 그리고 웹 개발, 사업을 경험하였는데 여기서 배운 점이 있다. 개발자가 단순히 코딩만 잘해서는 성장에 한계가 있고, 이 시대가 요구하는 개발자가 되긴 힘들다는 생각이 들었다. 이에 개발자 양성에 있어, 개발자에게 필요한 능력과 요구사항의 범위를 확장하기로 했다. 설계, 구현, 외에도 말하기, 글쓰기, 듣기, 협업하기 등의 커뮤니케이션 내용까지를 의미한다.
웹 개발자는 웹 개발자가 아니라 웹 서비스 및 운영을 이해하고 주도하는 개발자가 되어야 한다. 즉, 고객이 원하는 기능을 만들어야 하며, 이를 위해서는 고객(사용자)의 피드백을 잘 듣고 개발자 자신의 의견을 잘 표현하고 또, 글로 잘 쓸 줄 알아야 한다. 여기서 쓴다는 것은 일감 만들기, 요구사항 작성하기, 문서화, 커뮤니케이션, 일기, 로그, 그리고 코드를 적는 것까지를 포함한다.
트레바리 CTO 워니 님의 블로그 글을 봐도, 글쓰기란 본질적으로 코딩과 다르지 않으며, 글쓰기 잘하는 사람이 개발을 잘할 확률이 높고, 개발 잘하는 사람은 자연스레 글 역시 잘 쓸 수 있음을 알 수 있다.
평생 글쓰기에 익숙지 않은 사람들에게, 성인이 다 돼서 갑자기 글을 쓰라고 하면 여간 쉬운 것이 아니다. 그러나 누구나 자신의 이야기를 여러 가지 형태로 표현을 한다. 글쓰기는 그중 일부이며, 혹시 글쓰기가 아닌 다른 형태로 지금껏 나의 의사를 표현해 왔다면, 글쓰기를 나의 표현의 채널로 가져가는 것이 불가능하진 않다.
다 처음 하기에 어려움이 있다. 이 진입 장벽을 넘으면, 사실 꽤 재밌는 것들이 많다. 글쓰기가 딱 그렇다. 시작하기가 어렵지, 한 번 시작하고 재미를 들이면 얼마나 쓰고 싶은 게 많은지 멈추지 않는 자신을 발견하게 된다. 글쓰기를 고민하다보면, 자연스럽게 많이 읽게 된다. 읽다 보면 또 쓰고 싶어 진다. 개발자는 평생 읽고, 쓰는 사람들이다.
개발자가 커뮤니케이션을 못하면, 정말 문제가 많다. 주로 혼자 일하시거나 대화할 일이 없는 분들은 혼자 워낙 잘하시다 보니 오히려 협력할 때 커뮤니케이션에 약점을 보이기도 한다. 지속적인 글쓰기는 자연스레 입으로 하는 커뮤니케이션에도 내가 쓰는 글 중 일부분이기 때문에 끊임없이 고민하여 결국 말을 잘 하게 된다.
우리는 학생들에게 12주의 치열한 과정을 겪으며 수시로 문서화를 요구하고, 블로그를 쓰게 하고, 매일의 삽질을 Today I Learned (TIL)로 남길 것을 요구한다. 이는 타 교육 기관과는 분명히 차별화되는 점이다.
누구는 비싼 돈을 내고 개발을 배우러 왔는데 뜬금없이 글쓰기를 가르치냐고 따지는 사람들도 있다. 그러나 나는 이 점에서만큼은 큰 자신감과 확신이 있다. 글쓰기와 커뮤니케이션은 자신의 부족한 점을 용감하게 인식하고, 개발자라면 반드시 욕심을 내야 할 영역이다. 글쓰기와 커뮤니케이션 능력이 별론데 개발을 잘한다는 것은, 조금 이상하다. 혼자서 처음부터 끝까지 개발하는, 동료와 협업이 없는 자리라면 그럴 수도 있겠다. 하지만 어차피 엄청난 천재해커가 아닌 이상, 혼자 개발을 주도하여도 과거의 내가 미래의 나에게 남기는 문장과 기록은 필수적이다.
개발, 즉 코딩에서도 가장 중요한 것은 내가 전달하고자 하는, 혹은 구현하고자 하는 의사를 분명히 밝히는 것이다. 이러지도, 저러지도 않는 표현에 익숙한 사람은 코드에서도 그 티가 난다. 주어 동사가 의미없이 혼재해 있고, 도대체 이 2–3줄의 코드에서 저자가 말하고자 하는 바가 명확지 않은 경우가 그렇다.
혹은 해결하고자 하는 로직이 명확함에도 불구하고, 순서의 배치, 혹은 그 글(코드)의 마감성이 아쉬운 분들도 있다. 코드 리뷰나 리팩토링 역시 글에 대한 퇴고 형식과 내용은 비슷하다고 생각한다. (혹은 그래야 한다고 생각한다)
평생 글쓰기를 해오지 않던 사람도 할 수 있냐고 묻는 분들이 계시다. 할 수 있다. 갑자기 다시 공부해서 의대를 가자는 것이 아니지 않은가. 누구나 다 유시민 작가처럼 글이 술술 읽히게 써야만 하는 것은 아니다. 그럴 수도 없다. 유시민 작가의 글을 읽어보면 그 분만의 문체가 있다는 것을 알 수 있다. 나도 나만의, 당신은 당신만의 문체를 가져야 한다. 누구의 것을 흉내 낼 수 있겠지만, 결국 본인의 글(코드)이 필요하다.
어떻게 하면 상대방에게 좋은 글과 커뮤니케이션으로 전달할 수 있을까를 평생 고민하는 개발자는, 그/그녀의 개발 코드가 날로 좋아질 수밖에 없다.
이 글은 코드스테이츠의 COO 구일모님이 작성한 글입니다. 원문은 이곳에서 읽을 수 있습니다.
프로그래밍 부트캠프, 코드 스테이츠에서 개발/운영 총괄로 일하고 있습니다. 개발자로의 커리어 전환을 고민하시는 분들이 계시다면 코드스테이츠에서 함께 고민을 발전시켜갈 수 있을 것 같습니다.