강의를 들으며 '확장 가능한 웹 애플리케이션 설계'에 대한 역량을 키울 수 있었습니다. 웹 개발자, 특히 백엔드 개발자로 성장하고 싶으신 학생/취준생 분들은 꼭 한번씩 들으시길 추천드립니다!
제가 웹 개발 공부를 시작했을 때 가장 어려웠던 점 중 하나가, '어떠한 기술이 왜 필요한지에 대해 아는 것' 이었습니다.
특히 웹 구조에 대해 서버, DB, 클라이언트 정도의 구조만 알다가 부트캠프에 들어가고서 프로젝트를 진행하니 Redis, Kafka, RabbitMQ, Elasticsearch 등 생소한 기술들을 접할 기회가 많았습니다.
이러한 기술들을 사용하는 경험을 쌓으면 좋다는 얘기를 듣고, 일부는 써보기도 했습니다. 하지만 이런 것들이 '어떠한 문제'를 느끼고 이를 해결하기 위해서가 아닌, 그저 '도움이 되는 경험' 정도로 남겨지는 것 같아 아쉬움이 많았습니다.
그러던 중, 이 강의를 듣고 평소 궁금했던 부분들을 많이 해소할 수 있었습니다. 가장 기본적인 기능부터 시작해서 문제 상황을 제시하고, 이것을 해결할 수 있는 기술과 그 기술이 어떤 식으로 문제를 해결하는지, 마지막으로 해당 기술의 대표적인 예시들을 소개시켜 주시는 방식으로, 시스템을 설계할 때 'A 문제에는 B라는 솔루션(기술)을 사용할 수 있다' 라는 개념이 세워지게 됩니다.
또한 시스템 설계에 필요한 기술이 추가될 때 마다, 이것을 아키텍처 다이어그램으로 보여주시며, 요청/응답의 흐름과 구조 등을 쉽게 파악할 수 있도록 강의가 제공됩니다.
최종적으로는, 웹 서비스를 만들 때, 발생하는 문제들에 효과적으로 대처하며, 문제를 해결하는 기술적 역량 역시 기를 수 있다고 생각합니다.
현재 강의를 들으며, 강의 내용을 바탕으로 이전에 만들었던 프로젝트의 구조를 다시 만들어 보고 있는데, 이전에 이해가 되지 않았던 부분이나 비효율적으로 설계했던 부분들이 눈에 보이며, 더 개선된 구조를 만들 수 있었습니다. 웹 개발을 공부하시는 다른 분들도 이 강의를 들으며 앞으로 진행할 프로젝트에서 확장성 있고 효율적인 웹 시스템을 설계하는 역량이 많이 길러지시길 바랍니다!! :)