python 기반 웹 프레임워크라고 하면 대부분 django나 flask 정도를 많이 사용하고 자료 찾기도 용이합니다. 두 프레임워크 모두 풀 스택 프레임워크라서 rest api 서버를 구축하기 위해선 별도의 추가 라이브러리가 필요하고 추가적인 학습이 필요합니다. 아직 1 버전이 나오진 않았지만 fastapi는 이런 문제들을 일부 해결하는 동시에 속도까지 빠른 프레임워크입니다. 프레임워크들은 각자 만들어진 목적과 철학이 다르기 때문에 동일 선상에서 1대 1 비교는 쉽지 않습니다. 그래서 단순 우열을 가리기보다는 내 필요에 맞는 프레임워크가 뭔지를 고민하는게 좋다고 생각합니다.
RUST가 커뮤니티에서 계속 이야기가 나오면서 C/C++을 대체하려는 목적을 가지고 있다는 내용을 볼 때마다 관심을 갖게되는 언어였습니다. 인터프리팅 언어를 메인으로 쓰고 있는 입장에선 사실 컴파일 언어를 다시끔 손대는 것에 묘한 두려움이 있었습니다. 설정과 컴파일 단계에서 고려해야 할 내용들이 큰 걸림돌이었습니다. 처음 rust를 알게 되었을 때 한국어로 된 자료도 별로 없던 시절 언어를 알게 되어 입문 할 엄두도 못내고 있는 상황에서 python을 주 언어로 삼아 일을 시작하게 되어 점점 더 멀어지는 상황이었는데 제이펍에서 책을 제공해주셔서 읽게 되어 재밌는 경험을 했습니다.
오랜만에 기술을 이야기 하지만 기술서적이 아닌 책이었다. 인공지능의 역사를 현대에서 과거로 다시 현대로 넘어오면서 시발점부터 변곡점을 지나 어떻게 인간의 지능과 인공의 지능이 다른 길을 걷게 되었는지 이야기한다.
어떻게 해야 기술을 잘 다룰 수 있고, 인공지능 분야의 엔지니어로 성공할 수 있다고 이야기 하지 않는다. 기술이 어떻게 쓰이고 있고, 갈등들이 생기며 봉합되어 가는 과정을 담담히 적어 내려갈 뿐이다. 알파고 쇼크 이후 우리는 인공지능을 생활에서 점점 자주 접하게 되었고, 2020년 ChatGPT-3 등장 이후 개발자들 사이에서나 유명했어던 OpenAI의 GPT는 초등학생도 과제에 쓰면서 뉴스에서 사회 문제로 다룰 정도로 당연한 기술이 되어버렸다.
노 코드/로우코드라는 용어가 생소하게 느껴질 수 있지만 이미 우리 삶 깊숙이 기술입니다. 직접적으로 코드를 이용하지 않고도 도구를 만들 수 있고, 비주얼 도구 등을 이용해 생산성 도구를 만드는 것이라고 할 수 있습니다.
생산도구 제작의 문턱을 낮춰서 좀 더 다양한 도구를 만들 수 있습니다. 지금 한창 주가를 올리고 있는 OpenAI의 GPT, MS의 Copilot 등도 노 코드/로우코드 툴이라고 볼 수 있습니다. 노 코드/로우코드는 정말 말 그대로 코드가 없거나 적게 쓰는 것을 의미합니다. 이제는 개발자가 아니더라도 어플을 만들고, GPT를 이용해 코드를 스크립트로 업무 자동화 툴을 만드는 등 다양한 일을 하고 있습니다.
다양한 선형대수학 책이 나와있고, 프로그래머들을 타겟으로 하는 책, 수식을 최소화하는 책 등 다양한 종류의 책이 있습니다. 16년도 알파고와 함께 나오기 시작한 책들은 대부분 이미 선형대수에 익숙한 사람을을 대상으로 프로그래밍에 특히, 인공지능 분야에 선형대수를 어떻게 적용시킬지 설명하는 책에 가까웠습니다. 선형대수가 가지고 있는 기하학적 특성과 적용시 벡터 공간에서 변화과 주요한 내용이었습니다. 그 후에는 수학적 기반이 약한 프로그래머를 위해서 수식을 최소화하고 설명과 코드만으로 쓰여진 책들이 나왔습니다. 두 종류 모두 각기의 장점을 가지고 있었지만 수학적 베이스는 약하지만 수학그 자체로 좀더 이해하면서 코드로 옮기고 싶었던 저에게는 아쉬웠습니다.
소프트웨어 아키텍트는 아직까지는 그렇게 대중적인 포지션은 아닌 것 같습니다. 하지만 포지션에 대해 고민하고, 변화에 대응하기 위한 설계를 고민하는 분들에게 도움이 될 만한 책입니다.
쉬운 책은 아니고 고민할 영역이 많습니다. 소프트웨어에 대한 유연한 대응을 하기 위해선 기초 설계 단계에서부터 해야할 것이 참 많습니다. 설계가 튼튼해야 규모에 대응하고 문제를 풀어갈 수 있습니다. 커지면서 시간에 따라 무너지지 않기 위해선 아키텍트의 역량이 중요함을 강조합니다.
거번넌스, 피트니스 함수 등 유연한 설계와 그에 대한 대응에 대한 깊이를 다루고 싶으면 꼭 읽어보기를 추천합니다.
PM이란 단어는 참 여러 용례로 사용됩니다. 많은 현장에서 프로젝트 관리를 하는 프로젝트 매니저로 사용합니다. 이 책에서는 프로덕트 매니저에 대해 이야기합니다.
프로덕트 매니저라는 직무명을 들었을 때 무슨 어떤 포지션인지 쉽게 감이 오지 않습니다. 책을 읽다보면 프로덕트 매니저가 이해가 가지 않았던게 당연하게 다가옵니다. PM이라는 직무에 대해 직관적으로 이해 할 수 있게 해당 직무에 대한 다양한 모습을 단계적으로 보여줍니다.
PM의 가장 큰 역할은 소통이라는 것을 여실없이 보여주고 있는 책입니다. 저자 분의 소통 능력이 정말 뛰어나다고 느낀 점은 적재적소의 삽화와 물음표 없이 술술 읽히던 글이었습니다.