|
개발자에 대한 관심이 높습니다.
이 책의 저자는 20년차 소프트웨어 개발자로 '개발자란 무엇인가'란 주제에 대한 고민을 하였고, 그 대답을 인문학에서 찾았습니다.
이미 나와 있는 답을 보여주는 것은 기계가 더 잘합니다.
개발자로 어느 정도 이상의 경력이 되면 이 말에 공감할 수 있을 것입니다.
완벽한 소프트웨어가 존재할까요?
개발을 하다보면 방법과 프로세스에 집중하게 됩니다.
'코더'와 '프로그래머'의 차이가 뭘까요?
처음부터 복잡하고 어려운 프로그램에 도전하는 것은 좋지 않습니다.
개발자 중에서 단 한번도 코드를 복사해서 쓰지 않은 분이 있을까요?
그 아무리 멋지고 좋은 기술이라도 인간에게 유용하지 않다면 의미가 없습니다.
책머리에 있느 글입니다. |
![]()
이 책은 위의 그림에서와 같이, 프로그래밍을 당하는 자가 될 것인가? 프로그래밍을 하는 자 가 될 것인가? 라는 도전적인 문구로 시작한다. 개발에 관심이 있는 사람이라면 책 표지를 보는 순간 멈칫하지 않을 수 없게 말이다.그리고 살아남는 개발자가 되기 위한 방법으로 인문학을 AI를 이기는 소프트웨어라고 소개한다.
개발자는 프로그래밍을 하지만, 대부분 정해진 프레임 안에 갇혀 있습니다. 누군가가 앞서 프로그래밍 해 놓은 도구를 그저 사용하고 있을 뿐입니다. 대부분의 개발자가 이미 만들어진 환경 안에서 주어진 방법론과 도구들을 사용해서 프로그램 코드를 만들어 냅니다. 그런 관점에서 본다면 개발자들은 프로그래밍을 하는 사람일까요, 아니면 프로그래밍을 당하는 사람일까요? 물론 비약이 지나친 것일수도 있습니다.
서문에서부터 개발자들에게 질문을 던지고 있다. 본인이 프로그램을 하는 것인지, 프로그래밍을 당하는 것인지? 애석하게도 대부분의 개발자들의 대답은 본인이 프로그래밍을 당한다고 생각할 것이다. 그럴 수 밖에 없는 것이, 대부분의 개발자들은 선배 프로그래머들이 미리 생각하고 고민했던 라이브러리라는 결과물을 사용하기 때문이다.
한국에서 웹 개발에 가장 많이 사용되고 있는 언어인 자바의 예를 들어보자. 자바 진영에는 스프링이라는 훌륭한 프레임워크가 있다. 스프링을 이용하면 개발자들은 타이핑 수십 줄로 본인이 원하는 기능을 구현할 수 있다.직접 구현하려면 수백 라인에 달하는 코드를 스프링 프레임워크에서 미리 구현해 놓았기 때문이다. 본인이 스프링 프레임워크 개발에 참여하고 있는 개발자가 아니라면 미리 만들어 놓은 기능을 단순히 순서대로 조립하면 프로그램이 완성된다고 할 수 있기 때문이다. 물론 스프링만 사용할 줄 안다고 해서 웹 개발을 할 수 있는 것은 아니다. 저자를 따라서 지나친 비약을 해 보았다. :)
애석하게도 책을 끝까지 읽지는 못하였다. 그래도 흥미로운 부분이 많아서 리뷰를 마친 후에 계속 읽어볼 생각이다. 특히 흥미로웠던 부분은 구글의 사명 부분이다. 구글의 창업자인 레리 페이지는 구글이 검색 기업이 아니라는 말을 공공연 하고 다녔는데, 그가 말한 대로라면 구글은 검색 기업이 아니라 AI 기업이다. 구글의 사명은 설립 때부터 검색을 더 좋게 하기 위해 AI를 사용하는 것이 아니라 AI를 개발하기 위해 검색을 사용하고 있다는 것이다. 그런 면에서 막대한 데이터와 검색 능력을 보유한 구글이 AI 최신 기술의 선두에 서 있는 것은 그리 놀랄 만한 사실을 아니다.
이 책의 추천 독자는 당연하게도 모든 개발자이다. 박찬웅님의 추천사로 짧은 리뷰를 마무리하고자 한다. 개발을 잘한다는 것이 과연 개발 언어르 ㄹ잘 다루는 것을 의미할까? 프레임워크라는 울타리 안에서 규칙대로 움직이는 것이 프로그래머일까 그러면 우리는 어떤 프로그래머가 되어야 하는가?
|
|
서평-어떤 개발자가 살아 남는가(인문학, AI를 이기는 소프트웨어) 저자-이경종, 비제이퍼블릭출판사 #개발 #개발자 #프로그래밍 #코딩 #인문학 #AI #소프트웨어 #이경종 #비제이퍼블릭출판사 #스티브잡스 흔히들 많은 사람이 인문학이 중요하다고 한다. 인문학의 대표 문사철(문학, 역사, 철학)은 문과생뿐만 아니라 이과생도 그것들을 공부해야 한다고 유명인들을 크게 강조한다. 개발자라 하면 컴퓨터공학을 전공한 사람들로 인문학과 전혀 상관없는 사람들일 것 같다. 그러나 유명한 IT 대가들은 인문학을 크게 강조한다. 애플을 창업한 스티브 잡스가 특히 그렇다. 나는 과거에 경기콘텐츠진흥원에서 주관하는 VR/AR 콘텐츠 개발 강의를 수강한 경험이 있다. 강의를 본격적으로 시작하기 전에 게임회사에서 오신 관련자분께서 오리엔테이션을 하시는데 프로그램을 만드는 데 있어서 인문학의 중요성을 강조하셨고 문과 출신 사람들이 프로그래밍(코딩)을 공부해서 개발자로 오면 더 좋다고 말씀하셨다. 확실히 게임 분야 쪽에서는 인문학이 중요한거 같긴 하다. 왜냐하면 게임을 만들 때 그래픽 작업, 프로그래밍뿐만 아니라 시나리오 작성이 필요한데 시나리오 작성은 인문학적 지식이 뛰어난 사람이 그렇지 않은 사람보다 잘할 것이다. 그리고 스토리텔링에 녹아들어 있는 비유, 상징, 복선 같은 건 인문학에서 나온다고 생각한다. 또한 우리가 즐기는 게임이랑 영화, 만화, 소설에 담긴 배경과 캐릭터, 스토리 등은 역시 인문학에서 나온다고 생각한다. 컴퓨터나 핸드폰을 기술적으로 뛰어난 것 만들어봐야 이걸로 보고 읽고 듣고 할 게 없으면 아무도 쓰지 않을 것이다. 우리가 휴대폰, 컴퓨터로 시청하는 영화, 만화랑 소설은 공학의 결과물이 아닌 인문학의 결과물일 것이다. 사실 우리나라 게이머들이 우리나라 게임에 대해서 큰 비판을 하는 것을 유튜브나 커뮤니티에 가보면 흔하게 볼 수 있다. 나만 하더라도 어렸을 때는 한국 게임이 크게 재미있었던 걸로 기억한다. 그러나 최근에 나오는 한국 게임은 확률형 아이템 확률 조작·양산형 게임, 베끼기 등 많은 논란이 있었고 스토리텔링이 부재하고 명확한 주제가 없는 게임들이 많았던 것 같다. 극찬받는 훌륭한 게임들은 좋은 스토리, 좋은 시나리오, 좋은 캐릭터를 가진 경우가 많다. 좋은 스토리, 좋은 시나리오, 좋은 캐릭터를 만들려면 인문학적 소양이 중요하지 않겠냐는 생각을 하게 된다. 그래서 인문학을 공부하고 싶은 마음이 들었지만, 인문학도 분야가 많지 않은가? 고전학, 역사학, 언어, 음악 사학, 공연예술학, 철학, 종교학, 미술사학 등)이 많은 것을 공부하는 것은 무리라고 생각했다. 그러다 페이스북에 접속했다가 비제이 퍼블릭 출판사에서 <어떤 개발자가 살아남는가? (인문학, AI를 이기는 소프트웨어)라는 책의 서평 이벤트를 하고 있었다. 제목이 딱 끌려서 서평 이벤트를 신청했고 책을 수령해서 읽어보게 되었다.
책의 저자-이경종 20년째 소프트웨어 개발자로 살고 있다. 임베디드 소프트웨어와 리눅스 분야의 전문가다. 고려대학교에서 전자공학을, 카이스트 소프트웨어 대학원에서 소프트웨어 공학을 공부했다. 첫 직장이었던 삼성전자에서 소프트웨어 개발자로 일하던 중 더 큰 도전을 위해 벤처기업에 합류했으나 회사가 어려워지면서 10여 년간 정체된 삶을 살았다. 소프트웨어 개발자로서의 삶에 대한 고뇌와 지독한 불면증으로 3년을 내리 고생하다 책과 인문학에서 비로소 구원을 찾았다. 매해 100권이 넘는 책을 읽고 끊임없이 글을 씀으로써 스스로를 일으켜 세웠다. 2018년부터 구본형 변화경영연구소 연구원으로 활동하며 소프트웨어 개발에 인문학을 융합하고자 하는 꿈을 키웠고, 현재는 AI와 머신비전에 기반한 첨단 스포츠 센서를 개발하는 (주)크리에이츠의 센서 개발 소프트웨어 팀을 이끌고 있다. 변화경영연구소에서 발행하는 '마음 편지' 필진으로 활동하며 인문학에 대한 탐구를 이어가고 있다. 저서로는 <개발자 오디세이아(로드북, 2020)>가 있다. 인문학적 깨달음과 실천이 더 좋은 소프트웨어를 만들게 한다는 신념을 가지고 있다. 저자분은 이공계 출신으로 3년간 고생하다 인문학에서 구원을 찾았다고 하신다. 매해 책을 100권씩 읽으셨다니 존경스러운 마음이 든다. 저자님은 이공계 출신임에도 불구하고 인문학의 중요성을 크게 강조하신다. 책의 구성 1장 AI의 시대 우리는 어디에 있는가 2장 알고리즘 vs 데이터 그리고 창조력 코드 3장 누가(Subject) 무엇을(Object) 어떻게(Project) 해야 하는가 4장 지속적인 개선-Upgradable Software 5장 팀워크-함께 만드는 소프트웨어
먼저 이 책은 프로그래밍 실용서는 아니다. (프로그래밍 코드 위주, 실용 위주가 아님) 또한 인공지능 전문 기술을 다루지 않는다. 소프트웨어 개발을 다루고 프로그래밍과 코딩에 대해 이야기하지만, 프로그래밍 테크닉이나 기술적 지식을 다루지 않는 책이다. 또 이 책은 전통적인 인문 도서는 아니다. 인문학의 필요성을 이야기하지만 인문학 자체에 깊이 있는 지식은 제공하지 않는다. 이 책은 AI로 대변되는 기술 편향의 시대를 헤쳐 나가기 위한 방법 정도로 인문학을 이야기한다. 나무보다 숲을 볼 수 있는 통섭과 통찰에 관해서 이야기하는 책이다. 책의 장점 이 책은 인문학과 IT, 컴퓨터 관련 내용들이 수록되어 있어서 읽으면 많은 분야의 지식을 얻을 수 있다. 이공계 출신 작가님들이 쓰신 책들의 글은 딱딱한 느낌이 있어서 잘 읽히지 않는 경우가 많았다. 그러나 책의 저자분은 이공계 출신임에도 불구하고 매해 100권이 넘는 책을 읽고 끊임없이 글을 쓰시는 분이다 보니 문장이 잘 읽히고 이해하기 쉬워서 책을 읽는 데 어려움이 없다. 또 책에 시각적인 자료가 많아서 글의 내용을 이해하기 쉽고 휴대하기 편해서 어디에서나 읽기 편하다. 그리고 책을 편집하신 편집자분이 편집을 잘하신 것 같다. 책이 상당히 깔끔하다. 책의 후기 이공계 출신임에도 불구하고 인문학이라는 자신의 전공과 다른 분야를 탐구하시고 공부하시면서 매해 100권이 넘는 책을 읽고 끊임없이 글을 쓰시는 작가님에게 존경스러운 마음이 들었다. 나도 직장에 다니면서 책을 늘 읽어야 한다고 생각하지만, 책을 습관적으로 읽는 것이 쉽지는 않다. 인문학, 이공계 분야를 아우르는 모든분야의 책을 읽어서 이 책을 쓰신 작가님처럼 많은 분야의 지식을 아는 똑똑한 사람이 되어야겠다는 생각이 들었다. 그리고 인문학과 이공계라는 문·이과 지식을 통합하는 인재가 되어야겠다는 생각이 들었다. 사진 설명-원래 파일을 삭제하려면 프로그래밍하듯이 코드를 입력해야만 했다. 앨런 케이라는 천재적인 개발자는 사무실에서 쓰레기를 휴지통에 버리듯이 컴퓨터 파일을 마우스로 끌어당겨 휴지통에 버리는 것을 컴퓨터상에서 구현했다.
|
|
어린 시절부터 컴퓨터를 좋아해서 결국 대학교도 컴퓨터 학과로 직장도 컴퓨터를 다루는 곳을 직업도 컴퓨터를 다루는 직업을 가지고 있는 지금의 현실에서 제목 그 자체가 지금 가장 고민하는 것을 다루고 있어 과연 현재 고민하는 것을 저자는 어떻게 생각하고 있으며 공통점이 있는지 아니면 놓치고 있었던 전혀 고민하지 않았던 것에 대해서 언급하고 있는지 알고 싶어 읽기 시작한 도서입니다.
결론을 우선 이야기하자면 저자의 생각에 동의하는 부분이 상당히 많았지만 약간은 다른 어쩌면 평범한 결론이 아닌가 싶다. 그렇다고 해서 다르게 생각하는 부분에 대해서 정 반대의 입장에 있지는 않았다. 길다면 긴, 짧다면 짧을 수 있는 개발자 생활을 경험하고 현재는 아키텍트로 일하고 있으며 아직도 혼자 토이 프로젝트를 진행하고 있는 모습을 보자면 아직도 살아남기 위해서 발버둥 치는 것으로 보인다. AI에서부터 팀워크까지 너무나도 빠르게 변화하는 환경에서 폭넓은 분야를 다루고 있어 다소 산만함이 느껴지기도 한다. 도서의 제목에서 풍기는 요소가 모든 장에서 살짝씩 언급되며 결국 마지막 장에서 풀리는 느낌이 들었습니다. 어느 정도 경력을 가지고 있는 개발자들 특히나 계속해서 나는 누군가의 지시를 통해서 개발만 진행할 거라는 코더보다는 끊임없이 고심하며 변화하려고 하는 프로그래머들에게 더 적합한 도서로 보이는 부분이 많습니다. 아주 편향적인 생각일지 모르지만, 개발자도 두 가지 부류로 나뉠 수가 있다고 생각합니다. 단순 기계적으로 반복적으로 누군가의 지시에 의해서 코드만을 생산하는 개발자와 내가 생산하는 코드가 무엇을 위해서 생산되는지 고민하고 함께 생각해가며 코드를 타이핑하는 개발자가 있다고 생각합니다. 읽는 내내 과연 나는 어떤 부류의 개발자였는지 지금 상황에서는 과연 내가 제대로 하는지에 대해서 뒤돌아보며 다시금 성장할 수 있는 과제를 남겨 주고 있습니다. 이제 막 개발자로 사회생활을 시작하는 개발자에게는 향후에 내가 성장해야 하는 방법에 대한 어느 정도의 이정표를 제시해주고 어느 정도 위치에 있는 리더 그룹의 소속된 분들에게는 지금 내가 추구하는 방향에 대해서 참고하면 좋을 정보들이 아주 많은 책으로 생각됩니다. 어쩌면 정해진 대로 기계에 작업을 지시하는 개발자들에게 부족한 인문학적 교양 요소를 다루고 있어 더 가치 있는 책이라는 생각이 듭니다. 각 장의 단원에 있는 사잇글 역시 이미 알고 있는 내용도 있었지만 잘 정리되어 있고 중간마다 잠시 무거운 주제를 내려놓고 가볍게 읽을수 있어 너무나도 좋았습니다. 문단 중간마다 마스킹 되어 있는 문장을 통해서 저자의 생각이 적확하게 전달되도록 구성된 부분이 특히나 인상적이다. 중간중간에 언급된 도서도 시간이 되면 하나씩 다 읽어볼 예정입니다. 저자가 하고자 했던 이야기가 어쩌면 지금까지 너무나도 등한시된 것이 아닌가 싶습니다. |
|
책의 서문을 보면 체코의 철학자, 빌렘 플루세르라는 분의 말이 아래와 같이 실려있습니다. 이런 생각을 하다가 이런 책을 본다면 앞으로 개발자로 살아남기 위해서는 어떤 자세로 어떻게 살아 남는지에 대해서 궁금증과 생각을 하게 해주는 책입니다. 우선 전체적으로 다른 책들과는 다르게 인문학적으로 설명을 하다보니 적절한 예시와 함께 설명이 되고 있고, 딱딱하지 않고 어디서나 편하게 읽을 수 있는 책인 것 같다. 또한 책 중간중간에 사잇글이라고 해서 각 장이 끝날때마다 들어가있는데, 예를 들면 마지막장에 나오는 넷플릭스의 철학이라는 내용에서는 넷플릭스의 기업문화와 커뮤니케이션에 대한 얘기가 나와 있어 흥미로웠다.
오래간만에 재미있는 IT인문학 책을 읽었던 것 같다. 내가 미래에 무엇을 해야 오래 버틸 수 있다 이런 내용이 아니지만, 앞으로 내가 개발자로써 살아남기 위해서 어떻게 하면 좋을지에 대한 사고를 할 수 있게 해준 책이였던 것 같다. 책의 제목과 같은 생각을 한 번쯤 해본 개발자 분들에게 한 번 읽어보시면 좋은 책이라 권하고 싶습니다. [출판사로부터 책을 제공받아 주관적으로 작성한 리뷰입니다] |
|
오로지 개발만 생각하고 개발관련 서적만 읽던 나에게 큰 귀감을 준 책 저자는 굴지의 대기업출신 개발자로 벤처 도전 실패후 충격을 받고 3년을 고생하다가 책과 인문학에서 구원을 찾았다고 한다 매해 100권이 넘는 책을 읽고 끊임없이 글을 씀으로써 스스로를 일으켜 세웠다고 한다 이 책은 저자가 생각하는 AI 시대에 대한 개발자의 미래와 인문학과 저자가 읽었던 수많은 책들에서 얻은 지식과 소프트웨어 개발전략과 방법론 등에 대해 이야기를 하고 있다
이렇게 중요한 주제에 대해서는 색깔 표시가 되어있어 저자가 강조 하는 부분을 명확히 알고 읽어볼 수 있다
책을 보다보면 이렇게 주옥같은 글들을 읽어볼 수 있다 보통 기술서적에서는 보기 힘든 매우 문학적인 글이면서 큰 깨달음을 주는 책이다
저자의 경험과 지식을 옅볼 수 있는 문구이다 어떤 것이 원류가 될지는 모르지만 그 원류의 바탕에서 발전된 새로운 개선된 버전들의 소프트웨어들이 인정을 받고 또다른 원류가 될 수 있다는 것을 깨닫게 해주는 대목이다
소프트웨어가 만들어진 목적에 부합하는지 여부를 따지는 것이 아니라 어쩌면 요즘은 소프트웨어의 부가적인 요소들에 더욱 집중하게 되는 부분들이 많은 것이 아닌가라는 생각도 해볼 수 있게된다 소프트웨어의 부가적인 요소들에 신경을 쓰다보면 배보다 배꼽이 커지는 경우들이 자주 발생하는 경우도 있고 나중에 목적자체가 희석되어 목적이 불분명한 소프트웨어가 될 수 도 있다 소프트웨의 목적에 대한 중요성을 인지하고 개발을 해야된다는 것을 인지할 수 있는 중요한 대목이다
책에서 소프트웨어 개발에서의 분업은 단순히 해야 할 일들을 1/N로 나누는 것이 되어서는 안된다고 말하고 있다 분업은 레버리지를 극대화시키는 방향으로 가야된다고 경제용어와 빗대어 설명하고 있다 이 부분이 소프트웨어 개발에서도 동일시 되는 부분인데 내것이 아닌 것을 가져다가 내 것을 더 많이 만드는 것이라고 한다 AI는 레버리즈를 활용할 수 있는 아주 좋은 도구로 데이터 수집과 분석, 통계 등의 일들은 AI에게 분업 시키고 개발자는 개발자가 해야 할일을 하므로 써 레버리지를 극대화 시키는 방향에 대해 설명하고 있다
이 외에 책에서 인문학과 다양한 분야의 지식을 빗대어 소프트웨어 개발과 개발자 AI에 대해 다양한 방향성을 제시하고 설명하여 쉽게 이해할 수 있도록 잘 풀어서 설명하고 있다 딱딱한 소프트웨어 개발 서적만 보는 것이 아니라 가끔 이런 책을 읽어서 소프트개발에 방법에 대한 시야를 넓히는 것도 중요하다고 생각한다 개발자로서 개발을하며 쌓아왔던 경험과 비교하며 이 책의 내용들을 읽어 내려갔는데 아~ 하며 느끼게 해주는 부분들이 참 많았던 것 같다 그냥 그때그때 상황에만 맞춰서 개발해왔었는데 이 책을 보며 좀더 넓은 시야를 가질 수 있게 됐다고 해야 하나? 앞으로는 개발을 하면서 조금 다른 방향으로도 많이 생각해보면서 개발해봐야 겠다는 생각을 가질 수 있게 개발자로써 한층 더 성장 할 수 있도록 도움을 주는 책인 것 같다 ※출판사로부터 책을 무상으로 제공받아 읽어보고 정성껏 작성한 리뷰 입니다 |