취미로 안드로이드 개발을 시작했다가 빠져들어 안드로이드 개발자가 됐다. 하이퍼커넥트에서 안드로이드 개발자로서 커리어를 시작했고, 현재는 라인플러스에서 라인 안드로이드 앱을 개발하고 있다.
안드로이드 개발을 하면서 어려움을 느낀 부분들을 다른 사람들과 공유하고 싶어 ‘조세영의 Kotlin World’ 기술 블로그를 운영하며 400개 이상의 글을 발행했다.
블로그 운영 외에도 기술과 관련된 다양한 활동을 하고 있다. 코루틴 기술 문서를 번역해 웹에 배포하기도 했고, Compose Dynamic Theme이나 Filled Slider Compose 같은 오픈 소스 라이브러리를 만들어 배포해 Google Dev Library에 소개되기도 했다.
코루틴과 일시 중단 함수를 사용하면 단일 값을 비동기적으로 반환받을 수 있다. 하지만 데이터가 시간에 따라 변하고, 이 변하는 데이터에 실시간으로 반응해야 하는 상황이 생기면 새로운 도구가 필요해진다. 여기서 코루틴의 Flow가 등장한다. Flow는 비동기적으로 계산된 여러 값을 순차적으로 반환받을 수 있도록 설계된 코루틴의 핵심 구성 요소로, 코루틴 기반 환경에서 리액티브 프로그래밍을 구현하기 위해 사용된다.
리액티브 프로그래밍은 데이터 흐름을 선언적으로 표현하는 프로그래밍 패러다임으로, 복잡한 데이터 흐름을 간결하게 다룰 수 있도록 한다. 이런 특성 덕분에 복잡한 데이터 흐름을 가진 현대의 애플리케이션들에서 리액티브 프로그래밍은 필수적인 요소로 자리 잡았다.
하지만 코루틴 자체도 이해가 쉽지 않은 주제이고, 리액티브 프로그래밍 또한 학습 곡선이 가파르다. Flow는 두 개념을 모두 요구하는 만큼, 학습 난이도는 매우 높은 편이다. 그럼에도 불구하고 Flow를 다루는 학습 자료는 많지 않으며, 있더라도 독자가 리액티브 프로그래밍에 대한 사전 이해를 갖고 있다고 가정하는 경우가 많아 진입 장벽이 높다.
이 책은 더 많은 개발자들이 코루틴 Flow에 쉽게 다가갈 수 있도록 하기 위해 집필됐다. 전작 『코틀린 코루틴의 정석』에서는 코루틴 자체에 대한 깊이 있는 이해를 제공했다면, 이번 책은 그 기반 위에서 Flow API를 활용한 리액티브 프로그래밍을 체계적으로 설명한다. Flow의 개념과 생성 방식, Flow에서 방출되는 데이터를 소비하는 방법 같은 기초부터, 배압과 뜨거운 Flow와 차가운 Flow 같은 심화 주제까지 폭넓게 다뤄 리액티브 프로그래밍을 깊이 있게 이해할 수 있도록 구성했다.
코틀린과 코루틴에 대한 기본 지식만 갖추고 있다면, 누구나 이해할 수 있도록 설계된 이 책을 통해 더 많은 개발자들이 Flow를 친숙하게 느끼고 실무에 자신 있게 활용하길 바란다.