정보통신 기술 분야에서 25년이 넘는 경력을 쌓았다. 20년이 넘게 시스템 관리, 네트워크 관리, 네트워크 보안, 애플리케이션 개발과 설계 분야에서 근무해왔다. 현재 신테크 시스템즈(Syn-Tech Systems)에서 시니어 소프트웨어 엔지니어로 근무 중이다.
2008년부터 iOS 플랫폼으로 다양한 제품을 개발했으며, 그중 몇 가지는 앱 스토어에 등록된 앱이고, 서드파티와 여러 엔터프라이즈 애플리케이션도 포함돼 있다. 또한 안드로이드와 윈도우 플랫폼에 대한 모바일 애플리케이션도 개발해왔다. 정보통신 기술 분야에서의 도전이야말로 삶의 원동력이며, 이러한 도전을 이겨내는 것을 최고의 기쁨으로 여긴다.
다른 관심사로는 가족과 함께 시간을 보내거나 로봇 프로젝트와 3D 프린팅이 있다. 또한 태권도를 진정으로 즐기며, 2014년 초에는 큰 딸인 케일리(Kailey)와 함께 검은 띠를 따기도 했다. 2014년 겨울에는 아내인 킴(Kim)이 검은 띠를 땄으며, 최근에는 막내 딸이 검은 띠를 따려고 노력하고 있다.
이 책은 프로토콜지향 프로그래밍에 관한 책이다. 애플은 2015년 세계 개발자 회의(WWDC)에서 스위프트 2를 소개하면서, 스위프트는 세계 최초의 프로토콜지향 프로그래밍 언어라고 발표했다. 이러한 이름에서 유추할 수 있듯이 프로토콜이 프로토콜지향 프로그래밍의 전부일 것이라고 생각할 수 있지만, 이는 잘못된 생각이다. 프로토콜지향 프로그래밍은 단지 프로토콜뿐만이 아닌 더 많은 것을 포함하고 있다. 프로토콜지향 프로그래밍은 애플리케이션을 개발하는 새로운 방법일 뿐만 아니라 애플리케이션 설계에 대해 어떻게 생각해야 하는지에 관한 새로운 방법이기도 하다.
1장에서 4장까지는 프로토콜지향 프로그래밍 패러다임의 각각의 요소에 대해 자세히 살펴본다. 프로토콜지향 프로그래밍의 서로 다른 요소에 대해 확실하게 이해할 수 있도록 구성해서 여러분은 애플리케이션에서 이러한 요소를 어떻게 사용할 수 있는지 알 수 있을 것이다. 프로토콜지향 프로그래밍에 관한 가장 큰 오해 중 하나는, 이는 그저 객체지향 프로그래밍의 또 다른 이름에 불과한 것이 아니냐는 것이다. 5장과 6장에서는 어떠한 점에서 유사하고 다른지를 살펴보기 위해 프로토콜지향 프로그래밍과 객체지향 프로그래밍을 비교함으로써 이러한 미신에 맞서본다. 또한 두 프로그래밍 패러다임의 장단점에 대해서도 이야기해본다.
마지막 2개 장은 독자가 프로토콜지향 프로그래밍 방식을 사용해 애플리케이션을 어떻게 설계할 수 있는지에 대해 이해하는 데 도움을 주기 위해 쓰였다. 7장에서는 프로토콜지향 방식으로 몇 가지 디자인 패턴을 어떻게 구현할 수 있는지를 알아보며, 8장에서는 앞서 책에서 다뤘던 모든 내용을 보강하기 위해 두 가지 실제 사례 연구에 대해 살펴본다.