책정리/크리에이티브 프로그래머

크리에이티브 프로그래머 1장) 프로그래머에게 창의성이란 무엇일까?

뽀글보리 2024. 1. 17. 07:12
반응형

1장 창의성을 향한 여정

1. 창의성이란 정확히 무엇일까?

어떠한 데이터베이스를 사용할 지 결정이 필요할 때를 생각해보자.

⇒ 이 데이터는 정규화되기 어려운 데이터이므로 NoSQL 데이터베이스를 사용하자.

이 결정을 독창적인 아이디어라고 할 수 있을까? 창의적이라는 것은 어떻게 판단하는 것일까?

 

창의성은 사회적인 판단이다. 따라서 당신의 프로그래밍 노력이 창의적인 결과물로 이어졌는지는 다른 사람이 판단한다. 우리가 할 수 있는 것은 최선을 다할 뿐, 우리의 프로그래밍 노력이 창의적이라고 선언하는 것은 다른 사람의 판단을 받아들여야할 뿐입니다.

2. 왜 창의성일까?

창의성이 사회적인 판단이라면, 수동적으로 정해지는 것이라면, 왜 우리는 창의적인 개발자가 되기 위해 노력해야할까?

 

창의적인 개발자로 살아야 하는 주된 이유

  1. 많은 곳에서 창의적인 개발자를 원한다. 많은 구인광고에 ‘창의적’이라는 단어가 포함되어있다. 요즘에는 소프트 스킬이 대세이다. 소프트 스킬에는 의사소통 역량, 창의적 사고, 유연성 등 다양한 항목이 포함된다. 이러한 창의성을 요구하는 이유는 문제해결을 위해서이다. 심지어 문제를 발견하는 것도 창의적인 감각에 의존한다.
  2. 동료의 의견이 중요하기 때문이다. 다른 사람의 창의적인 판단에 관심을 가져야한다. 소프트웨이 개발은 팀 기반의 활동이기 때문이다.
  3. 창의적인 프로그래머는 자기 일을 깊게 즐긴다. 문제에 대해서 깊이 파고들고, 안전지대를 벗어나서 다양한 접근 방식을 논의하려고 한다.

3. 다양한 수준의 창의성

LittleC / 일상적인 창의성

개인적인 창의성, 이전에 해보지 않은 독창적인 무언가를 하는 것

 

BigC / 저명한 창의성

이전에 아무도 해보지 않은 독창적인 작업을 수행하는 것

ex) 리누스 토르발스는 소스 코드 관리 시스템 git을 만들어 소스 코드 버전 관리의 영역을 완전히 바꾸었다.

4. 더 창의적이 되기 위한 로드맵

  1. 기술 지식 창의적이기 위해서는 배우는 단계가 선행되어야 한다. 지속해서 학습하고, 이러한 지식의 흐름을 새로운 아이디어로 전환하려고 해야한다.
  2. 커뮤니케이션 창의성은 단독으로 발휘되지 않는다. 동료의 피드백을 통해서 아이디어가 다듬어진다.
  3. 제약 조건 상황에 제약 조건이 생기면 오히려 창의력이 촉발된다. 불편한 것을 오히려 장점으로 전환한 여러 창의성 발휘 사례들이 있다.
  4. 비판적 사고 최고의 아이디어가 나올때까지 많은 아이디어의 대부분을 덜어낼 줄 알아야한다. 아이디어를 내면서 이러한 아이디어를 비판적으로 평가해야한다.
  5. 호기심 호기심은 새로운 것을 배우려는 동기와 ‘왜’라는 비판적 사고로 이어진다.
  6. 창의적 마인드셋 창의적인 마인드셋을 끊기지 않고 계속 유지해야한다. 개인적으로 뿐만 아니라 회사의 집단적 마인드셋도 향상시켜야 한다.
  7. 창의적 기법 창의적 문제 해결을 위해서 몇 가지 실용적인 창의적 기법들에 대해 살펴보아야 한다.
반응형