입력이 없으면 창의적인 결과물도 없다.
세네카의 스토아학파, 인덱스카드를 담고 있는 니클라스 루만의 제텔카스텐 약국캐비닛, 코틀린 세개의 공통분모는?
세 가지 사례 모두 창의성이 창의성을 낳는다는 것을 보여주고 있다.
모든 의도는 이전의 의도를 기반으로 한다.
모든 창의적인 작업은 입력에서 시작된다. 입력이 없으면 출력도 없다. 소프트웨어 엔지니어링에서 창의성의 역할을 더 잘 이해하기 위해 많은 개발자에게 창의성을 발하는 데 필요한 요건이 무엇인지 물어봤다.
개발자들은 일관되게 기술 지식을 첫번째로 꼽았다.
창의성은 영감주의자, 상황주의자, 구조주의자 등 다양한 관점으로 접근할 수 있다.
자바 가상 머신과 그 생태계의 폭넓은 지식 없이는 자바 코드로 창의력을 발휘하긴 어렵다.
현재 그루비의 영향력이 없었다면 코틀린에 with it 키워드가 존재하지 않았을 것이다.
폭넓은 지식이란 정확히 뭘까?
미래 지향적인 기술 기업들은 지속적인 학습을 중요하게 생각한다. 그래서 학습의날, 해커톤 등 책과 강좌를 제공한다.
심지어 구글에서 영감을 얻은 20%의 시간과 같은 혜택도 제공하는데 이를 통해 일주일에 하루는 자신만의 개인 프로젝트를 수행할 수 있었다.
결국 창의성은 다양한 입력이 결합된 결과물이며, 이러한 입력들을 적극적으로 찾아보는편이다. 입력들을 구조화해 머릿속에 무언가를 형성하거나 고려해야 할 피드백을 요청할 때 그렇게 하는 경우가 많다.
입력이란 어디서 오는것일까? 어떤 개발자는 자신이 선호하는 기술 뉴스 사이트나 좋아하는 엔지니어 블로그로부터 정보를 얻는다고 답할지도 모른다.
지식 수집하기
호기심은 필연적으로 새로운 지식의 축적으로 이어진다.
우리는 새로운 정보를 정기적으로 얻는 출처는 어디인가? 정보를 대충 훑어보는 것이 아니라 적극적으로 내용을 숙고해 본 것은 언제가 마지막이였나? 마지막으로 메모할때가 언제였나? 그러한 출처에서 얻은 정보를 효과적으로 사용한 것은 언제가 마지막이였나?
저장 항목의 다양화
저장 항목을 다양화 한다는 것은 두 가지를 의미한다.
- 달걀을 한 바구니에 모두 담지 말아야 한다.
- 자바 개발자라면 jvm의 스레딩 모델 뿐만아니라 고의 고루틴과 루비로 구현된 동시 액터에 대해서도 읽어봐야 한다.
- 다른 언어에서 동시성이 어떻게 작동하는지 알면 현재 사용 중인 언어에서 무엇이 가능하고 불가능한지 더 잘 이해할 수 있다.
- 매체를 다양화하자.
- 한두 권의 책을 읽어보자,
- 컨퍼런스나 수업에 참석해보자,
- 뉴스 레터를 구독하자,
- 블로그의 정기적인 독자자 되거나 글을 쓰는 사람이 되어도 좋다.
일반적인 영역 vs 특화된 영역
창의성은 도메인에 일반적일까? 특정 영역에 특화된걸까?
이 질문에 대한 답은 학자들이 열띠게 논쟁하는 주제이다.
루비를 유창하게 사용하려면 루비를 배우는 게 상당한 시간과 노력이 필요하다.
캐나다의 유명 저널리스트이자 작가인 말콤 클래드웰의 저서에서 제안한 1만 시간이 필요할 수 있다.
기술 습득에 대한 드뤠피스 모델에 따르면 어떤 기술을 완전히 습득하려면 10년 동안 의도적으로 연습해야 한다고 한다. 이 모델에 따르면 도메인을 변경하려면 먼저 해당 도메인을 완전히 숙달해야 한다.
한편으로는 이 책에서 설명하는 많은 창의적인 기법은 일반적인 영역에 속한 것으로 볼 수 있다 호기심 많은 태도, 지식 관리, 아이디어의 배양과 같은 기법은 프로그래밍 분야 뿐만 아니라 정원 조경 분야에도 적용할 수 있다.
결론은 중요하지 않다. 창의성은 도메인 특화이면서 특정 도메인에 얽매이지 않는 일반적인 것이다.
적당히 조절하기
너무 많은 지식이 창의성을 저해하나?
능력이 뛰어난 슈퍼 프로그래머가 반드시 창의적인 프로그래머는 아니다.
때때로 우리가 알고 있는 지식이 우리의 눈을 가리고 창의적인 아이디어를 잠재적으로 사장하는 결과를 초래할 수 있다.
어리석어 보이는 제안을 재빨리 거절할 때가 많은데, 그것이 불가능하다는 것을 알기 때문이다.
연구자들은 이를 지식 점화라고 부른다. 한 브레인스토밍 실험에 따르면 지식 점화가 된 그룹의 참가자들은 더 많은 아이디어를 내놓았지만, 지식 점화가 되지 않은 대조 그룹에 비해 아이디어의 독창성은 떨어졌다.
지식 내면화
새롭고 흥미로운 것들을 많이 접했다고 가정하자 그럼 이제 뭘해야 할까?
다음 단계는 그 지식을 나만의 상황에 맞게 해석해 내면화 하는 것이다.