독서 - 바쁜 팀장님 대신 알려주는 신입 PHP 개발자 안내서

04 Mar 2018

2014년 겨울, 당시 나는 어설픈 실력으로 블로그 도구를 만들다가 너무나 많은 오류를 감당하지 못하고 제작을 중단했다. 이미 기본적인 HTML, CSS, Javasciprt는 알고 있었고, PHP 기초 학습서로 PHP와 MySQL의 기본 문법과 회원 관리 기능, 자유 게시판 작성에 대해 익혔으므로 혼자 사용할 블로그 정도는 만들 수 있을 것이라 생각했다. 하지만 오류 없이 돌아가는 블로그 도구를 만드는 건 생각보다 어려웠다. 그때 난 기초적인 PHP 문법을 안다고 해서 무언가를 바로 만들어낼 수 없다는 걸 실감했다. 알아야 할 기본적인 사항이 너무 많이 남아 있었다.

요즘도 중고서점에서 오래된 PHP 학습서를 볼 수 있다. 그런 책으로 PHP 개발을 접하면 코드 스타일에 대한 표준 권고안(PSR)이나 패키지 관리 도구 같은 게 있는지조차 모르고 예전 방식으로 PHP 언어를 배운다. 이는 오래된 학습서만의 문제는 아니다. PHP 입문 서적만으로는 실제 작동하는 PHP 어플리케이션을 만들거나, 신입 개발자로 활동하기 위해 어떤 걸 더 공부해야할지 방향을 잡는 게 쉽지 않다. 이 책, 『바쁜 팀장님 대신 알려주는 신입 PHP 개발자 안내서』(이하 “신입 PHP”)는 이런 상황에서의 좋은 길잡이다.

이 책의 저자는 3년전에 “XE Open Seminar - Testing in PHP“에서 Codeception에 대한 발표를 했다. 내가 저자를 처음 알게 된 건 이 때였다. 이후 모던PHP유저그룹의 정기모임에 참석하고, 라라벨 꾸준 코딩 모임 홍대에 나가면서 저자와 자주 만난 인연으로 『신입 PHP』의 베타리더로서 이 책을 일찍 접할 수 있었다. 좋은 PHP 학습서가 부족하다는 PHP 커뮤니티에서의 문제 의식으로부터 출발해, 저자는 직접 현업 개발자를 대상으로 “신입 PHP개발자가 익혀야할 기술과 툴에 대해 설문조사“를 실시하여 이 책을 기획했다. 『신입 PHP』는 입문자를 대상으로 하지 않고, 이미 어느 정도 PHP 언어에 대해 익힌 후 개발자로서 첫발을 딛는 이들을 대상으로 하고 있다.

이렇게 주요 타겟을 설정한 덕분에 이 책은 다른 PHP 학습서에 비해 많은 강점을 가졌다. 우선 입문 단계의 PHP 개발자에게는 PHP 언어의 기본 사용법을 익히는 데 그치지 않고, HTTP에 대한 지식이나, 시큐어 코딩 가이드와 같은 웹 기반 어플리케이션 제작의 기본을 다질 수 있는 내용을 제공한다. 또한 제목에 등장하는 “바쁜 팀장님”이나, 신입 개발자와 함께 일할 예정인 2-3년차 정도 경력의 개발자는 이 책을 통해 현재 알고 있는 내용을 다시 한 번 점검하거나, 아직 도입하지 않은 방법론이나 기술을 살펴 볼 수 있다. 특히 “Docker” 챕터는 저자가 집필 초기에 “Vagrant”로 가상 서버를 구동하는 내용으로 썼다가 베타 테스트 이후, “Docker”를 활용하는 방법으로 완전히 새롭게 완성한 것이다. 개발 환경에 가상 서버를 도입하기 위해 고민하고 있다면 특별히 이 챕터를 추천해 주고 싶다.

이 책은 개발을 위한 사전 준비 사항을 알려주고(“Git”과 “Composer”, “Docker” 챕터), 모던 PHP 개발 방법론과(“Composer”, “MVC”, “PSR”, “PDO/ORM” 챕터), 강력한 PHP IDE인 “PHPStorm” 사용법도 담고 있다. “시큐어 코딩”과 “HTTP” 챕터에서는 PHP 언어뿐만 아니라 다른 언어로 웹어플리케이션을 제작할 때에도 염두에 두어야 할 이론적인 내용도 담고 있어서 실로 PHP 기반의 웹어플리케이션 개발에 대한 전반적인 부분을 총망라한 책이라 할 수 있다.

이 책은 그 많은 공부해야 할 것 중에서, 팀장들의 관점에서 엄선한 주제들로만 구성함으로써 오히려 신입 PHP 개발자가 빨리 일할만한 동료로 성장하는 데 도움을 줄 수 있을 거로 생각합니다. — “들어가며” 중

PHP 언어의 문법을 처음부터 차근차근 설명하는 책이 아닌, PHP를 활용해 실제 개발에 착수하기 전에 어떤 걸 학습해야할지 알려줄 가이드가 필요한 개발자에게 이 책을 추천한다.