출판사마다 고유의 특색이 있는데, 책만은 소프트웨어 개발 주기 전반에서 알아두어야할 지식에 관련된 책을 잘 출간한다는 개인적인 느낌이 있다. 지난번에 봤던 <AI프로젝트 성공을 위한 체크리스트><개발자 온보딩 가이드>가 그랬다.

 

이번에 읽은 책은 <다시, 소프트웨어 엔지니어>인데, 너무 큰 기대를 해서일까.. 좋은 책이기는 하지만, 그렇다고 막 감동적이진 않았다. 아무래도 비슷한 류의 책들을 많이 읽었기 때문인 것 같다. 이 책을 읽으면서 계속 들었던 생각인데... <실용주의 프로그래머>를 소프트웨어 개발주기(SDLC)에 맞춰 좀 더 상세히 풀어쓴 느낌이었다. 그래도 개인적으로는 실용주의 프로그래머가 더 좋았다. :)

 

그냥 이 책이나 실용주의 프로그래머, 개발자 온보딩 가이드 중 한 권을 읽으면 될 것 같다.

 

  • 만드는 애플리케이션이 어떤 문제를 해결하는지, 맥락과 제약조건은 무엇인지, 관련된 문제들은 무엇인지 등 문제 영역을 충분히 생각하는데 시간을 들이자. 
  • 엔지니어는 현실적이고 무자비할정도로 실용적이어야 한다. 확장성은 중요하지만, 모든 애플리케이션이 인터넷 트래픽의 3분의 1을 감당해야 하는 것은 아니다.
  • 실천법의 가치와 목적을 잊어서는 안된다. 만약 절차만을 형식적으로 따른다면 기대했던 이점을 얻지 못할 가능성이 높다.
  • 목표는 최선의 해결책을 찾는 것이지 그것으로 개인의 가지 가치를 가늠하는 것이 아니다.
  • 좋은 코드 작성은 지속적인 학습 과정이다. 지름길은 없다. 개발자로서 성장하고 싶다면 코드를 작성해야 한다.
  • 다이어그램은 다른 사람들에게 무언가를 전달하는 것을 돕는게 핵심이다.
  • 품질은 1회성 행위가 아니라 꾸준한 실천임을 잊지 말자.
  • 문제는 반드시 일어나겠지만, 핵심 질문은 그 문제의 가시성을 어떻게 확보할 것인가이다.
  • 소프트웨어 엔지니어로서 개발하게 될 가장 중요한 기술중 하나는 코드에 미치는 영향을 따져 근거있는 결정을 내리는 방법이다.
  • 효율적인 데이터 접근이란 단순히 빠른 질의를 말하는 것이 아니라 애플리케이션의 전체 데이터 수명 주기를 이해하는 것
  • 과거의 경험이 복잡한 상황을 헤쳐나가는데 도움이 되겠지만, 모든 애플리케이션은 저마다 다르다.
  • 아키텍처에는 비판적 사고가 필요하다. 아키텍트는 주어진 프로젝트의 핵심 품질 속성을 파악하고 설계가 그 요구사항을 충족하게 만든다.
  • 좋은 아키텍트는 프로젝트 기한을 지키면서도 할수 있는 최선의 결정을 내린다.
  • 모놀리스는 유지보수가 불가능하다고 종종 비난받지만, 문제는 잘못 구조화된 시스템에 있지 전개 구성 방식에 있지 않다.
  • 주의력은 귀한 자원이며 마냥 늘릴 수가 없다. 낭비하지 말자. 모든 것을 읽거나 보거나 들을 수는 없다. 선택해야만 한다.
  • 배운 기술에는 각각 유효기간이 있다.개발자 언어를 사업의 언어로 번역하는 것은 연습이 필요한 중요한 기술이다. 청중을 파악하고 그에 맞게 메시지를 조정해야 한다
  • 소프트웨어의 사업적 가치를 이해하고 명확히 하는 것도 중요
  • 필요한 시간을 들이면 결국 전체 소요시간은 줄어든다.
  • 자카르 직조기가 만들어지자 자신들이 알던 방식의 기술이 사라질 것으로 많은 사람들이 예측했다. 그러나 숙련된 장인들은 패턴 디자이너, 기계 운전자, 섬유 엔지니어로 거듭났다. 가장 크게 성공한 직공들은 전통 기술과 새로운 기술을 모두 이해한 이들이었다.
  • (AI를 활용하여) 상투적 코드 작성에서 절약된 시간으로, 이제 중요한 전략적 결정들에 집중할수 있다. 

 

 

 

 

반응형

 

1독 완료.

AI 프로젝트를 기획하거나 수행하는 PO/PM이라면 큰 도움을 받을 수 있는, 잘 쓰인 책이다.

무엇보다 인상적인 점은 저자가 실제 현장을 경험한 사람이라는 사실이다. AI 업계에는 과장된 이력이나 피상적인 지식으로 이야기하는 경우도 적지 않은데, 이 책은 다르다. 실제 프로젝트를 수행해 본 사람만이 경험을 바탕으로 풀어낼 수 있는 내용이라는 점이 곳곳에서 느껴진다.

프로젝트의 시작부터 종료까지, 이른바 E2E 전 과정을 단계별로 다루고 있어 전체 흐름을 조망하기에 좋다. 특히 각 단계를 따라가다 보니 내가 부족한 부분이 무엇인지 자연스럽게 드러났다는 점이 의미 있었다. 개인적으로는 AI 프로젝트 산출물의 평가를 다룬 13~15장을 읽으며, 내 이해와 고민이 부족한 부분이 예전보다 분명해졌다.

풍부한 참고 자료와 친절한 개념 설명 역시 이 책의 강점이다. 단계별로 알아두어야 할 용어와 개념을 정리해 주고, 관련 링크도 주석으로 제공한다. 다만 출판사에서 해당 링크를 별도의 마크다운 파일 등으로 함께 제공해 준다면 활용도가 더욱 높아질 것 같다. 이 책은 본문만 읽고 끝내기보다는, 소개된 참고 자료까지 함께 살펴볼 때 비로소 가치가 완성되는 유형의 책이다.

전체적으로 이 책은 ‘체크리스트’라는 단순한 형식을 통해 AI 프로젝트를 1만 피트 상공에서 조망하게 해 주는 안내서에 가깝다. 막연함 속에서 방향을 잡고자 할 때, 나침반처럼 활용하기에 충분히 괜찮은 책이다. 현 시점에서 AI 관련 프로젝트 수행중이거나 앞두고 있을 때 이번 설 명절에 읽어볼 좋은 책이다.

반응형

+ Recent posts