이 글은 언제든 삭제가 될수 있습니다. 그리고 퍼가지 말아주세요 <div><br></div> <div>개발자 밥을먹은지 벌써 5년이네요.</div> <div><span style="font-size:9pt;">정보보안학과를 졸업하고 아는 분의 말을 듣고 이쪽 세계로 들어온지 벌써 5년의 시간이 지났네요.</span></div> <div><span style="font-size:9pt;">지금은 프리랜서로 SI 웹개발업무를 하고 있습니다.</span></div> <div><span style="font-size:9pt;">이쪽분들의 말로 하면 코더라고 할수 있겠네요.</span></div> <div><span style="font-size:9pt;"><br></span></div> <div>오유에서 프로그래머게시판의 글들을 읽다보니.. 저같은 하위 생산직에 관련된 이야기는 잘 없어서.. </div> <div>괴수분들은 많지만 나름 현실을 반영한 이야기를 쓰고 싶어서 혹시 도움이 될까 해서 ( 라고 쓰고 업무 초기라 할일이 없어서 )</div> <div>그리고 제가 신입부터 지금까지 겪어오면서 느낌점. 그리고 질문점을 남겨 보려 몇자적습니다.</div> <div><br></div> <div>1. 한국에서 프로그래머는 40줄이 넘기 어렵다 ?</div> <div>이 부분에 대해서는 정말 CBC 입니다. 지금은 말로는 없어진 KOSA등급에 좌지우지 되는 인력시장의 틈바구니 사이에서 </div> <div>40줄이 넘으신 개발자분들은 <span style="font-size:9pt;">생각보다 많이 있습니다. 50이 넘어서도 현역으로 활동하시는분이 꽤 있습니다. </span></div> <div><span style="font-size:9pt;">전체의 퍼센테이지로 보면 많아보이지는 않지만. 한국 인력시장의 특수성을 생각하면 양호하다고 생각합니다.</span></div> <div><span style="font-size:9pt;"><br></span></div> <div>전자정부 이후 정부에서 만들어놓은 인력시장의 공급과잉이 커서 그렇지 상위로 갈수록 남아있으신분들은 꾸준히 올라갈수 있는 구조이기도합니다.</div> <div>대신 다른 직업보다 더 많이 자기개발과 노력이 없으면 안되는 직업이라는 점도 분명합니다. 쉽게 도태될수가 있죠.</div> <div>보통 신입 프로그래머 중에 중급으로 올라가는 사람은 5명. 그리고 그중에서 고급 특급으로 올라가는 사람은 2명정도라고 봅니다.</div> <div><br></div> <div>대신 그만큼 올라가면 올라갈수록 자신의 실력이 되면 될수록 급여의 폭은 확실히 나뉩니다.</div> <div><span style="font-size:9pt;">저야 프리랜서니까 지금 단가가 정규직분들과는 다르지만 동년배 대기업정도는 버는것 같습니다. ( 대신 국민연금이 없.. )</span></div> <div><br></div> <div>2. 프로그래머 신입으로 들어가면 어떤가요 ?</div> <div><span style="font-size:9pt;">신입시절에는 쉽게 받아주지 않아서 악덕회사 ( 이하 블랙회사) 에 들어가게 되고 이곳에서는 정말 단순작업생산직을 경험하게 됩니다.</span></div> <div>하게 되는것은 게시판단의 화면 위주의 개발을 하게되고 대부분 플레임웍이나 회사내의 솔루션을 이용한 기본적인 업무만을 합니다.</div> <div>이때는 전체적으로 업무가 어떤식으로 흘러가는가. 한개의 프로젝트의 시작과끝 ( 정상적으로 끝나는경우)을 경험하면 좋습니다.</div> <div>그리고 이때 잘 안알려주는데.. 각 프로젝트의 과정이 얼마의 시간이 걸리는지 알아두시면 좋습니다.</div> <div>그리고 끝나면 문서작업을 하고 코드 리뷰정도를 하면서 하나의 서클이 돌아갑니다.</div> <div><br></div> <div>3. 프로그래머는 어떻게 성장해야하나요?</div> <div><span style="font-size:9pt;">신입으로 들어가서 만 2년차 정도면 의외로 업무가 편하고 빨리 끝날수 있습니다..</span></div> <div>보통 회사에서는 같은 종류의 프로그램을 반복해서 만들기 마련이고. 이미 출시되어있는 프로그램이나 프로젝트의 유지보수를 가더라도</div> <div>이미 많이 사용해본 익숙한 패턴이기때문이죠. </div> <div><br></div> <div>대신<span style="font-size:9pt;">.. 그리고 이상태로 만족하다 보면.. 3년정도 지나면.. 그냥 망할수 있습니다.</span></div> <div><br></div> <div>뭔소리냐하면.. 개발자가 개발을 못하면 죽어요.. </div> <div><br></div> <div>생각보다 현장에서는 친절하게 많은걸 가르쳐 주는 사람이 없습니다. </div> <div>위의 사수나 PM. PL이 OJT나 프로젝트 과정에서 업무 및 스킬을 알려주는 사람도 있지만 블랙회사의 경우 위에 사람도 과중한 업무로</div> <div>밑에 있는 사람을 케어해주지 못하는 경우가 대다수죠 ( 자기 살 길이 바쁘면 옆을 보기 어렵죠.. )</div> <div><br></div> <div>이러한 일련의 과중속에서</div> <div>뭐 그러다보면 한회사에서 연차만 쌓고 나중에는 업무기술은 없어서 자연도태되거나..</div> <div>신입들이 없어지면 업무과중으로 그만두거나 하게되는거죠 ..</div> <div>( 정안되면 권고사직의 칼이 날라옵니다. 이런경우는 두번봤네요 )</div> <div><br></div> <div>4. 그럼 어떻게 해야하나요 ?</div> <div>하지만 반대로 생각하면 해당 업무의 이해를 바탕으로 기술력이 그만큼 오른 사람은 위로 올라갈 찬스가 그만큼있습니다.</div> <div>동기 프로그래머들 사이에서 몇가지 언어를 쓸수 있는지 패턴은 얼마나 아는지 DB의 종류별로 장점이나 단점 (혹은 옵티마이저의 이해)같은걸</div> <div>말하다보면.. 프로그래머의 연차별급이 쉽게 나뉩니다.</div> <div>스프링 패턴을 쓰면서 싱글톤 패턴이라는걸 모르는 사람도 있고. 오라클을 쓰면서 SGA가 뭔지 모르는 사람이 있는거죠.</div> <div><br></div> <div><br></div> <div>위에 올라가기 위해서는 뭔가 배워야합니다. </div> <div>첫째로는 다른분들도 쓰셨지만 꾸준한 세미나의 참석, 기술동향에 대한 이해, 소스 코드 분석등을 꾸준하게 하셔야 합니다.</div> <div>당장 그 코드가 어떻게 돌아가는지. 신기술을 어떻게 써야하는지 몰라도 됩니다.</div> <div>그냥 그게 어떤 언어고 어떤장점이 있는지 정도로도 괜찮습니다.</div> <div>그리고 괜찮다면 튜토리얼정도는 해보시고 그 언어나 기술로 작성된 사이트를 한번 둘러보시는것도 좋습니다.</div> <div>( 대부분의 언어는 해당 언어나 기술로 작성된 사이트들을 알려줍니다. )</div> <div>세미나에 참석할 시간이 없다보면 커뮤니티 같은대 다니면서 자주올라오는 키워드나 질문들을 보면서 같이 답을 찾아보면 좋습니다.</div> <div><br></div> <div>두번째는 면접많이 보세요.</div> <div>일단 회사를 다니셔서 2년차정도부터는 인력사이트 (직업한국, 인사람등등 ) 에 이력서를 올리셔요.</div> <div>일단 이력서를 쓰다보고면 자신이 어떤기술이 있는지 어떤걸 하는지 스스로 정리하실수 있습니다.</div> <div><br></div> <div>그리고 큰 회사의 면접을 보면 기술 면접이나 인성 면접등을 봅니다. </div> <div>면접시에는 거짓말을 할 필요는 없습니다. 할줄모르는 기술을 한다고 말할필요도 없고. 할줄 아는걸 못한다고 하실필요는 없습니다.</div> <div>만약에 거짓말로 합격하면.. 뭐 그것도 능력이겠습니다만. 나중에 입사뒤의 평판도 나빠질뿐더러 그 업무에 대해서 맡는 순간 바로 탄로나죠.</div> <div><br></div> <div>면접을 보다보시면 어떤회사에서 어떤기술을 요구하는지 . 내 실력에서 뭐가 부족한지 금방알수 있습니다.</div> <div>해당연차에서 실력이 부족하네 뭐내 하는 이야기는 귀담지 마시고 해당 질문 내용을 기억하셨다가 나중에 스스로 답을 찾아보시다보면</div> <div>내가 어떤기술이 부족한지에 대해서 깨닫는 중요한 경험치가 됩니다. ( 레벨업을 하는건... 다르지만요.. )</div> <div><br></div> <div>세번째를 건강에 신경쓰세요 </div> <div>프로그래머 특성상 앉아서 업무를 포는시간이 많습니다. 절대적으로 운동시간도 부족하고 업무가 과중되는 기간에는 수면시간도 불특정해집니다.</div> <div>저는 지금도 체력관리를 못해서 고혈압을 달고 있습니다. 꾸준한 운동이나 식습관은 정말 중요합니다.</div> <div>그리고 가급적 좋은'의자'라던가 좋은자세를 갖도록 노력하시길 바랍니다.</div> <div><br></div> <div>5. 프로그래머로서 버려야 할 것</div> <div>개인적으로 프로그래머를 하면서 가장 필요없는 두가지를 꼽으라면 </div> <div>애사심과 직급입니다.</div> <div><br></div> <div>한회사에서 오래토록 같이 하면서 같이 성장하는게 좋지만 중소기업의 경우에는 대기업 하청을 벗어날 수 도 없고</div> <div>대기업의 경우에서는 승진의 갈림길에서 강제 퇴사할 가능성도 있기마련입니다.</div> <div><span style="font-size:9pt;">그리고 한국기업의 특성상 내부적으로 뛰어난 사람이라도 급여가 쉽게 올라가지 않습니다.</span></div> <div>이직은 선택이 아니라 필수죠.</div> <div><br></div> <div>그러다보면 직급도 아무 쓸모가 없죠. 지금 과장을 달고 있지만. 이직하면서 직급은 아무 의미가 없다는걸 느끼실껍니다.</div> <div>대리인데 설계부터 튜닝까지 전부 할수있는 사람이 있는 반면 PM 이지만 기본구조와 설계도 못해서 주문 테이블의 오류로 큰 금액을까먹는 사람까지..</div> <div>엄청나게 다양합니다. 그냥 직급보다는 연봉이 맞는지. 자신의 일에 연봉을 비교해서 안되면 다른 회사로 이직하시길 바랍니다.</div> <div><br></div> <div>6. 업무를하면서 가장 중요한건 ?</div> <div>업무적으로는 요건정의라고 봅니다. 대부분 업무를 할때 상대방은 대부분 전산에 대한 깊은 이해가 없는 사람이 대부분입니다.</div> <div>그리고 그 사람이 요구하는 멋지고 훌륭한 웹프로그램의 청사진은 스티븐 잡스가 살아와도 못만들 정도의 스킬을 요구하는 경우도 있을수 있습니다.</div> <div>그럴때는 상대방에게 왜 안되는지를 이해하고 대안을 제시하고 어떻게 수정할것인가(에 대한 방법)를 조율하는게 제일 크다고합니다.</div> <div>보통 클라이언트와의 업무조율은 큰 범위내의 것들은 업체간의 현업담당자와 - PM이 조율하게 되는데.. PM의 능력치와 현업의 이해도에 따라서</div> <div>프로젝트가 지옥의 강물 밑으로 침수되는 경우도 많이 있습니다. </div> <div><br></div> <div>그리고 잘 정의된 요건일수록 개발의 길은 뚜렷하고 명확해지고 진행하면서도 막히지 않을우 있습니다.</div> <div>보통 정책(기준)이라고 하는데. 이러한 정책들을 사전에 파악하고 협의하는게 나름 기술입니다.</div> <div><br></div> <div>특히 금융권쪽에서는 하나의 분야 ( 보험이면 보험. 여신이면 여신등 )의 업무를 꾸준히 한 사람들을 원하는데. 그만큼 업무에 대한 이해도가 높을수록 성과물도 훌륭하기 때문이죠.</div> <div><br></div> <div>7. 어떤 언어를 배워야 하나요 ?</div> <div>웹이면 다른분들은 많이 뭐라하시는 JAVA 추천합니다. 이유는 인력풀이 넓어요.. 안좋은곳도 많지만.. </div> <div>일단 어딘가 가서 돈을 벌어서 실제 업무를할수 있어야 하니까요.. 그리고 신입을 많이 뽑습니다. </div> <div>대신 신입의 등용문이 넓다는건.. 그만큼 나가는 사람도많다는거죠.. </div> <div>하지만 언어에 얽매일 필요는 없다고 생각합니다. Javascript 쪽의 언어도 충분히 훌륭하고 PHP도 아직은 채용인력을 많이 구하기 때문이죠.</div> <div>대신 일단 정하면. 일인분이 될때까지는 꾸준히 하시길 바랍니다.</div> <div><br></div> <div><span style="font-size:9pt;">8. 개인적으로 하고 싶은 이야기</span></div> <div><br></div> <div>개인적으로 웹개발은 비추입니다. 언어도 많이 배워야하고. 기술의 트렌트 변화도 높고 해야할것도 너무 많습니다.</div> <div>그냥 임베이드나 앱으로 가시는게 어떨까합니다 ( 제 밥그릇이 줄어드는것도 있고요 )</div> <div><br></div> <div>개발자는 훌륭한 직업인데 한국에서는 하지마라.. 맞는말입니다. 자기개발할 시간도 부족하고요. 저는 그래서 프리랜서로 전향한 입장이네요</div> <div>작년 공실(일 안한기간)은 두달정도고. 신규업체에서도 하고 예전에 일했던 업체에서도 전화가 옵니다. 결국 자기 하기나름입니다.</div> <div>대신 다른 직업보다 자기개발의 요건이 많고 중요합니다.</div> <div><br></div> <div>9. 그냥 넉두리 조언</div> <div>조언1. 책 많이 읽으세요. 활자에 익숙해져서 빨리 읽으면서도 이해하는건 평소에 연습해야 할 수 있습니다.</div> <div>조언2. 항상 주변사람들에게 잘하세요. 의외로 여기도 인맥이 중요하게 작용하는 시장입니다. 모 회사의 경우 직원입사하면 그 직원에게 전에 회사에서 추천할 인제 한명을 검토하는 시스템이 있습니다.</div> <div>조언3. 프로그램짤때는 10분 생각 50분 코딩보다 . 50분 생각 10분 코딩을 하세요. 의외로 답은 간단할수 있습니다.</div> <div>조언4. 커플이신분들은 결혼후딱하세요. 늦으면.. 힘듭니다. ㅠㅠ</div>