소프트웨어 아키텍트는 아직까지는 그렇게 대중적인 포지션은 아닌 것 같습니다. 하지만 포지션에 대해 고민하고, 변화에 대응하기 위한 설계를 고민하는 분들에게 도움이 될 만한 책입니다.
쉬운 책은 아니고 고민할 영역이 많습니다. 소프트웨어에 대한 유연한 대응을 하기 위해선 기초 설계 단계에서부터 해야할 것이 참 많습니다. 설계가 튼튼해야 규모에 대응하고 문제를 풀어갈 수 있습니다. 커지면서 시간에 따라 무너지지 않기 위해선 아키텍트의 역량이 중요함을 강조합니다.
거번넌스, 피트니스 함수 등 유연한 설계와 그에 대한 대응에 대한 깊이를 다루고 싶으면 꼭 읽어보기를 추천합니다.
정답은 없지만 오답은 있다는 격언은 기술 문서에도 꽤나 어울립니다. 완벽한 개발 문서는 없지만, 있는 것에 의의를 둔 문서가 너무 많습니다. 경우에 따라선 코드 작성보다 문서 작성에 더 큰 시간 투자가 필요하거, 유지 보수도 어려울 때가 많습니다. 그래서 코드만 잘 쓰면 굳이 문서가 필요 없이 코드만 읽으면 된다는 입장, 주석은 최소화해서 간결하게 적자 등 개발자 진영에선 개발 문서의 호혜를 입으면서 그렇게 호의적인 태도는 아닙니다.
구 MicroSoft Developer Network(MSDN), 현 Microsoft Docs는 관리가 정말 잘 되고 있는 개발 문서지만 때때로 스펙 변경이 문서에 반영되는 딜레이가 발생 하는 등 개발 문서 관리에 어려움을 개발 문서를 찾아 읽는 매 순간 경험하는 것이 개발자들의 현실이라고 생각합니다.
소프트웨어의 아키텍처는 프로젝트의 규모가 커지고 복잡해 질 수록 진가를 발휘하는 것 같습니다. 이번 SK IDC 화재로 카카오의 서비스들이 다운 되었을 때도 여러사람이 지적한 부분이 아키텍처 측면이었습니다. 프로젝트를 진행하다보면 초기에는 빠른 성장을 위해 사소한 것들은 뒤로 잠시 미뤄두고 진행하기도 합니다. 작은 변화는 티가 잘 나지 않는 것처럼 아키텍처의 변화는 각 단계들에서 덧 붙여지는 것은 크게 체감하기 힘듭니다. 하지만 어느 순간 돌아보면 개발 중인 사람조차 이해하기 힘들정도로 엉켜 있는경우가 있습니다.
이 책은 이런 경우 어떻게 접근하고 분해해야 할까를 다루고 있습니다.
9월 한빛 리뷰어로 리뷰하게 된 책은 코드로 인프라 관리하기입니다. 리뷰어를 하면서 책을 읽다보면 도서 시장에 작은 트렌드들과 큰 흐름이 있는 것 같습니다. DevOps, Cloud Native등 온 프레미스에서 클라우드로 넘어가는 과정의 기술 적 과도기에 봉착 한 사람들이 많을 것입니다.
이 책은 제목 그대로 IaC(Infrastructure as Code)와 그에 수반되는 DevOps 등 다양한 기술과 필요한 이유, 해당 개념에 따라오는 부가적인 요소까지 설명하고 있습니다. 점점 규모가 커지면서 전통적인 방법들로는 빠른 대응과 확장이 힘들 수 밖에 없는 구조가 되어 가고 있습니다.
다시 확률 통계는 2019년도에 다시 미분 적분으로 서평들을 쓰기 시작 하면서부터 예고 된 책이어서 정말 기다리던 책이었습니다. 햇수로는 4년만에 드디어 책이 손에 들어와서 읽을 수 있게 되었습니다. 다시 XX XX 수학 시리즈는 굉장히 만족스럽게 읽고 있습니다.
이 시리즈의 가장 큰 특징은 미적분도 통계도 확률도 큰 수학적 사전 지식없이 책을 시작해 수학적 지식을 가지고 책을 덮게 해줍니다. 보통 이런 책들을 읽다보면 겉핥기로 적당히 이야기를 풀다가 찝찝하게 책이 끝나는 경우도 많습니다. 하지만 이번에도 느꼈지만 수학적으로 더 깊이 들어가고 싶은 독자와 간단하게 읽고 큰 그림이 보고 싶은 독자 양쪽을 위해 증명까지 해줍니다.
학부 시절과 졸업 이후 제일 달라진 점은 개발도구를 비롯해서 대부분의 프로그램들을 최신버전으로 세팅해서 쓰지 않는 것 같습니다. 업데이트 노트를 보면서 써보고 싶은 기능도 있고, 가려운 점을 긁어주는 기능이 나왔지만 현재 쓰는 주요 라이브러리가 호환이 안되서 못 쓰는 경우가 많은 것 같습니다. 개발 중 라이브러리 뿐 아니라 정말 예기치 못한 곳에서 호환 문제가 생겨서 다시 다운그레이드를 몇 번 한 뒤로 최신버전이 릴리즈 되도 바로 못 올라가고 있는 것 같습니다.
개발론도 아무리 최신 기법이 나오고 새로운 방법이 나와도 레거시한 방법을 무시할 순 없습니다.
전공을 시작 할 때만해도 파이썬은 알고리즘 공부나 대회 준비에 적합하지 않다는 인식이 강했습니다. 제가 가지고 있는 다른 알고리즘 서적들만 해도 C와 cpp가 각 2권씩입니다. 자료구조나 파이썬의 신텍스 슈가 등 때문에 파이썬 자료구조와 알고리즘 책을 시장에서 거의 찾아볼 수 없었습니다.
책이 한 장 한 장 넘어가면서 파이썬이 알고리즘 공부에 별로라는 생각은 편견이라는 걸 다시 느꼈다. 알고리즘에서 중요한 점은 문제 풀이를 위한 논리적인 사고 과정과 사고 과정을 코드로 옮기는 과정이지 구현하는 언어의 문제가 아니었다.