PHP 개발자는 그 태생부터 죄에 속한 것과 같이 업을 쌓고 산다. 아무리 좋은 디자인과 아키텍처, 방법론으로 무장하고 있더라도 그 죄성은 쉽게 씻겨지지 않는다. 어디서든 PHP 개발자라는 얘길 하면 PHP: 잘못된 디자인의 프랙탈 링크를 받게 되고 공개 처형이 이뤄진다. 모던 PHP로 개발하면 된다지만 이전 PHP에 비해 그나마 모던한 것이지 다른 언어와 비교했을 때는 이제 시작한 수준에 불과하다. 개발과 아예 관련이 없는 모임이나 PHP 개발자 모임 외에는 PHP는 쉽고 편한 언어다, 같은 발언은 물론 대화에 PHP를 올리는 것 자체가 금기다. 언급 되더라도 마치 인종차별적 농담과 같이 지저분한 곳에만 사용된다.

어디 가서 PHP 얘기 꺼냈을 때

PHP를 새로 배우려고 하는 사람, 또는 2년 이하의 경력을 가진 사람은 이런 정신적 고통에 시달리지 말고 해방되길 바란다. 평생의 짐으로 껴앉고 살 필요 없이 더 멋진 언어를 선택하고 이 고통에서 벗어나자. 아래 내용도 더 읽을 필요가 없다.

하지만 3년 이상의 시간을 PHP와 함께 했다면 아무리 PHP가 최악이더라도 쉽게 벗어날 수 없다. 커리어를 이쪽으로 계속 쌓아온 사람이라면 마치 기차가 탈선하는 것과 같은 공포감을 느낄 수 밖에 없다. 그래도 갈아타는 것이 좋다. 3년은 크게 느껴지지만 100세 수명이라면 겨우 3%만 할애한 것이다. 물론 커리어 전환에서의 공포는 경력이다. 앞서 적은 것처럼 어디서도 PHP가 대접받지 못하기 때문에 그 전환에서 챙겨갈 수 있는 경력이 대체로 적다. (대부분의 경우, 신입 취급이다.) 경력을 인정 받지 못하면 자연스레 연봉이나 제반 사항이 발목을 잡는다. 그래서 떠나는 결정은 쉬운 일이 아니다. 내 경우는 호주에서 빨리 정착하기 위해 기존 경력을 살려야 했기에 여전히 PHP 개발자로 남아 있다. 새로운 언어를 배워 새 출발 하는 일은 쉽지 않지만 분명 가치 있는 일이고 나에게 있어서는 이후 과제 중 하나다.

반대로 다른 언어를 바꾸는 이득이 크지 않아서 계속 PHP를 사용할 것이라는 분들은 계속 이쪽 길을 가는 데 고민이 없다. 이득이 작다고 생각하는 사람이라면 PHP를 3년 이상 사용하면서 큰 문제를 느끼지 못해본 사람일 경우가 크다. 물론 언어에서 문제를 느끼지 못했다면 그냥 계속 사용하면 된다. 대체로 이런 케이스는 평생 쓴다. 가장 큰 문제는 이런 분들 중에 학습에 무딘 경우가 많아 잘못되고 오래된 지식을 경험이라는 이름으로 덮어서 오용하는 분이 꽤 있다. 이런 분들이 주로 코드의 정당성을 부여하기 위해서 페이스북이 PHP를 쓴다, 워드프레스가 점유율이 가장 높다는 등의 이야기를 끌어다가 쓴다.

페이스북이 PHP 쓴다고 말할 때


모르는 걸 아는 것은 좋은 일이지만 자신이 무엇을 아는지 알지 못하는 것은 병이다.1 PHP에서 문제를 한번도 느껴보지 못한 사람이라면 어떤 언어든 다른 프로그래밍 언어를 학습하자. 프로그래밍 언어는 다양한 문제를 위한 다양한 해법과도 같다. 각종 php 포럼에서 시시덕거리며 유물과 같은 코드 스니핏 공유하지 말고, 말도 안되는 코드를 블로그에 공유하지 말자. 사람보다 코드가 오래 간다. 그리고 다른 언어나 프레임워크를 비하하는 일은 제발 하지 말자. 본전도 못 찾을 뿐더러 정신승리만 남을 뿐이다. 그리고 제발 공부하자. 내가 대충 짠 코드가 다른 사람을 죽일 수 있다. PHP 코드가 레거시이기 이전에 개발하는 사람이 레거시면 어떡하나.

만약 앞에서 이야기한 모든 고통과 괴로움을 덮고서 PHP 개발을 계속 하려고 한다면 그나마 할 수 있는 조언이 몇 가지 있다. PSR 기반의 코딩 가이드, 네임스페이스 사용 등 모던 PHP라고 불리는 것들을 빠르게 도입하는 것이 그중 하나다. 기초는 PHP The Right Way 한국어판부터 시작하자. 패키지를 작성하는 방법이나 패키지 작성 체크리스트를 보고 모르는 부분이 있다면 심화 학습하자. 앞서 간략하게 설명한 글인 당신이 PHP 개발자라면 2016년 놓치지 말고 해야 할 것들을 봐도 된다. 실무에 빠르게 적용하고 싶다면 Laravel 튜토리얼을 살펴보자. PHP Storm과 같은 IDE를 사용하거나 에디터에서 제공되는 PHP를 위한 플러그인을 찾아 설치하는 것도 잊지 말자. 커뮤니티도 중요하다. 모던 PHP 사용자 모임에 가입해서 살펴보자.

PHP 글 더 읽기

  • 노자 도덕경 71장 지부지상 중 
  • 처음으로 웹문서를 작성해 본 것이 초등학교 3학년 방과후 컴퓨터 수업에서였다. 몇가지 엘리먼트를 알려주고 하이퍼링크를 통해 두세개의 웹페이지를 연결한 것이 전부였지만 그게 내 첫 헬로월드였다. 지금 생각하면 정말 별 것 아닌 페이지였지만 그 페이지가 나를 웹이라는 세계로 초대했다고 해도 과언이 아니다. 때마침 ADSL이 보급되기 시작했던 시기와 맞아 이후로도 꾸준히 웹에 관심을 가질 수 있었다.

    그 이후로 플래시 애니메이션이 유행해서 플래시도 열심히 공부했었고 (플래시3에서 4로 넘어가던 때였다) 중학교에 들어가니 때마침 홈페이지반이란 클럽이 생겨 거기서 만난 친구를 통해 php에 대해 알게 되었고 그때부터 본격적으로 프로그래밍에 관심이 생기기 시작했다. 당시엔 개발보다 웹디자인이 좋아 이것저것 늘 포토샵으로 만드는게 일상이었다. 그러던 중 중학교 재학중 정보올림피아드 지역 예선에 참가했었는데 베이직이고 뭐고 전혀 모르던 나는 당연히 떨어졌다. 그 이후 떨어진 학생을 대상(?)으로 한 프로그래밍 교실에서 C를 배웠는데 내 일생 중 들었던 유일한 개발강의였고 너무너무 재미있었으며 그때 배운 것이 지금까지도 도움이 되고 있다. (C개발을 하고 있는건 아니지만…)

    고등학교 진학을 디지털미디어고등학교로 하려 했었지만 선생님이나 부모님 모두 반대하던 중에 이사장 비리까지 터져 결국 일반계 고교로 진학하게 되었다. 고등학교때야 이것저것 한 일이 많았기도 했지만 깨작깨작 디자인도 하고 웹사이트도 만들었다. 어디까지나 재미로, 취미로 해오던 부분이 돈이 된다는걸 대학교 2학년때 알아서 그때부터 실무에 뛰어들었고 일을 하다 군대에 가게 되었다. 군대의 통제된 네트워크에서도 개발이 계속 하고 싶어서 js로도 이것저것 만들기도 했고 java도 책 들고가서 부지런히 공부했다. 전역 후 일년 여 개발한 후 호주에 넘어올 결심을 하고 호주로 넘어와 현재도 개발을 하고 있다. 아무래도 php가 가진 한계점도 생각해서 다른 언어에 대해 공부를 하려고 부지런히 알아보는 중이다.

    문제가 많다고 하는 php를 상당히 오랜 기간동안 만져왔기 때문에 그 관성이 있어서인지 새로운 언어를 배우는 것이 쉽지 않다.(php의 어떤 부분이 문제인지는 이미 많은 글에서 까여왔으므로 생략하고…) 쉽지 않다는게 언어를 습득하는 것 자체가 어려운 것이 아니라 기존에 해왔던 것으로 충분히 가능하지 않을까 하는 생각이 앞설 때가 요즘 좀 많아졌다. 뒤돌아보면 이렇게 고민했던 적이 단 한번도 없었다. 새로 배우는 것이 늘 즐거웠고 재미있었는데 어느 순간부터 급격하게 게을러진 내 모습이 낯설기까지 하다. 일을 하며 잘 못할 때에도 걱정하지 않았던 이유는 모르면 공부하면 되었기 때문이었는데 그런 자신감이 좀 덜해졌달까. 게을러지고 있달까.

    프로그래밍을 하는 사람들, IT쪽에 종사하는 사람들에게 비 종사자들이 물어보는 질문 중에도 평생 배워야 하는 직업인데 계속 배우면서 하는거 힘들지 않겠냐, 어렵지 않냐 하는 질문이다. 자고로 개발자는 학습에 대해 늘 즐거워 하는 자세로 대해야 하는 직업인 것은 맞다. 한국서는 관리자로의 커리어 패스가 일반화되어 몇년만 고생하고 관리자가 되면 된다는 식의 사람도 몇 보긴 했지만 평생 개발할 생각이 조금이라도 있다면 개발자는 사실 일하는 사람이라기보다는 학자의 성품을 가지고 있는 사람이 더 맞는 직업인지도 모르겠다.

    여튼 새로운 언어를 배우는 것에 대한 답은 이미 알고 있다. 즐겁게 받아드리고 재미있게 세상을 만들어 나가는 것, 헬로월드에 두려워하지 않고 늘 새로운 세상을 만나고 또 함께 꾸려나가는데 두려움이 없는 것이 진짜 개발자의 모습이란 점을. 헬로월드가 화면에 띄워지는 순간 얼굴에 웃음기가 돌고 모든 것을 배운듯한 기분이 들었던 그 시절을 상기해본다. 그리고 그 첫 마음을 다시 떠올리면서 새로운 마음으로 달려야겠다. 그래서 나도 물어보려고 한다. 당신의 헬로월드는 안녕하신가요? 하고.

    색상을 바꿔요

    눈에 편한 색상을 골라보세요 :)

    Darkreader 플러그인으로 선택한 색상이 제대로 표시되지 않을 수 있습니다.