인생 프로그래밍 (Programming of Life)

안녕하세요, 개발자 렉스입니다.
저는 프로그래밍을 사랑하고 즐기며, 코딩이 취미인 개발자입니다.
수년간 소프트웨어 개발을 해오며 늘 가슴속에 품고 있던 생각이 있습니다. 그것은 소프트웨어 개발이 인생을 그대로 투영한다는 것입니다. 즉, 프로그래밍은 우리의 삶을 재구성한 것입니다. 저는 프로그래밍을 시작하려는 모든 사람들에게 이 생각을 공유하고자 글을 쓰기 시작했습니다.

대상 독자

'인생 프로그래밍' 은 다음과 같은 분들을 위해 작성되었습니다.

  • 프로그래밍의 'ㅍ' 도 모르는 분
  • 개발의 'ㄱ' 도 모르는 분
  • 단 한 번도 코딩해 본 적 없는 분
  • 소프트웨어 개발에 조금이라도 관심이 있는 분
  • 자녀의 코딩 교육에 영감을 주고 싶은 부모님
  • 컴퓨터과학과/컴퓨터공학과 등에 입학했지만 뭐부터 해야 할지 모르겠는 학생
  • IT 사업, 스타트업을 하려는 사업가
  • IT 회사에서 기획을 담당하는 기획자 & 디자인을 담당하는 디자이너
  • 개발자와 원활한 커뮤니케이션을 하고 싶은 분
  • 실제 현직 개발자이지만, 여전히 프로그래밍이 어렵다고 생각하는 분

이 글은 완벽한 초심자부터, 현업에서 실무를 맡고 있는 개발자까지, 초등학생부터 할머니까지 모두 읽을 수 있는 글입니다.
저는 인생 프로그래밍을 책으로 출간하기 위해 완성도를 높이고 있습니다. 출판사 담당자분들의 많은 출간 제안 환영합니다.

"개발자가 되고 싶어요.", "개발자를 이해하고 싶어요."

많은 사람들이 궁금해하곤 합니다.

"개발자가 되려면 어떻게 해야 하나요?"
"개발자들은 왜 대화가 잘 안 통하죠?"

개발자가 되기 위해서는 필수적으로 프로그래밍을 잘 알아야 합니다. 그리고 개발자와 원활하게 커뮤니케이션을 하기 위해서는 프로그래밍에 대해 이해해야 합니다. 잘 할 필요까지는 없습니다. 이 책에 있는 내용을 이해하는 것만으로도 충분합니다.

개발자들은 기본적으로 프로그래밍의 방식과 비슷한 사고체계를 가지고 있는 경우가 많습니다. 그것은 프로그래밍을 자주 하다 보니 습관적으로 그렇게 된 것입니다. 이를 '컴퓨팅 사고(Computational Thinking, CT)' 라고 합니다.

컴퓨팅 사고는 문제를 정의하고, 논리적이고 해결하며, 효율적이고 간결하다는 특징을 가지고 있죠. 컴퓨팅 사고는 컴퓨터 내에서만 사용되는 것이 아니라, 우리의 인생을 매우 논리정연하게 만들어줍니다. 가령 집에서 요리를 할 때에도, 학교에서 내준 숙제를 할 때에도, 누군가와 대화를 나눌 때에도, 좋은 물건을 고를 때, 현명한 소비를 할 때, 데이트를 할 때, 맛집을 찾을 때 조차 유용합니다. 현대 사고방식 중에 매우 중요한 사고방식으로 주목받고 있죠. 컴퓨팅 사고를 가지게 되면 복잡한 인생이 간결해집니다. 어려운 문제가 쉬워집니다. 컴퓨팅 사고를 이해하거나, 가지기 위해서는 프로그래밍에 대해 이해하는 것이 가장 빠른 길입니다.

이 책은 어떤 책인가요?

이 책은 다음과 같은 기능을 합니다.

  • 프로그래밍의 본질을 깨우치는 가장 먼저 읽어야 할 코딩 입문서
  • 프로그래밍의 본질이란 무엇인가?
  • 파이썬, 자바스크립트, 자바를 단 하나의 원리와 과정으로 학습

이 책은 '프로그래밍이란 무엇인가?' 를 알아가고 경험해 보는 기초 과정을 위한 책 입니다. 구체적으로는 프로그래밍의 개념과, 기초적인 접근에 대해서 학습할 수 있고, 프로그래밍의 이론을 이해하고, 알고리즘을 경험해 보게 됩니다. 여러분이 만약 개발자가 되고 싶다면, 가장 먼저 읽어야 할 책이 될 것입니다. 시중에 나아왔는 프로그래밍 서적을 읽기 전에 '가장 먼저' 읽으면 좋은 '프로그래밍의 본질' 을 이해할 수 있는 입문 중의 입문 서적입니다.
언어의 문법을 설명하고 기술을 소개하는 것이 메인이 아니라, 프로그래밍이 왜 필요하고, 왜 공부해야 하며, 어떻게 활용되는지, 그리고 그것에 대한 개념 접근을 어떻게 하는 것이 가장 이해하기 쉽고, 효율적인지에 대해서 알 수 있습니다.

이 책에서는 3가지 프로그래밍 언어(Python, JavaScript, Java)를 한 번에 다루며, 3가지 프로그래밍 언어를 직접 코딩하고 실행해 봄으로서 프로그래밍 언어의 이해를 높이고, 프로그래밍 언어라는 것이 결국 비슷한 특징을 가지게 된다는 것을 느끼도록 하여, '프로그래밍의 본질' 을 이해할 수 있도록 영감을 주며, 프로그래밍에 자신감을 갖도록 도와줍니다. 이 과정에서 컴퓨팅 사고는 덤으로 얻게 됩니다. 뿐만 아니라, 개발자가 되기 위한 전체적인 그림을 머릿속에 그려주며, 이 책을 끝마친 이후에는 어떻게 해 나가야 할지 영감을 줍니다.

왜 이 책을 쓰게 되었나요?

시중에 각 프로그래밍 언어(C, Java, Python 등)에 대한 책은 매우 많지만, '프로그래밍' 이라는 것이 과연 무엇인가? 라는 본질적인 접근을 한 책은 한 번도 보지 못했습니다. 그 때문에 수많은 개발자 지망생들이 답답한 문체와 수학 책 같은 딱딱한 접근, 와닿지 않는 예제에 높은 진입장벽을 느끼고 포기하는 모습을 지켜보았습니다. 이는 대학교에 막 입학한 1학년 전공생에게도 동일하게 적용됩니다. 프로그래밍 교육 대상의 나이는 점점 어려지고, 프로그래밍을 배우고자 하는 수요는 점점 많아지고 있습니다. 시대가 변했으며, 정서와 감성 또한 많이 변했습니다. 기존과는 다른 접근 방식의 개발 입문 서적이 필요하다고 생각했습니다.

또한 저는 영속적인 지식에 대해 높은 가치를 부여합니다. 단순하게 프로그래밍의 이론에 어떠한 것이 있는지를 넘어서, 프로그래밍이란 과연 무엇이고, 어떻게 받아들여야 잘 할 수 있는지 알려주고 싶었습니다.
저는 프로그래밍을 하는 모든 이들이 코딩을 함으로써 재미있고, 즐겁고, 기쁘기를 희망합니다. 프로그래밍을 시작하는 모든 이들과, 개발자로 커리어를 전환하려는 다양한 사람들이 흥미와 재미를 찾을 수 있도록 영감을 주고 싶습니다.

프로그래밍은 특별한 기술자들만 할 수 있는 것이 아닙니다. 누구나 할 수 있고, '우리의 인생과 밀접하게 닮아 있구나' 라는 것을 알려드릴 것입니다. IT 프로그래밍 서적이지만 교양서적처럼 편안하게 읽을 수 있습니다.

여러분이 새로운 진로를 계획하고 있다면 학습을 위한 좋은 밑거름이 될 것이라고 확신합니다. 이 책이 여러분들의 삶에 긍정적인 영향을 줄 수 있다면 저 또한 기쁠 것입니다. '인생 프로그래밍' 이 여러분의 인생에 새로운 전환점이 되길 희망합니다.

당신의 삶을 넘어서
세상을 바꿀 프로그래밍 서적
'인생 프로그래밍'

지금부터 시작합니다.


궁금증 / 질문 / 개선점이 있다면 꼭 댓글을 달아주세요. 제가 최선을 다해 도와드리겠습니다.

여러분들의 최고의 학습 친구가 되어드리겠습니다.

profile
🔥 from Abstraction to Realization

0개의 댓글