위 포스팅은 2024년 3월 21일 튜링의 사과에서 진행하였던 '알고리즘과 문제의 해결' 강연에 참여한 소감을 적은 포스팅입니다.
처음 발표 소식을 접하였을 때 제목만 보고 코딩테스트를 위한 내용을 중점으로 강연이 진행 되는 줄 알았었다.
그러나 홍보용으로 놓아져 있는 책 내용을 가볍게 훑어 보면서 수학적 지식과 여러 예제 등 깊은 내용이 있다는 점에 흥미가 생겨 워의 강연에 참가 신청을 하게 되었다.

강연 내용은 크게 여러 알고리즘에 관한 지식 이론, 그리고 참여자들의 설문을 바탕으로 알고리즘을 이용하여 문제를 어떻게 해결하는지, 좋은 프로그래머가 될려면 어떻게 해야하는지로 나뉘어져 있었다.
전반부는 시간 복잡도 및 공간 복잡도와 같이 대학 시절 알고리즘 수업에서 배웠던 내역이 다시 나와서 복습하는 느낌으로 강의를 들었었다. 단, P와 NP와 같이 강의를 듣고 한번에 이해하기에 상당히 어려운 주제를 다루는 부분도 있었다.
후반부는 여러 문제가 발생 하였을 때 어떻게 해결하면 좋을지 여러 예시들을 보면서 설명해주었다. 특히 우유와 냉장고 문제가 가장 기억에 남았는데 각 해결 방법을 장단점과 알아나면서 동시에 세마포어 같이 운영체제에서의 응용법을 제시해주면서 어디서 본 것 같다는 느낌을 주었었다.
발표가 시작되기 전 홍보물에 나왔었던 책을 증정받았는데 추후에 한번 읽어볼 예정이다.
강의 중간에 발표자가 간단한 퀴즈를 내어 강의 참여를 유도하였다. 비록 각 퀴즈마낟 정답을 맞추진 못하였지만 발표과 관련된 문제를 속으로 맞추어보면서 알고리즘 개념을 점검할 수 있어서 인상적이었다.
강의 최후반부에 좋은 프로그래머란 무엇인가에 대해 이야기를 나눠보는 시간이 있었다. 발표자의 좋은 코드에 기준을 경청하면서 단순히 짧거나 간결한 것이 아닌 다른 개발자들끼리 의사소통도 중요하기 때문에 쉽게 알 수 있도록 작성하는 것이 좋다는 점이 충분이 공감이 되었었다. 또한 좋은 습관을 들이는 것도 매우 중요한데 씁쓸하게도 그 좋은 습관들이 만들어질 수 없는 환경에서 일하고 있었다는 것을 알 수 있게 되었다. 내가 일하고 있는 개발 환경은 역할이 명확하하지 않거나 요구사항이 고객사에 의해 수시로 변경되어지기 때문인 것 같다. 물론 올해 모임에서 들었었던 문구를 떠올려보면서 내가 변경할 수 있는 선에서는 변경해보는 것이 좋을 것 같다는 생각이 들었다.
전체적으로 발표 내용은 이미 알고 있는 내역이 주류로 이루어져 있었지만 알고리즘 내 수학적인 요소까지도 설명해주었기 때문에 오랜만에 복습한다는 느낌으로 참여하였던 것 같다. 또한 주어진 문제에서 어떠한 알고리즘을 사용하여 문제를 해결하는 방법을 공유받을 수 있었던 시간이었다.