SAP의 김영욱 PM의 책 <프로덕트 매니지먼트> 북콘서트에 참석했다. 김영욱 PM의 브런치(링크)야 워낙 유명한데, 업계 선배의 입장에서  후배 PM들에게  일종의 Primer(기본기)를 정리한 우리나라 사람이 쓴 책을 전해주고 싶어 1년 정도 고민하면서 쓰신 책이라 한다.

북콘서트는 프로덕트 매니지먼트를 강의하듯 진행했다기 보다는 책을 쓸 시점에 고민했던 사고의 흐름을 차분히 조분조분 설명해 주셨다. 책 차례를 보면서 PM 이야기를 하려할 때 왜 이런 순서로 엮었는지를 이야기해주셨다. 하필이면 메모장을 가져가지 않은 날이어서, 급히 (사인 받을) 책 한 권을 구매하고 띄지에 김영욱 PM의 이야기들을 몇몇 적었다.  아직 책을 읽기 전이라 김영욱 PM이 한 이야기중 중 몇가지만 소개해 본다. (만약 영욱 PM의 주장과 배치되는 부분이 있으면 그것은 전적으로 내가 잘못 이해한 것이다. :) )

한빛미디어에서 나온 김영욱PM의 <Product Management>

 


세상의 문제는 답이 있는 퍼즐과 정해진 답이 없는 미스터리가 있다. 세상에 복잡해져서 미스터리성 문제들이 남아있다. 미스터리를 푸는 방법은 프레임을 만들고, 그것을 좁혀가면서 답을 찾아가는 것.

워터폴과 애자일: 둘이 서로 좋고 나쁘고의 개발방법론이 아니다.

PM의 Daily work: 1) 시장, 2) 고객, 3) 경쟁자. 우리나라 PM들은 시장 읽는 것, 특히 경쟁자 분석을 제대로 하고 있는지 고민해 봐야 한다. 융합되는 시대에 경쟁자 분석은 단순히 경쟁제품을 써보는 것이 아니라 보도자료도 읽고, 해당 분야 기술도 익히면서 상상력을 총 동원해서 경쟁자의 의도를 파악해야 하는 작업.

우선순위를 정해야 하는데, 이때 기준은 사용자의 가치(value)이다. 사용자에게 주는 가치를 기준으로 기능이나 기획을 평가해야 하고, 이는 타협 불가능한 것.

 

1장, 정의(Definition) 부터 시작. 그래야 책 설명의  Protocol이 맞음. 1.3의 B2B와 B2C는 만들고 있는 제품이 누구를 향하는지(2:to)에 대한 인식에 대한 이야기.B냐 C냐가 중요한 것이 아님. To의 지향점이라는 사실이 중요.

3장 고객개발은 비즈니스 개발(BD)과 다른 면을 주목해서 읽어보자.

5장 PM의 일상 업무. PO의 일상업무일수 있음. 5.4.5 우선순위 정하기는 방법에 중점을 두는 것이 아니라 그 기반이 되는 Criteria를 어떻게 세우는가에 대한 이야기. 5.5 MVP에서는 Viable을 고민하면서 읽어보자. 사용자가 선택하는 제품을 만들기 위해 MVP를 만드는 것. 결국 P(Product)는  사용자의 문제를 해결해야 한다. 그래야 사용자가 선택. 이쁜 것만으로는 안된다.

6장 PMF(Product-Market Fit)에서 중요한 것은 Market이다. Market은 User 찾기임. 먼저 Market을 봐야 한다.KPI와 OKR 역시 Performance 중시 조직에서는 OKR이, Quality 중시 조직에서는 KPI방식이 적합

 


김영욱 PM이 전하는 이야기들이 어떻게 보면 당연한 것 아냐라고 들릴 수 있지만, 그 기본을 일처리에 적용하는 것은 또다른 문제라 생각한다. 그 기본기를 잘 지키는 조직이 글로벌하게 성공하는 것 같다는 생각도 했다.(물론 기본기를 잘한다고 무조건 글로벌하게 성공한다는 이야기는 아니다!)  특히 단호하게 '제품은 사용자에게 가치를 제공해야 한다'는 이야기를 하실 때에는 평상시 생각들과 일치하는 부분이 많아서 공감이 확~ 되었다. 얼마전 업계 선후배님들과 식사자리에서 Junior PM이 존재할 수 있는가에 대해 이야기를 나눈 적이 있었는데, 그 부분 이야기도 살짝 나왔다. 비슷한 이야기를 나눴던 지라(편향을 가지고 내가 듣고싶은 대로 들었을 수도... :) 공감이 많이 되는 이야기들이 있었다.

 

책을 읽고 또 생각을 정리해 봐야겠다.

 

북 콘서트 이후 작은 음악회도 좋았다.(사진 출처: 책과얽힘 페이스북)

반응형

 2023년에 C언어가 가지는 의미는 무엇일까? C언어는 절차적 프로그래밍 언어의 맹주인 1972년생 프로그래밍 언어이지만, 객체지향을 넘어 함수형 프로그래밍이라는 패러다임이 몰아치는 현 시기에 C언어는 어떤 가치와 지향을 가지고 개발자들에게 다가설 수 있을까? 물론 나야 C/C++계열의 언어를 가장 좋아하고 있지만, 이제는 다른 신생 모던(Modern) 언어들이 제공하는 문제인식 개념이나 편의성을 C언어는 어떻게 풀어내려고 접근하고 있을까? 하는 궁금점을 가지고 모던 C언어를 살펴보기 위해 이 책을 골랐다.

 이 책의 제목은 '전문가를 위한C'라고 번역되었고, 두께가 무려 900여 페이지에 달할 만큼 위압감을 주는 책이다.  원서의 제목은 "Extream C"이다.  C언어 역시 짝꿍 C++와 함께 발전을 거듭해왔다. C언어는 1989년 ANSI C 스펙이 확정된 이후에도 C95, 99, 11, 18을 넘어 23까지 발전을 해오고 있지만, 그닥 개발자 그룹의 많은 관심을 받지는 못했다.  전문가들이 보아야할 책으로 생각할수도 있겠지만, 이 책을 80% 정도 읽은 시점에서 나는 초급을 벗어난, 고급 개발자가 되고 싶은 컴파일러 방식의 언어 중급 개발자들에게 큰 도움이 될 수 있는 책이라 본다. 단순히 C언어 문법을 익히고자 한다면 이 책은 그 답이 아닐 가능성이 높다.

 

이 책은 크게 7부로 나뉘어진다.

1부와 2부는 컴파일러 언어인 C를 중심으로 어떻게 컴파일러가 실행파일을 만들어 가는지, 실행파일은 기본적으로 어떻게 동작하는지를 설명한다. 특히 4장 에서는 C코드가 목적파일을 거쳐 실행파일까지 변환되는 과정속에서 메모리/데이터가 어떤 식으로 펼쳐지는지를 소개한다.왜 스택과 힙이 있는지를 잘 설명하고 있고, 각 메모리 세그먼트의 역할과 분석 방법을 통해 C코드의 동작원리를 설명한다. 윈도우가 아니라 맥/리눅스를 중심으로 소개하는데에서 한때 윈도우 프로그래밍하면 C였던 시대가 아련하게 느껴졌다.

3부에서는 재미있게도 C언어이지만 객체지향이라는 개념을 다룬다. 사실 C언어에서도 객체지향이 가능하다. 다만 조금 불편할 뿐이지.. 저자는 OOP를 언어의 특징이 아니라 "문제를 생각하고 분석하는 방식"(P.254)으로 설명하면서 C와 C++의 관계까지 소개하고 있다.

4부에서는 유닉스를 소개하면서 커널와 사용자 모드에 대해 설명한다. 다시한번 윈도우에서 길을 잃은 C언어의 모습이 느껴져 시대의 변화가 느껴지기도 한다. 하지만 C가 여전히 임베디드 시장이나 게임엔진, 하드코어 영역에서 중요한 역할을 맡고 있구나 하는 생각도 든다.

5부와 6부는 모든 언어에서 화두가 되는 동시성/병렬성과 프로세스간 통신의 방법을 소개한다. 꽤 많은 분량을 할애하여 쓰레드 동기화 및 IPC, 소켓 통신을 다룬다. 다만 언어 설명서와 같이 아주 상세하게 다루지는 않는다.

7부는 테스트와 빌드시스템 이야기인데, 소프트웨어의 유지 보수 이야기라면 모듈 패키지 관리 솔루션인  vcpkgconan에 대한 설명까지 곁들여졌으면 더 좋을 것 같다.

 

이 책은 전체적으로 초/중급 개발자(초년~5년차) 정도의 개발자들이 개발의 경험을 바탕으로 지식을 좀 더 깊게 만들때 도움이 될만한 책이라 생각한다. 단순히 C언어 책으로 인식되기엔 아깝고, 컴파일러 언어를 사용하는 개발자라면 한번씩 읽으면서 C가 만들어내는 방식을 이해해 보는 것도 유용하리라 생각한다. 윈도우 프로그래밍과 관련해서는 다른 책을 더 읽어야 한다. 이 책은 그런 내용을 다루지는 않는다.

일본에서 만들어진 C언어 캐릭터

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

반응형

+ Recent posts