JAVA와 PHP 어떻게 다른가요?
PHP는 자유롭습니다. 하얀 종이를 주고 '적고 싶은 대로 적으시오'라고 하는 거죠. 반면에 JAVA는 형식을 정해주고 '이곳에는 제목을, 아래에는 내용 요약을 적으시오'라고 정해줍니다. 스타트업에서 주로 PHP를 사용합니다. 프로토타입 서비스를 만들고 빨리 다음 단계로 넘어가야 할 때, 형식을 따지지 않고 쉽고 빠르게 만들 수 있으니까요. 하지만 회사 규모가 커지면 전략적으로 JAVA를 선택합니다. 수백명이 협업할 수 있는 '규칙'이 필요해지면 JAVA를 쓰는 거죠.
단점을 얘기하자면, PHP는 코드 작성자마다 품질 차이가 큽니다. '언어가 엉망이다'라는 부정적인 평가를 받습니다. JAVA는 초반 세팅 과정이 복잡합니다. '형식'에 익숙해지기까지 시간이 오래 걸립니다. 그래서 'JAVA는 어렵고 PHP는 쉽다'라는 선입견도 있습니다.
어떤 언어를 선택해야 할까요?
본인의 상황과 성향에 따라 결정할 수 있습니다. 이번에 맡은 JAVA||PHP 개발 포트폴리오 강의가 그런 선택권을 드리는 것입니다.
JAVA와 PHP 모두 능숙하게 다룬다면, 앞으로 어떤 회사에서든지 맞춰서 일할 수 있습니다. 문제는 둘 중 하나만 쓸 줄 안다면, 회사를 선택할 수 있는 범위가 줄어든다는 것이죠. 아마도 대기업에 가고 싶어서 JAVA를 선택하는 사람이 많을 것 같아요. 하지만 상황에 따라 PHP가 취업에 알맞은 언어일 수도 있어요. PHP를 배워 작은 회사에 들어간 다음 JAVA를 더해서 큰 회사로 옮기는 게 나을 수 있죠.
목표가 무엇인지 구체적으로 생각해야 합니다. 왜 JAVA 혹은 PHP를 배우는지를 알아야 동기부여가 될 것 같아요. '페이스북'은 물론 다양한 언어를 쓰겠지만, PHP를 적극적으로 사용다고 알려진 회사입니다. '카페24'도 PHP를 씁니다. PHP를 배운다고 큰 회사를 못 가는 건 아니에요. 언어는 수단입니다. 자신이 원하는 목표를 분명하게 설정하면 필요한 언어는 자연스럽게 결정될 거예요.
개발자로 취업하려면 포트폴리오가 필요한가요?
개발자가 소스코드나 포트폴리오를 제출하는 경우가 많지는 않아요. 제출하면 긍정적인 평가를 받겠지만 필수는 아니죠. 포트폴리오를 준비하는 이유는, 직접 전체적인 기획을 하고 기능을 정의하는 과정에서 시행착오를 경험할 것이기 때문입니다. 그 시행착오가 바로 면접 질문입니다.
학생들이 강의를 정해진 기간에 웹사이트를 완성하지 못할 수 있습니다. 하지만 그 과정에서 경험이 쌓입니다. 예를 들어, '스프링에서 DB 연결은 어떻게 하죠?'라는 질문에는 '모든 DB 연결 방법은 모르지만 저는 이렇게 해봤습니다'라고 당당하게 대답할 수 있습니다. 해봤으니까요. 면접관은 개발에 대해 깊게 고민해 봤는지, 실제로 해봤는지를 봅니다. 포트폴리오를 만들며 최대한 많은 경험을 얻어 가는 것이 제 강의의 목적입니다.
실무 경험이 있는 사람들이 다른 언어를 배워야 할까요?
창과 칼을 예로 들었던 것처럼, 무기를 확장하는 것입니다. PHP를 사용해온 분들이라면, 언어에 대한 감각은 있을 겁니다. 'JAVA 언어'만 모를 뿐입니다. 포토샵을 할 줄 알면 일러스트를 어느 정도 다룰 수 있는 것과 같습니다. 초보자보다 쉽게 배울 수 있을 것입니다.
또, 회사에 들어가면 처음부터 끝까지 프로젝트를 완성하는 경험이 많지 않습니다. 선배 개발자가 프로젝트를 이미 세팅해줬고, 일부분만 담당합니다. 예를 들면, 문서 작성은 잘하는데 문서 양식은 만들 줄 모르는 분들도 있습니다. 프로젝트를 직접 기획하고 실행하는 경험이 좋은 기회가 될 수 있습니다.
웹서비스 개발을 어떻게 강의하나요.
개발을 배울 때 대부분 'JAVA 언어', 'PHP 언어', 'DB' 등을 따로따로 공부합니다. 연결고리가 깊다는 것을 모릅니다. JAVA를 배웠지만 '그래서 어떻게 해야 하는지?'를 모르죠. 저는 강의를 하면서 이런 연결고리를 이어나가는 것을 중요하게 생각합니다. 웹서비스를 개발하는 과정을 끝까지 직접 해보는 거죠. 그래서 멘토링에 가깝습니다.
개발자 선배로서 한마디 부탁드립니다.
웹 개발자는 장래가 밝습니다. 한때 '앱'이 뜨면서 '웹 개발자는 끝났다'라고 했지만 웹 개발자는 계속 승승장구하고 있습니다. 앱에서 모든 데이터를 처리할 수 없습니다. 최소한의 데이터만 처리하고 본래 데이터는 API를 통해 웹서버에 저장하죠. 어떤 분야가 뜨고 지든 앞으로도 중요한 역할을 할 거예요.
커넥티드카에 앉아서 쇼핑을 하듯, 앞으로 사용자가 어떤 디바이스를 이용할지 모르겠습니다. 하지만 분명히 그 뒤에서 웹 개발자가 데이터를 처리하고 있을 것입니다. 새로운 디바이스가 나올수록 더 많은 데이터를 처리하기 위해 웹 개발자가 필요합니다. 계속 성장할 직업이라고 생각합니다. 이때 PHP와 JAVA는 메이저 언어이기 때문에 웹 개발자로서 두 언어를 배우는 건 좋은 기회가 될 것입니다.