웹 프로그래머로 나아가고자 하는 신입들에게 하고싶은 말.

나도 어느덧 20대도 꺾이고, 사회 경험으로썬 벌써 연차로 6년차에 접어들었다. 친구들이 대학을 다니고 있을 때 나는 회사를 만들어 나가고, 관리하다가 이제는 웹 개발 실무만 4년차에 접어들게 되었다. 연차로 따지면 대리급 정도 되지만, “병특” 이니깐 뭐라 할 말은 없고.. ㅎㅎ 그리고 딱히 직급에 목메고 살지는 않는다. 다만, 사회생활을 하면서 내가 좋아하는 웹 프로그래밍을 하고 있으니 나는 참 축복받았다고 생각된다. 물론 병특 기간은 무한대로 길긴 하지만 말이다.


여하튼 최근 한두달 간은 회사에서 나보다 5살 많은 사람을 교육하고 있다. 이리 저리 떠돌다가 30이 다되서야 웹 개발자로 정착하신 분이다. 우리 회사 소속은 아닌데, “파견직”으로 타 회사에서 나온 사람이다. 뭐 소속만 다를 뿐이지, 회사 분위기가 좋아서 그냥 정직원과 별반 차별을 하지 않는다. 아마 웹 프로그래머 뿐만 아니라 IT 업계에서 인력 파견 업체는 너무나도 흔한 일이고, “파견”이란 자체도 갑이 아닌 이상 비일비재한 일이니깐 말이다.


내 바로 전 직장은 인력파견 업체인데도 불구하고 SI성 사업을 진행하고, 자체 인력들을 파견하고 매출은 그 회사의 것으로 기록하곤 했다. 단지 그들이 챙기는 것은 10% 남짓의 인력 수수료일 뿐인데 말이다. (직원 50여명으로 매출이 1억이나 되던가..) 소속된 개발자들만 죽어나고, 이익은 윗선에서 다 챙긴다. 회사 복지는 4대보험이 전부다. 왜? 그들은 “프리랜서” 이니깐. 프리랜서들은 회사에서 벗어나 자유로운 삶을 원하지만, 정작 그들이 프로젝트에 투입되면 9시 출근이 적용되고 출근시간에 따른 제약조건이 생기지만 퇴근 시간에 따른 보상은 없다. 무리한 일정인 것을 알면서도 “IT 업체니깐 어쩔 수 없다” 라는 식으로 야근 수당 하나 없이(야근은 프리랜서의 능력 부족이라나..) 그들은 무리한 일정을 소화해 내려고 밤샘을 밥먹듯 하고, 여기 저기서 잠을 자고 스틱 커피의 카페인과 담배에 의지하며 버텨나간다. 프로젝트를 완료 하더라도 그들에겐 별다른 보상은 없다. 다만, 선배들의 “그렇게 좀 고생을 해야 프로그래밍을 좀 배워” 라는 따스한(?) 격려만 있을 뿐.


한 회사에 소속되서 웹 프로그래머로써 그 회사의 프로젝트만 꾸준히 하는 경우도 있고, 위의 경우처럼 여러 회사를 드나들며 파견직 업무를 진행하는 경우도 있을 것이다. 뭐 어떻든 간에 웹 프로그래머 신입들에게 내가 하고 싶은 말은 바로 “올바른 방향을 보고 열정을 쏟아붙자.” 라는 것이다.

사용자 삽입 이미지

여느 신입들이 그렇겠지만 프로그래밍에서 바른 방향을 찾아나간다는 것은 어려운 일이다. 그리고 대부분의 경우는 이를 생각할 겨를도 없이 자신의 진로가 결정되는 경우도 있다. 웹 개발에 있어서 닥치는 대로 주어진 업무를 하다 보니 나중에 잠시 한숨 돌릴 때 나는 비전도 없는 개발을 하고 있을지도 모른다. “아, 이거해서 이 회사 옮기면 어떻게 먹고살지?” 개인적으로 10여년 전에 php개발을 하시던 분들을 몇몇 알고 있는데, 대부분의 php 10년차 이상 개발자 분들은 미래 비전에 대해 비희망적이다. 그들은 단지 PHP를 써 왔으니깐, 자바나 닷넷을 몰라도 그정도는 PHP로 분명 구현할 수 있으니깐. 그래서 그들은 PHP를 하지만, 현업에서 컨설턴트는 조금이라도 단가를 올리기 위해 프리미엄 전략을 추구하고, 서버부터 WAS, 언어까지 모든 것을 비용이 들게 되는 것으로 변경하게 된다. 2년전 진행하던 공기업 웹사이트 프로젝트에서는 서버부터 대형 밴더의 서버를 사용하며, 각종 서버 진단 도구하며 방화벽, UPS.. WAS는 라이센스가 있는 resin, DB는 오라클. 이렇다 보니 다양한 서비스를 통합하기에 가장 적합한 스프링을 사용하고, 스프링에 딸린 ibatis를 사용하고… 아주 그냥 주어진 예산에 맞추기 위해서 단가가 안맞으면 쓸때없는 기능을 추가해서 단가를 팍팍 올리려고 한다. 물론 그것이 회사의 매출을 올리고 컨설턴트의 실적을 올리는 데에는 더 없이 좋은 행동이지만..


이야기가 좀 샜는데, 여하튼 PHP개발자들이 참 자기 언어만 고수하고 있다는 자체가 좀 아쉽다. 요즘 PHP는 아주 간단한 서비스 혹은 돈안되는 SM성 프로젝트에나 사용되니 어찌 보면 그들은 편의를 추구하는 것 같기도 하고, 혼이 빠진 개발자의 느낌도 들곤 하고 말이다.


내가 20살때 모 업체에서 JSP로 구성된 인트라넷을 유지보수하고 후에 병특으로 최초 회사에 입사했을 때 개발적인 것 보다 내가 가장 깊히 추구했던 것은 “이 언어가 과연 내게 어떤 결과를 가져다줄 것인가?” 였다. 그때는 php,asp,jsp,닷넷,flex 등 웹 언어가 사용되는 프로젝트는 전부 투입되기를 바랬고, 투입되었었다. 개개별로 OS도 달랐고 WAS도 달랐고 DB도 달랐다 .이렇게 다양한 기술을 접하다 보니 자연스레 각각의 기술(언어)에 대해서 정보를 접하게 되었고, 추세를 알게 되니깐 방향이 잡혔다.(나의 경우는 자바 쪽으로 방향을 결정했다.)


일단 그렇게 방향이 정해졌으면 그쪽 프로젝트를 할 수 있도록 발판을 마련해야 한다. 기회가 있을 때 힘들더라도 프로젝트에 참여할 수 있도록 하는 것이 좋다.


신입들이 가장 아쉬운 점들 중 또 한가지는 웹 프로그래밍을 한다고 자료구조나 OOP 등 프로그래밍의 가장 기본적인 개념을 전혀 모르고 프로그래밍 한다는 점이다. JSP가 WAS를 통해 어떻게 돌아가는 지도 모르고 로그를 보더라도 호출 스텍이 어떤 개념인지도 모른다. 단지 그들은 alert 혹은 system.out.println , out.write로 찍어보기 일수이다. JSP페이지가 JAVA로 변환되서 WAS에서 읽어드리는 것을 모르다 보니 xxx.jsp에서 에러가 나는데 왜 자바 파일에서 에러가 나는지 모른다. 그리고 자바 파일이 어딨는지도 모르고, 심지어는 로그를 볼 줄 모른다. 옆에서 보고 있으면 왜 이리도 답답하던지..


그리고 그들은 무엇보다 환경설정에 관해 지속적으로 배워나가야 한다. jsp개발자라면 최소한 tomcat apache oracle 의 연동 세팅 정도는 해볼 줄 알아야 한다. apache.conf와 server.xml 에서 최소한 사이트 하나 추가를 하는데 context설정이니 virtual host설정이니 이 정도는 알아야 한다. php개발자라면 LAMP정도는 세팅할 줄 알아야 한다. 방법을 다 모르더라도 구글에서 찾아다가 세팅할 줄 알아야 한다. 그렇게 기본이 되었을 때, 나아가서 다양한 기술을 다루게 되고 대부분의 기술은 환경설정이 정말 그 기술의 “다” 이다. 그리고 돌이켜 봤을 때, 환경 설정이 내 몸값이구나 라는 생각을 하게 될 것이다.


여하튼 최근 내가 가르치고 있는 개발자는 성격도 소심해서 질문도 잘 안한다. 그나마 내가 가서 “잘되요?” 라고 했을 때 질문이 쏟아지는 편.. 사수(?) 입장에서 이렇게 되면 상당히 짜증나게 된다. 퇴근할 때 잠깐 “잘되요?” 라 물어보고 뭐 안된다 해서 붙어서 있다 보니 어느새 야근을 하게 되면 그 기분은 참.. 그러니 신입들은 모르는게 있으면 눈치껏 잘 물어보는 스킬좀 키웠으면 좋겠다. 모르는걸 물어보는 것이 정말 “최고”다. 쓸때없는 삽질로 시간 날리지 않고 빠른 시간에 기술을 습득할 수 있다.


그러니 우리 개발자 신입들은 바른 방향을 인지하고, 사수에게 거침없이 물어보고 사수의 기술을 쏙쏙 습득해서 개발자들이 당당한 세상을 만들어 주었으면 한다. 답답하지 않은 신입의 길, 그리고 멋진 개발자로 한발 한발 나아가는 자신이 되었으면 좋겠다.