AI가 코드를 작성하는 시대에는 단순 코딩 노동자는 더 이상 살아남기 어렵습니다. 소프트 엔지니어는 애플리케이션 개발부터 배포 그리고 운영까지 수많은 단계에 참여해야 합니다. 특히 애플리케이션 개발은 설계부터 구현까지 효율적으로 만들어져야 합니다. 그러므로 ‘소프트웨어 엔트로피(시스템의 무질서, 복잡도)’에 대한 끝없는 고민이 이어집니다. 우리는 매번 새로 소프트웨어를 작성할 수는 없으며, 방치되어 있는 레거시 소프트웨어도 우리가 품고 가야 할 자산입니다. 이에 이 책은 두 가지를 강조합니다. ‘프로세스 개선’과 소프트웨어 ‘복잡성 관리’입니다.
이 책은 소프트웨어를 개발하는 전반적인 프로세스나 개발 방법론을 활용하는 방법을 설명합니다. OOP, TDD, DDD 같은 개발 방법론을 어떻게 프로젝트에 활용할지 이야기를 풀어나가며, 단순한 정보 전달이 아닌 저자의 경험을 바탕으로 이야기합니다. 따라서 처음 프로젝트에 참가하는 초보 개발자나 혹은 애플리케이션 개발 경험이 적은 개발자보다는, 어느 정도 개발 경험이 있는 개발자들에게 추천하고 싶습니다.
“시간과 기능에 비례해서 커져가는 내 소프트웨어의 복잡성을 어떻게 풀어야 할까?”, “방치된 코드를 어떤 식으로 최신 기술로 변경해야 할까?” 같은 고민을 하시는 분들에게 소중한 실마리를 제공할 책입니다.