todayon***
2023-09-24

소프트웨어 개발에 있어 창의적인 사고가 필요하다고 이야기 합니다. 너무 당연한 말이지만, 솔직히 소프트웨어 개발 뿐만 아니라 인간 사회를 살면서 가장 필요한 역량이 창의성이 아닐까 싶어요. 프로그래밍은 작곡이나 비즈니스 창업, 또는 마케팅 캠페인 기획가 마찬가지로 창의적인 행위로 이야기가 되는데, 창의력을 트레이닝할 수 있다고 믿는 분들께 쓰여진 책인 <크리에이티브 프로그래머> 입니다.
소프트웨어 엔지니어링과 관련된 창의성의 7가지 측면인 기술 지식과 커뮤니케이션, 제약 조건, 비판적 사고, 호기심, 창의적 마인드셋, 창의적 기법에 대하여 책은 차례대로 이야기를 해주고 있습니다. 타이틀은 프로그래머라고 이야기하다보니 프로그래밍에 국한되었다고 생각이 들기도 하지만, 막상 책을 보면 창의성 자체에 대해 이야기하는 경우가 많아 보다 범용적으로 책을 사용해도 좋겠단 생각이 듭니다.
책은 단순히 창의성이 매우 좋다, 혹은 창의력을 활용하여 무엇을 할 수 있다 정도로 끝나지 않습니다. 앞서 이야기한 창의성의 7가지 측면을 다양한 케이스들과 연결시켜 어떻게 문제 해결하였는지에 대하여 상세하게 적혀 있습니다. 제약 조건 등의 파트에서는 게임 보이의 소프트웨어적 한계와 이를 돌파한 게임들의 케이스가 무엇인지, 그리고 이를 어떻게 구현해나갔는지에 대하여 흥미롭게 적혀있었습니다.
그렇다고 긍정적인 예시들만 있진 않습니다. 예를 들어 GTA 리워크의 케이스는 왜 실패하였는지, 어떤 과정을 거쳐 더욱 성공적인 창의적 산출물을 만들 수 있는지에 대하여 적혀 있습니다. 이렇게 다양한 케이스들을 접해보면서 더욱 크리에이티브하게 발전해나가는 프로그래머로서의 나 자신을 볼 수 있을 것입니다.
프로그래밍 분야에서 단순히 정해진 결과만 나오도록 하는 것에 의문을 가지시거나 더욱 다양한 케이스를 만들고 싶으신 분들, 혹은 능동적인 문제 해결 전략을 세우고 싶으신 분들께 적극 추천드리는 책입니다.