FA 프로그래머 말리는 이유 - 업계 고질적 문제

데브피아에 흔한(?) 이야기가 하나 올라왔었네요.

왜 중소기업 FA 개발자 하지 말라고 하는지 알 수 있습니다. 아주 대표적인 사례입니다. 잘 읽어보세요.


제목 : 내가 이렇게 고충 하소연할 줄이야 (퇴사 결정하고 사직서 제출했어요)

얼마 전 대구의 모 회사에 차장 개발자로 입사를 했습니다.


FA 회사 면접 때 K이사가 전 회사 얘기를 해보라더군요.


문서 있는데 최신도 아니고 소스에 주석도 없고 SM을 가지고 SI성 프로젝트를 개발시키고 알정 쪼고 (금요일 저녁쯤에 회의 잡아서 월요일 사장한테 보고해야 된다고 그러는 격.. 주말 휴일 출근해라 이거죠 뭐) ... 

이렇게 큼지막한걸 얘기 했죠.그랬더니 K이사가 뭐 그런 곳이 있냐면서 우리 회사는 그렇지 않다! 소스에 주석도 많고 문서도 제대로 되어 있고, 업무도 어렵지 않고 업무 잘 알고 있는 사람 많다고 하더군요.


해외 출장도 없고 국내 출장 길어봤자 2주, 심하면 3주. 보통은 그 정도 걸리면 일단 철수하고 상황 본다고 하더군요.


이 T회사가 집이랑 가까우니 딸래미 얼굴 보며 매일 출퇴근 하겠구나..하고 페이는 적어도 T를 선택했습니다.


출근했는데 회사가 텅 비어 있습니다 ... 프로그래머 K과장이랑 대화해보니 자기도 온 지 7일 안 되었다고 합니다. 개발자 K과장이 말해주길 이전에 여기 개발팀 하나가 단합해서 모두 사직서 쓰고 인수인계 없이 나갔다고 하더군요.


그래서 나머지 팀이 그 사람들 대신 장비 팔아 놓은 중국 쿤산이나 국내 구미 파주 등에 투입되어 대응하러 가서 이렇게 회사가 비어 있다고 하네요. (아무것도 모르고 대응하러 간 상태)


아 ... 시작부터 괴롭다 ...아 ... 시작부터 괴롭다 ...


FA 회사 출근 2일째 되자 갑자기 K이사가 부르더니 개발자 S과장이랑 저랑 갑자기 화성에 출장 가라더군요.


잉?! 이게 뭐지 ... 갑자기 프로그램을 만들어야 하는데 이미 만들어진 거 있으니 가서 주고받는 프로토콜만 추가해서 개발하면 된다네요.

 

프로그래머 입사 2일 만에 출장 가서 보니 어디 큰 창고에 2~3업체가 장비 만들면서 뽁짝거리고 있더군요. 


중간에 프로그램이 만들어져야 한다는데 프로그램은 PLC 통신, RS232 통신, Socket 통신하며 정보를 주고받아야 된답니다.


기존 개발된 것 없습니다. 새로 만들어야 되고요.

일정은 7일도 안 남았는데 그 이후 시생산이 들어간다고...(현충일 빼고 토요일 일요일 빼면 4일) 업무 설명 듣고 내려와서 RS232 통신할 리더기와 PLC 미츠비시 남는 거로 프로그램을 만들게 되었습니다.


이게 뭐지 ... 하면서 개발하는데 입사했으니 초반에 뭐라도 보여는 줘야겠다 싶어 집에서도 개발하며...거의 완성되는 찰나...  FA 회사 부사장님이 면담하자네요

"입사한 지 얼마 되었냐?"


"3일째 되었습니다"


"음~회사 와보니 어떻나?"


"일이요? 사람이요?"


"응~일"


"아 어저께 출장 갔다 오고 열심히 만들고 있습니다..."


했더니 부사장님 표정이 어두워지시고 어이없어하십니다. 왜냐면 저는 이쪽 파트가 아니고 다른 쪽 프로젝트에 붙어서 지금 잘 하고 있는 줄 알았다고 하더군요 (부사장이 밀고 있는 프로젝트거든요)


"누가 시키더냐?"


"K이사가요"


"...내가 정리해 줄께..."


"부사장님 저 월요일 또 진천에 출장 가야 된다는데요..."


"응? 알았다 내가 정리해줄게"


그러곤 월요일 거의 70% 정도 구현이 되어 가는 프로그램을 박K이란 사람에게 인수인계해주고 해당 프로젝트로 붙으라네요.



하여튼 일정은 촉박한데 이제 모듈들은 다 만들었으니 서로 조합만 하면 되는 부분이라 박K에게 인수인계했습니다. 그런데 박K는 개발언어 모른다고 자기가 아는 언어로 컨버전하겠다더군요... 일정촉박한디....


하여튼 인수인계 후 저는 부사장이 밀고 있다는 이곳으로 붙었습니다.


갑자기 용인에 출장 가야 한다고 합니다. 왜냐면 이 프로젝트를 알고 있는 L부장이 힘들어서 회사 나가겠다네요.


그런데 FA 회사 업무는 L부장 외에 아는 사람이 없으니 그 부장 나가면 장비만 넣어서는 절대 안 돌아간다고... 올라가서 교육 들으랍니다.


첨엔 비상사태라 유류 인력들이 잡혀 있었습니다.

그런데 프로그래머 박K는 H사 프로그램이 생각 외로 기능이 늘어나 진천으로 빠지고 누구는 뭐 때문에 파주 가야 된다 해서 빠지고 오만 이유를 대가며 다 빠지고는 저만 남게 되더군요.

그래서 하드웨어 쪽 J차장과 같이 용인에 출장 가는데,


"거기에 L부장 외에 L프리가 있는데 이미 3개월 전부터 분석한 자료 있으니 그거 받으시면 됩니다" 


고 하더군요.


올라갔습니다. 이쪽 계통 첨이니 잘 부탁한다 전체인사하고 나중에 개발자 L프리랜서 분과도 얘기 나누며 물어보니... 분석한 게 1도 없습니다.


그 와중에 하루 용인에서 파주 출장 갔었고요. 그래서 프로그래머 L부장 나가기 전에 알 수 있는거 다 알아내야 한다고 ... 그 다음 주도 용인 출장으로 잡더군요. 그러면서 벌써 4주째 출장 다녔습니다.



그 사이 FA 회사 L프리랜서는 L부장의 괴팍함에 6개월 계약을 3개월로 줄이고 그만뒀습니다.


L부장은 질문을 하면 대놓고 짜증 내고 한번 알려줬지 않냐며 한숨 퍽퍽 내쉬고 핀잔부터 줍니다.


"저런 사람 뭐냐 도대체 같이 일할 사람은 아닌 거 같다"


고 나도 짜증 나서 말하니 J차장은 그래도 프로그래머 L부장이 업무 다 아니깐 나가기 전까진 어쩔 수 없이 많이 물어봐야 된다고 ...


참고 3~4주를 물어봤습니다. 매번 물을 때마다 핀잔에 대놓고 한숨에... 욕했으면 얼굴 날려버렸을 텐데...


설계서 진짜 1도 없어요...소스 안에 주석요? 하늘에 맹세코 한 줄 찾을 수가 없더군요. 기존소스 중에 필요 없는 부분을 막는다고 /*....*/ 는 있어도 코딩 설명 진짜 한 줄도 없습니다.


그렇게 참는 와중에 장비를 중국에 2대 보내야 한다고 일 좀 도와달라더군요. 뭐지? 하며 내려갔다가 상판/하판 중에 상판에 볼트 넣을 구멍을 뚫어야 한다고 드릴 같은 걸로 흰 바지 기름 묻어가며 철가루 날리며 뚫었습니다.


그다음 날은 볼트 개수 맞춰야 한다고 세어서 봉지에 담았고요.  

다음날은 보드에 스티커 붙여야 한다고 해서 붙이는 작업을 공기 불며 했고요. 케이블 덕트로 케이블 묶는 작업도 했네요.

참다 참다... FA 회사 J차장에게 따졌습니다. 문서도 없고 주석도 없고 기간도 없는데 내가 뭐 하는 거냐... 그랬더니 이미 프로그램 개발했던 사람들은 다 나갔다...저보고 경력자이시지 않냐고... 이런 거 많이 겪어보셨잖아요 하면서 이런 쪽은 개발만 하겠다고 하면 안 된다고 이거저거 다 하셔야 한다고...


앞으로 이런 부분 저런 부분 다 챙기셔야 하고 업무 다이어그램 다 그리셔야 되고 기본은 하셔야 한다고...


"이 지경까지 오도록 하는 중에는 뭐해 놓고 이제 와서 나보고는 기본 지키라 하는 건지 답답합니다!"


하고 말을 말았습니다.

그리곤 3일 전 J차장과 업무 얘기 및 일정 잡는 면담 하다가 싸웠습니다.


자기들이 다들 나한테 배려해야 되는 거냐고 묻더군요.

아니 문서 없고 주석 한 줄 없고 소스 분석할 시간도 없는데 케이블 묶으라니 철판 구멍 뚫으라니 하면서 시간 필요하다고 하는 게 배려해주는 건가요?


문서 달라...없다... 네 거기서 없으면 그만인 거죠. 하지만 개발자 뽑아놓고 뭐 하는 건지 모르겠습니다.


그래서 퇴사를 얘기했고 금일 부사장한테 가서 사직서 힘차게 주고 나왔습니다. 이번 주까지만 다니고 퇴사하게 되었네요.


공장 자동화 업계에서 일하는 기분이랄까 ...공장 자동화 업계에서 일하는 기분이랄까 ...


여기 소스도 분석하다 토하는 줄 알았습니다. 매크로를 이따위로 쓰는 프로그래머들이 있네요.


1
2
3
4
5
6
#define A       class X { public: X(){...}  ~X(){...}  char **net;   int scu[100];  cgar *_arg; .....
#define B       };  int main(int argc, char *argv){... X a;   a.run(argc. argv); }
#define C(n)    switch(n) { case 10: ....;
#define D(n)    case n: C(xx);,,, E(yy)....;
#define E(n)    case n: C(zz); ....;
....
cs


1
2
3
4
5
6
7
8
9
10
11
A
void run(int argc, char *argv)
{
  ....
  ....
  C(10)
  D(20)
  E(30)
  ....
}
B
cs


잘 아시는 분은 바로 보시겠죠? 제가 아는 기준에 저런 어이없는 건 뭔지 모르겠네요.

첨엔 main() 함수가 안보이더군요. 


run()이 메인 함수인 듯 인자가 있더라고요. 나중에 A와 B 매크로가 앞뒤에 있길래 그걸 풀어봤더니 run()이 클래스 멤버 함수가 되고 그걸 매크로 B안에서 객체를 만들어 run()을 호출.... 즉 A가 클래스 열고 블라블라 B가 클래스 닫고 메인 함수가 있고 거기서 블라블라... 와...

그냥 저건 간단하게 쓰자고 만든 게 아니라 FA 회사 L부장인지 그 전 사람인지 자기만 알도록 아주 꼬고 꼬아놓은 겁니다. 제가 사장이면 저래 개발하는 사람 자릅니다.


안 그래도 최근 1달 사이에 이 회사의 핵심 기술 아는 인물들이 이번 달 내지 다음 달 내로 퇴사하겠다고 한명 한명 사직서 썼습니다... 회의 참석도 안 해요.


날 뽑아준 K이사까지 20일부로 퇴사했고... 그 와중에 장비 FOB 하여 보냈으니 S/W 개발자 투입하랍니다. 해외로... 프로그램을 여기서 안 만들고 가서 현장에서 승압복 입은 채로 개발해야 한답니다.... 장비 안정화하는데 6달 7달이랍니다.


진짜 초반에 회사 잘못 선택했나 봅니다.

왜 제가 입사 전에 개발팀 한팀이 단합하여 우르르 퇴사했는지 알 것 같습니다.

하여튼 사직서 내고 후련한 경우는 진짜 처음입니다.


FA 절대 가지 마세요!!!!!!!!!!!!!!!


PROGRAMMER 이직 ? 공장 자동화는 피해!PROGRAMMER 이직 ? 공장 자동화는 피해!



발췌는 여기까지고요.

이 바닥이 갈라파고스처럼 고립된 분야라 엽기적인 일이 아무렇지 않게 발생하기도 합니다. 위 사례도 fa 분야 안 좋은 특징 중 하나입니다.


좋은 회사 가뭄에 콩 나듯 종종 보이긴 하는데, 지방 공장 자동화 업체는 정말 답이 없어요.

가끔 연봉 2억 FA 개발자도 있던데?? 라는 말하는 분들이 있으신데요. 그런 분들은 FA 안 해도 다른 분야에서 2억 받을 분이니 평범한 사람이랑 비교하면 안 됩니다. 야구선수라고 다들 박병호만큼 홈런 치는 거 아니잖아요. 착각은 금물이고.


여하튼, 저도 FA 분야에서 조금 굴러봤는데 ... 정말 이 바닥은 답이 없습니다. 엽기적인 방법으로 살아남은 사람들은 위 사례처럼 본인 밥그릇 뺏기기 싫어서 더러운 짓도 참 많이 하거든요. 다른 분야도 비슷한 사례 있겠으나, FA는 정말이지 ... 고인물 of 고인물 수준이라 정화가 안 됩니다. 다른 분야는 희망이라도 있지 ...


FA 업계 관련 글

전직 FA 개발자가 이야기, 반도체 장비 전망은 별로

프로그래머, FA(공장 장비 자동화) 회사가 개발자에게 안 좋은 이유

답답한 FA 분야 프로그래머 일하는 스타일, 개발자 자질 문제

개발자 취업하고 생각해보니 - FA에선 증명 못 하는 내 능력


댓글

Designed by JB FACTORY