“글쓰기를 시작할 때까지는 그것을 통해 무엇을 터득하게 될지 알 수 없다. 당신은 글쓰기를 통해 그런 것이 있는 줄도 알지 못했던 진실들을 알아차리게 된다.” – J.B. 프리슬리, 영국작가
개발자에게 글쓰기는 매우 중요합니다. 이것도 하나의 능력입니다. 개발자는 문서로 소통할 수 있는 능력을 키워야 합니다. 문제의 핵심을 찌르고 이해하기 쉽게 해결책을 보여줄 수 있는 문서 작성 능력은 개발자가 필수로 지니고 있어야 합니다. 누구나 쉽게 이해할 수 있는 문서 작성 스킬을 높여야 합니다. 자신의 논리와 생각, 작업 결과를 누구나 알기 쉽게 잘 설명할 수 있어야 합니다. 구두로 전달하는 것은 휘발성이라 회사에 아무런 자산으로 남지 않습니다. 파급력이 없어 더이상 다른 작업자에게 공유가 되지 않습니다. 개발자로서의 역량은 코드를 작성하고 문제를 해결하는 것뿐만이 아닙니다. 이제는 기술적인 능력만으로는 한계에 부딪힐 수 있습니다. 현대의 소프트웨어 개발 환경에서는 글쓰기 능력이 더욱 중요한 역할을 합니다.
목차
Toggle개발자가 글쓰기 능력을 키워야 하는 이유
- 팀간 효율적인 협업과 의사소통
소프트웨어 개발은 팀 단위로 이루어집니다. 제가 재직하는 개발팀만 해도 기획, 디자인, 프런트엔드, 백엔드, 모바일 앱개발, 데이타 팀, 머신러닝, IOT 개발, 하드웨어 개발로 9개 파트로 이루어져 있습니다. 각 파트의 구성원들이 같은 방향으로 서비스를 개발하는 것은 매우 중요합니다. 구두로 회의를 많이 진행하기도 합니다. 하지만 사람의 기억력과 전달로는 서로 다른 그림을 그립니다. 전달자가 이렇게 하자고 했더라도 충분한 정보 전달과 히스토리를 모르는 상태에서 수신자는 모든 정보를 100% 이해할 수 없습니다. 그래서 각 구성원들 간의 의사소통은 프로젝트의 성패에 큰 영향을 미칩니다. 구두로나 코드 작성만으로는 아이디어나 설계를 정확히 전달하기 어려울 수 있습니다. 기획팀에서 문서를 개발자들에게 전달해야 하는 것도 이런 의미입니다. 개발자 또한 글쓰기를 통해 복잡한 개념을 명료하게 풀어낼 수 있으면, 팀원들이 더 빠르게 이해하고 협력할 수 있습니다.
2. 코드 주석 작성의 중요성
코드를 작성할 때 주석을 넣습니다. 이 때 코드의 목적과 동작 방식을 설명하는 것이 매우 중요합니다. 개발자들은 또한 API 문서, 기술 블로그 포스트 등을 통해 다른 개발자들이 코드와 기술을 이해하고 활용할 수 있도록 정보를 제공해야 합니다. 백엔드와 IOT 간의 통신 프로토콜 정의는 API 문서로 작성해서 서로 공유합니다. 이 업무는 절대 구두로 할 수 없습니다. 기획팀에서 전달한 문서를 기반으로 해당 프로토콜을 확인하며 이 문서를 참조해 개발을 합니다. 각 파트의 소통을 위해 명확하고 효과적인 문서 작성 능력은 다른 개발자들이 프로젝트를 원활하게 진행하고 확장하는 데 도움을 줍니다.
- 버그 리포트 및 이슈 관리
버그 리포트 작성은 개발자라면 누구나 해야 할 업무입니다. 이 문서에 이슈를 정확하게 기술하고, 어떻게 재현할 수 있는지 설명해야 합니다. 이것은 버그를 신속하게 수정하고 추적하는 데 필수적 요소입니다. 명확하게 문제를 기술하면, 담당 개발자들은 문제를 이해하고 효과적으로 대응할 수 있습니다.
- 기술적인 문서 공유
혁신적인 기술의 발견이나 연구 결과를 공유하려면 글쓰기 능력이 필요합니다. 해당 기술 문서를 명확하게 작성하면 전문적인 지식을 전달하고, 동료들의 피드백을 받아 개선하는 과정을 원활하게 할 수 있습니다.
- 이직 지원 서류
글쓰기 능력은 이직을 위한 서류 작성에 중요한 역할을 합니다. 기술적인 문제 해결 능력 만큼이나 진행한 프로젝트를 기술 내용과 함께 비전문가에게도 이해시킬 수 있어야 합니다. 지원 서류에 해당 능력이 고스란히 담겨 있다면 면접 진행 확률이 높아집니다. 그리고 면접 전에 문서로 지원자의 경쟁력을 충분히 설득시켰다면 이직 성공율이 높아집니다.
- 개인 브랜딩과 지식 공유
앞서 개발자 블로그나 소셜 미디어를 통해 기술적인 지식을 공유하는 것을 추천했습니다. 기술 블로그를 꾸준히 작성하면 개발자 브랜딩을 높일 수 있습니다. 개인 브랜딩을 높이는 것은 개인의 능력을 많은 사람들에게 입증시키는 것과 동시에 그에 따라 몸값 또한 상승하게 됩니다. 더불어 다른 개발자들과 지식을 교환하고 협력하는데 도움이 됩니다.
- 고객 및 사용자와의 소통
제품이나 서비스를 개발하는 과정에서 사용자와의 소통도 매우 중요합니다. SDK 같은 라이브러리 형태로 개발물을 공유해야 한다면 다른 개발자가 사용 가능하게 사용 설명서를 작성해야 합니다.이를 통해 사용자들이 제품을 이해하고 사용하는 것을 돕습니다.
기술 블로그
이제는 개발자가 글을 잘 쓰는 능력이 그 어느 때보다 중요합니다. 코드 작성만으로는 다양한 상황에서 요구되는 의사소통과 지식을 충분히 제공할 수 없습니다. 명확하고 효과적인 글쓰기는 개발자의 업무 효율성을 높이고 전문성을 보다 잘 드러낼 수 있는 필수적인 능력입니다. 그렇다면 개발자에게 있어서 가장 필요한 글쓰기 실천 방법은 무엇이 있을까요? 기술 블로그를 시작하는 것입니다. 블로그는 개발자에게 꼭 필요한 무기입니다. 기술 블로그를 통해 개발자는 기술적인 지식을 공유하고 다양한 이점을 얻을 수 있습니다. 기술 블로그가 개발자에게 제공하는 주요 장점에 대해 살펴보겠습니다.
- 지식 공유와 기여
기술 블로그로 개발자가 자신의 경험, 지식, 노하우를 공유할 수 있습니다. 개발 생태계에 자신만의 지식으로 기여할 수 있는 기회를 제공합니다. 코드 예시, 문제 해결 과정, 코어 기술을 다른 개발자들과 공유하면서 커뮤니티의 성장과 발전에 기여할 수 있습니다.
- 전문성 강화
블로그를 운영하면서 기술적인 주제를 깊이 있게 다루고 설명하면, 자신의 전문성을 강화할 수 있습니다. 블로그 글을 통해 다른 개발자들이 해당 기술에 대해 당신의 지식을 신뢰하고 참고할 가능성이 높아집니다. 글을 작성하는 과정에서 새로운 주제를 연구하고 설명해야 합니다. 이를 통해 기술적인 학습과 지식 확장이 이루어집니다. 또한 복잡한 주제를 이해하고 다른 사람에게 설명하는 능력도 향상됩니다.
- 네트워킹과 커뮤니티 구축
다른 개발자들과 소통할 수 있는 기회를 얻을 수 있습니다. 댓글, 피드백, 소셜 미디어 공유를 통해 네트워킹을 확장하고 유용한 연결을 만들 수 있습니다. 이는 향후 협업 기회나 정보 교환에 큰 도움이 됩니다.
- 재정적 이익
해당 블로그 글이 인기를 얻게 되면 광고나 스폰서십 등을 통해 일정한 수익을 창출할 수도 있습니다. 이는 개발자로서 추가적인 금전 혜택을 얻을 수 있는 방법 중 하나입니다.
위와 같이 기술 블로그는 개발자에게 다양한 이점을 제공하는 중요한 도구입니다. 지식 공유, 전문성 강화, 학습, 네트워킹, 개인 브랜딩, 문제 해결 능력 강화, 창의성 발휘, 재정적 이익 등 다양한 측면에서 기술 블로그는 개발자의 성장과 발전을 도울 수 있는 유용한 도구로 작용합니다. 따라서 개발자라면 기술 블로그를 고려하여 자신의 경험과 지식을 공유하며 커뮤니티에 기여하는 것이 가치있는 선택일 것입니다.
글쓰기 팁
글쓰기는 생각만 큰 쉽지 않습니다. 글쓰기를 할 때 활용할 수 있는 유용한 팁에 대해 알아보도록 하겠습니다.
- 중간에서 시작하기
영화 대본을 쓰든, 게임 시나리오를 짜든, 연애 편지를 쓰든, 소설을 쓰든 간에 꼭 처음부터 해야 한다는 원칙은 없습니다. 개발자용 글도 마찬가지입니다. 중간에서 시작할 수도 있습니다. 때로는 이것이 강력한 방법이 됩니다. 글쓰기 뿐 아니라 삶도 그러합니다. 개발자 이력의 초반이 망가졌더라도 중간인 지금부터 다시 시작하면 됩니다.
- 최고의 성과를 창출하는 음악을 들어라.
집중력을 높이기 위해 같은 영화나 음악을 계속 반복해서 듣는 것은 도움이 됩니다. 홀로 해야 하는 글쓰기 과정에서 고립감을 훌륭하게 줄여줄 수 있습니다. 각자에게 맞는 편안함, 여유로움, 행복, 영감을 제공하는 영화나 음악을 찾아내면 됩니다.
- 최고의 작가도 악전 고투를 벌인다.
작가를 만드는 건 문장력이 아니라 어떻게든 ‘쓰고자 하는 의지’입니다. 의지를 포기하지 않으면 어느 순간 탁 풀려나가는 실마리를 잡게 됩니다. 개발자는 생각한 바를 글로 표현할 수 있으면 됩니다. 이것은 쓰면 쓸수록 길러지는 능력입니다.
- 모두가 빈페이지에서 출발한다.
개발자가 글쓰기에 너무 중압감을 느낄 필요는 없습니다. 쥐어짜내지 말고 지금 머릿 속에 들어 있는 생각들을 가볍게 종이 위에 그저 떨어뜨린다는 느낌으로 써내려가면 됩니다. 아침일기, 블로그 게시물, 소설, 편지, 메신저 등 모든 종류의 글쓰기가 개발자에게 좋은 시작점이 되어줄 것입니다.
어떤 글을 써야 할까
개발자는 어떤 주제로 글을 쓸 때 나의 관심사와 다른 개발자들이 필요로 하는 것과 반드시 교집합이 있어야 합니다. 히트상품의 비밀인 MAYA(Most Advanced Yet Acceptable)가 글쓰기에도 적용되어야 합니다. 이것은 사람들은 친숙하면서도 놀라운 것에 반응한다고 법칙을 기반합니다.
유명한 작가인 스티븐 킹의 <<유혹하는 글쓰기>>의 한 단락을 소개하겠습니다. “처음부터 마음을 사로잡고 놓아주지 않아서 끝까지 책상을 넘기게 만드는 그런 소설이 되려면 책 속에 나오는 등장인물이나 그들의 행동이나 주변 환경이나 대화 내용 등이 독자들에게 어쩐지 낯익는 것들이어야 한다고 나는 생각한다. 이야기의 내용이 독자 자신의 삶과 신념 체계를 반영하고 있을 때 독자는 이야기에 더욱 더 몰입하게 된다.”
이 친숙함과 놀라움은 다른 말로 하면 대중성과 진정성입니다. 친숙하면 대중에 전달(Transfer)이 잘 되고 놀라운 진정성이 있으면 대중을 변화(Transform)시킵니다.
정리
독서의 마지막 최종 과정은 자신만의 글쓰기입니다. 배우고 그 내용을 정리했다면 마지막으로 재창조하는 과정이 남아있습니다. 새롭게 알게 된 지식은 글쓰기를 통해 더욱 전문성을 갖추게 됩니다. 또한 나를 돌아볼 수 있게 됩니다. 제가 쓴 글은 다른 사람들에게 도움을 줍니다. 저 또한 이 책을 쓸 수 있는 가장 큰 기회는 개발자들을 위해 온라인에 올리는 글이였습니다. 편집자가 그 글을 보고 저에게 해당 주제로 책을 출판하자고 제안했습니다.