하마
7k
2021-11-09 17:14:13 작성 2021-11-23 13:35:13 수정됨
18
5941

개발자의 '코딩' 과 소설가의 '글쓰기'





개발자의 '코딩'은 소설가의 '글쓰기'와 비슷하다고 생각 합니다. (차이도 있습니다만) 

소설가가 '글쓰기'를 잘하기 위해 매일 매일 습작을 하듯이..'코딩'을 잘하기 위해 서는 매일 매일 코딩 하는 버릇을 들이고, 평생 '장인' 정신을 가지고 노력해야하는 일인거 같습니다. 글쓰기를 잘하는 사람이 코딩도 잘 할거라는 확신이 있습니다. (여담으로 자신의 생각을 표현하는데 적극적인 작가형 사람은 만들어내는걸 잘 할 것이고,  짧은 생각으로 비판만 하는 습관만 들인 사람이 독창적으로 무엇인가 스스로 만들어 내기 힘들 것이란 것은 충분히 어리짐작 할 수 있겠지요.)

재능과 반복

지나가는 길에 방망이 깍는 노인을 보고, 일기장에 "오늘 방망이 깍는 노인을 봤다, 신기했다" 라고 단편적으로 적는것과 그것을 주제로 수필을 쓰는 능력은 천지차이입니다. 재능,꼬아보기,상상력 및 끈기가 필요합니다. 토지같은 장편소설을 글쓰기 하는것은 스프링프레임워크 혹은 데이타베이스를 코딩하는것과 일견 일맥상통 합니다. 글쓰기와 코딩은 이미 모든것을 준비(설계) 해 놓고 쓰는 것이 아니라, 쓰다 보면 쓸거리가 더 생기게 마련인 반복적인 작업 입니다. 어떤 분야든 재능이 중요하지만 반복을 통해 극복가능하리라 생각합니다.

언어의 풍미

글쓰기/코딩을 잘 하려면 해당 언어에 대한 풍부한 지식을 가지고 있어야 합니다. 자기가 알고 있는(습관도 들여진) 어휘가 많을수록 단어와 그 단어와 어울리는 연속된 단어와 문장들을 자연스럽게 서술 할 수 있게 됩니다. 언어를 잘 알면 가독성도 좋아지며 적은 묘사만으로 풍부한 해석을 가능케도 합니다. 대부분의 언어는 단순히 자/모음을 가지고 있지만 언어의 풍미는 상당히 다를 겁니다. 해당 언어의 풍미를 살리기 위해서는 네이티브가 아니고서는 파악하기 오래 걸릴 겁니다. 즉 언어를 깊게 배운다는 것은 문화를 배우는 것도 포함합니다.

컨텍스트(기반기술)

두 작업(코딩,소설) 모두 해당 컨텐츠에 관련된 컨텍스트를 연구하고 수집해야 합니다. 목적과 주제를 분명히 알고 집중해야합니다. 쓰기로 마음 먹은 주제에 대해서 옳은 방향으로 잘 풀어 나가려면, 근거가 되는 컨텍스트에 대해서 면밀하게 조사/분석을 해야 합니다. 해당 컨텍스트를 근거로 실질적 글쓰기는 설계되고 구축이 되어져 가게 됩니다. 컨텍스트에 대한 지식이 부족하면 글쓰기가 마음먹은데로 진행되지 않으며, 의미 없는 고민에 빠지게 됩니다. 그래서 문서나 API를 조사하고 읽는법이 중요한 것 입니다.

잘 읽혀지기  


소설과 마찬가지로 코드는 쓰는 시간 보다 읽혀지는 시간이 훨씬 많습니다. 쓰는 사람도 자기가 쓴 글을 쓰는 시간보다 훨씬 많이 읽어보게 되며, 독자나 유지,업데이트를 해야하는 사람들은 더더욱 그러하겠지요. 따라서 잘 읽혀지는 것은 매우 중요합니다. 두고 두고 다른사람들이 보아야 할 것이고 고쳐야 할 것이기 때문에 잘 읽히고, 어떤 부분은 편하게 어떤 부분은 불편하게 사용하도록 변주(變奏)가 필요하며 조율(調律)을 해나가야 합니다. 그리고 한 문장에 하나의 주장을 담아서 간략히 문장을 만들어야 합니다. 만연체로 쓰여진 문장은 읽기 괴롭지요.


근데 "잘 읽혀진다"라는 의미는 단순하진 않습니다.  평소 풍부한 어휘와 배경지식을 많이 가지고 있는 한국인에게 읽혀지는 토지에 대한 읽기는 한국말을 꽤 잘 한다는 외국인이라도 어려울 것이기 때문입니다.  그들에게는 모든 언어에서 공통으로 사용하는 단순한 어휘와 문장구조로 쓰여진것이 더 가독성이 좋겠지요. 그렇다고 토지를 그렇게 작성하는게 옳은거라 생각하진 않습니다.


퇴고와 점진적 향상 


마지막으로 이런 모든것을 반복적으로 고쳐가며 개선시키는 퇴고의 과정이 반드시 필요합니다. 아무리 천재소설가라도 천재 개발자라도 퇴고 없이는 부족한 결과물만 나올 뿐입니다. 보면 볼 수록 쓰면 쓸 수록 나아집니다. 쓰는 것을 두려워 하면 안됩니다.누구나 처음은 초라하며 고쳐가며 좋아집니다. 주변사람들의 의견은 많은 도움을 줄 수 있습니다.  많은 피드백을 받을 수 있는 인기 오픈소스의 품질이 좋은 이유도 그것입니다. 



p.s

- 선대에서 구축 해 놓은 패턴을 학습하여 바퀴를 재 발명하지 않고도 선대의 지혜를 빠르게 습득 할 수 있다.
- 테스트를 통해 실패의 종류를 깊이 있게 탐색하며, 전체구조의 강건함에 흐트러짐이 없게 한다. 

46
44
  • 댓글 18

  • Fullstacknology
    2
    2021-11-09 23:18:01

    좋은 글 감사합니다~ 잘 읽었습니다.

  • oingoing
    13
    2021-11-10 17:17:49

    저도 개발 블로그를 작성하면서 아는 내용이지만, 글로 표현하기가 어렵다는 생각이 들었습니다. 그래서 개발 뿐만 아니라 책 읽는 습관도 가지고 꾸준히 블로그를 작성해보면서 나름 글쓰기 연습을 하고 있습니다! ㅎㅎㅎ 아직 많이 부족하지만, 아주 조금씩 나아지는 모습 보면서 만족하고 있습니다.

    좋은 글 감사합니다!

  • exexexe
    364
    2021-11-11 13:34:25 작성 2021-11-11 13:34:58 수정됨

    간만에 좋은 글이네요.

    OKKY의 어떤 글 쟁이는

    논란이 될 만한 글만 올려서 여러 사람 열 받게 하고, 시간 낭비 시키던데..

  • 코딩잘하기
    1k
    2021-11-12 11:58:38

    만드는 일이라 비슷하단 생각이 들때가 있어요. 

    하나하나 쌓아가고, 계속 수정하고.. 


    근데 소설과 개발의 결정적인 차이점은 

    '외부의 변화'의 '영향력'이라고 보아요. 


    소설가는 글만 잘 쓰면 되지만, 개발자는 외부 세계 (각종 개발 환경의 업데이트, 거대 IT회사,  사용자, 동료, 고용인 등)에

    대응해야되니깐요. 


    또 소설은 글로만 그치는 경우가 많은데 개발은 거의 모든 실생활에 스며들어가 있으니깐요. 




    -4
  • sbroh
    11k
    2021-11-12 14:37:18

    제가 아는 어느 개발사 대표는 신입 시 글쓰기 시험 봐서 뽑더군요. 글 잘 쓰면 개발 잘 할 수 있다고. 

    거기서 여러 개발자들이 키워진 걸로 압니다. 

  • kenu
    57k
    2021-11-13 18:43:31

    어느 언어나 표현은 스토리(서비스)를 만들어 가는 방법입니다.

    좋은 글 감사합니다.

    믿고 클릭하는 하마님 글!

  • woz
    12
    2021-11-14 21:59:37

    좋은 글입니다 잘 읽었습니다 감사합니다


  • Adftdvhug644
    501
    2021-11-15 07:17:11

    공감합니다

  • 스티븐황
    14
    2021-11-15 21:29:15

    좋은글 감사합니다.

  • 참서빈
    3k
    2021-11-16 19:24:12

    재미난 글 잘 읽었습니다.

    소설도 일회성이 아닌

    프로그램처럼 자주 다시 읽게 된다면

    좋겠다는 생각을 해보게 되네요

  • exoluse1
    298
    2021-11-18 10:02:27

    개발자에게 글쓰기는 psuedo coding 이라고 생각합니다. 매우 중요합니다

  • youngyoung
    2k
    2021-11-18 11:58:36

    좋은글 감사합니다

    퇴고랑 같은 Code refactoring 이야말로 정말 개발자로서 필요하다고 생각합니다.

    한번 만든건 끝이라는 게 아니라 끊임없이 최선책을 다시 돌아보는게

    코딩능력에 영향을 끼친다는건 말할것도 없는 진실..

    하지만 대부분 시간이나.. 귀차니즘등에 등한시 하는게 현실이죠... ㅋ

  • okkyHam
    22
    2021-11-19 17:18:09

    좋은 글 감사합니다 !

    시를 쓰는 친구, 마케팅 홍보문구를 만드는 친구와 프로그래밍하는 저까지 모두 

    1. 좋은 문장 필사 많이 하고 체화시켜서 작성해보고 피드백 받기

    2. 좋은 카피라이팅, 홍보 문구 적용해서 작성해보고 피드백 확인하기

    3. 좋은 코드 많이 보고 적용해서 많이 작성해보고 코드리뷰 하기

    와 같이 실력을 키우는 경험을 공유하다가 찾은 공통점이었습니다.

    질을 높이기 위해서 많은 양을 따라 써보고 직접 작성도 해보는게 비슷하더라고요.

    아무래도 3명 다 글을 쓴다는 공통점이 있었기 때문에 나온 결론이 아닐까 합니다 :)

  • 코딩을지켜츄
    1k
    2021-11-23 11:19:15

    개발 하면서 드는 생각을 솔직하게 말하자면 국문학과나 철학과 출신이 개발을 잘하지 않을까? 하는 비약적인 생각이 들기도 합니다.

    점점 난이도가 올라가고 할수록 결국 무언가를 개발하기 위해 문서를 깊고 많이 읽게 되는데, 내가 구현하고자 하는 기술의 원리나 사용법, 개념 등 결국 이걸 이해하려면 문해력이더라고요. 일단 문서가 이해가 되야 개발을 할수 있으니 문해력이 개발자의 필수 조건이 아닐까 생각합니다. 논리적 사고든 뭐 수학적 사고든 간에 일단 문서나 포스팅을 이해해야 개발을 시작할수 있는거니, 전 언어영역 그러니까 수능 시험은 단편적이라면 일반적으로 글 잘적고 잘 읽는 사람이 개발을 잘할거라는 확신이 있습니다. 제가 언젠가 사장이된다면 이력서 외의 간단한 글짓기를 시키고 그걸 가지고 토의나 대화 한 후에 개발자를 뽑을 생각합니다

  • 하두
    13k
    2021-11-24 20:09:19

    아~~~

  • Kyle Ryu
    25
    2021-11-26 10:52:07

    좋은 글 감사합니다!

  • ㅠㅠㅠㅠㅠㅠㅠ
    490
    2021-11-29 16:02:03

    코딩잘하기

    소설도 마찬가지죠.

    (각종 개발 환경의 업데이트는 현재 살아가고 있는 시대적 환경이 될 거고, 거대 IT회사는 출판사가 될 것이고, 사용자는 독자, 동료는 똑같이 동료이며, 고용인은 거대 IT회사와 같은 것 같은데...)

  • neatCat911
    120
    2021-11-30 10:35:24
    좋은 글 감사드려요~
  • 로그인을 하시면 댓글을 등록할 수 있습니다.