2년차 한 개발자의 스펙타클한 인생이야기
프로그래밍 공부만 총 5년간 함.
처음 국비로 웹 & 앱 개발로 자바를 1년간 배움.
(Php jsp html css 이클립스 oracle 데이터베이스 안드로이드)
그리고 취업을 바로 안하고 게임쪽 배우고 싶어서
학비를 벌기 위해 노가다를 함.
그리고 게임쪽 전문학교 다니면서 2년을 배움.
(C#,유니티,데이터베이스,리눅스,네트워크,해킹,보안,vb)
-분명 게임프로그래밍쪽인데 잡다한 이상한것도 배움.. 문제가 좀 많아서 혼자 구글링하면서 나름 게임 어플 졸업작품 만들어내긴 했음.
그리고 게임잡에서 취업활동 하는데 내가 모르는 기술이름들이 70퍼정도 됐음.
이딴 실력으론 제대로 프로그래머로 취업못한다 판단하고 학원등록 함.
게임학원에서 1년간 자료구조 winapi(쌩코드로 윈도우 창짜는것부터 다 외우게 했었음.) DirectX 2d 3d
수학 오지게 들어감.
- 선형보간 구형보간법 삼각함수 메트릭스 행렬 (그 유명한 머신러닝 개발때 쓰는 수학 1번)
난 수학 못해서 삼각함수까진 응 할만하네였는데 행렬부터 지옥을 맞이했었음.
그렇게 1년간 프로젝트를 2d 3d 만들고 취업하려했는데
연락을 아무도 안줌... ㅠㅠ
이력서 쓰면 다 빠꾸당함.
그리고 행렬에서 지옥을 겪은 자신을 보면서 프로그래밍이 나랑은 인연이 아닌가보다하고 관두려고 했음.
근데 삼촌한테 연락와서 plc 배워보겠냐는 얘길듣고...
그래 이거라도 배워보자하고 면접을 보러 갔는데
대표: 음? C언어 했었네. 마침 개발자 필요했는데 이거 개발해봐. 5년만 버텨도 연봉 6천 챙겨줄게.
이 얘기 듣자마자 아 아직 하늘은 날 버리지 않았구나하고
게임개발쪽에서 응용개발자로 바뀌기 시작함.
근데 이 수십명중에 개발자는 나혼자였고 난 이상황에서도 기죽지않고 전력투구 했음.
혼자개발하는건 겁나게 익숙한 생활에 살다보니
Plc 통신 메뉴얼보고 뚫어버리고
당연히 게임쪽을 배우던 내게는 응용 프로그램 view쪽 만드는건 장난 똥자루 수준이였음.
그것도 wpf나 mfc나 winform같은건 당연히 winapi써서 아주 구조부터 기능 다 파악하고 만들던 내게는 매우 반갑고 행복한 툴로 보였음.
그렇게 1년간 개발하면서 여기서 내 성장폭이 어마어마했음.
혼자 개발한다고 실력 안느냐?
이건 개소리라고 생각함.
개발 환경만 받쳐주면 진심 실력 어마어마하게 늘수 있다고 느낌.
일단 난 하드웨어쪽이랑 같이 하다보니 부하테스트라는걸
어마어마하게 했는데 서버도 만들었음. 리눅스 이용해서!
멀티 쓰레드 돌릴때 프로세스단위로 어떤 형태로 도는지부터 시작해서 크리티컬섹션 방지를 위한 뮤텍스 세마포어를 익히고 멀티 프로그래밍으로 cpu 100퍼까지도 올려보고 이를 해결하기 위한 방법과 구동중에 메모리릭을 없애기위한 수단과 방법을 가리지않고 모든 인터넷 자료를 찾아다니면서 실력이 늘어갔음. 그리고 혼자 만든 프레임워크를 수도없이 리펙토링하면서 바꿔나갔고 멀티프로세스의 필요한 시점과 멀티쓰레드의 필요한 시점에 대한 파악을 할줄 알게되며 dll을 이용한 직렬통신과 마샬링기법이나 c#에서 json보다 빠르다는 제로포메터 통신도 사용해서 프로그램을 개발해갔음.
이렇게 해서 현대자동차쪽에 barcode tool 서비스 하였고 풍기산업쪽에 센서 하이비스 시스템과 팔레트 자동 이력프로그램에 plc 부하를 대신 받아줄 linux centos server와 회사 통합툴 프로그램(이놈은 기능이 너무 무수하게 많아서 완성 못함..) 이렇게 1년 3개월정도 개발하다가 이직을 결심함.
위에 프로그램은 전부 혼자서 만들었으며 현재도 자동차 산업쪽 설치된곳에서 그대로 쓰고있으며 프로그램 예외처리가 아주 잘되어있어 문제된적이 거의 없었던 내 자랑스러운 프로젝트임. 메모리 릭도 확실히 잡았고 터질일도 99퍼센트 없다고 볼수 없음. 혹시모르니 1퍼는 남겨둠.
완벽한 프로그램은 없으니까 ㅋ
이직하고서도 이전회사에서 바코드 툴 프로그램 확장할때 돈받고 해주러 간적도 있음.
그리고 내가 여기서 이직을 결심하게 된건 내가 개발하는 방식이 정답인지 확답할수 없었고 대표가 개발자를 충당을 안해줌.
평생 나혼자 개발하다가 늙어갈 기세였음.
그리고 국방부 프로그램 개발쪽으로 이직을 했는데
처음엔 국방부 재밌겠는데?하고 들어갔음.
뭐 기술 시험 보고 면접 보고 합격해서 가뿐히 들어가줬는데..
여기서 ㅈ됬음..
들어가자마자 프로젝트 투입했는데 프로젝트 납품 기간이 겁나 촉박한 상태였음.
들어가자마자 과장이란 사람이 c#하셨죠? 이거 만드세요. 하더니 대충 프로그램 설명하고 나한테 던짐.
일단 프로그램 이해는 해서 ffmpeg 라이브러리를 이용해 관리자 다중 분할 영상 제어 프로그램과 그 제어를 받을 콘솔용 영상 프로그램과 그리고 각 콘솔과 관리자 프로그램에서 녹화 시작 중지 종료가 가능한 프로그램을 1달정도 해서 만들었음. ffmpeg은 이때 써본거라 사용법좀 익히는데 좀 걸림.
그리고 나서 콘솔쪽 프로그램에서 음향에 따른 도트 찍는 화면을 내가 맡아서 만들었음.
근데 ㅅㅂ 이게 그라데이션이 적용해야된다고 함..
여기서 ㅈㄴ 멘붕옴.. 이게 픽셀단위로 도트 찍어내는데
색상이 그라데이션이 표기 돼야된다는거임.. ㅋㅋㅋㅋ
얼척이 없었는데 일단 거기서 20년 개발하셨던 강력한 개발자분께 조언을 듣고 개발에 착수하여 성공함.
뭐 대충 방식은 삼각함수에 사용되는 공식을 사용하면 0에서 최대 1까지 자연스럽게 올라가게 할수 있음.
원래 각도값 구할때 × 180을 뺀상태라고 보면 됨. ㅋㅋㅋ
이걸 이용하면 도트로 쭈우우욱 가면서 그라데이션이 그려짐. 좀 글로 설명하려니 어려우니... 암튼 그걸 완성하고
20년 개발하셧던 우리 이사님의 프로젝트에 붙어서 툴에 도형 그리기와 notify 내부 동작을 이용한 소나가 좌표를 받아 움직이는 화면을 개발함.
그리고 서비스 하고 닥 퇴사 함.
이때 퇴사 이유는 너무 강력했음.
일단 난 한달에 2번은 기본으로 3일 밤샘을 함.
그냥 말그대로 3일간 밤샘.
빨간날 full 출근함.
토요일 일요일 빠꾸 없고,
여기 다닐때 칼퇴하면 11시 퇴근임. ㅋㅋㅋㅋㅋ
아.. 진짜 내가 이때 프로그래밍하다가 과로사한다는게
이렇게 하면 과로사할수있겠구나 했음 ㅋㅋㅋㅋ
이때 문제는 개발 납품기간이 지나서 위약금 물어주던 상황이라 그랬다고는하지만 ㅋㅋㅋㅋㅋ
난 뜬금없이 회사 오자마자 무슨 피똥을 싼건지 모르겠었음. 그리고 이때 수습기간 3개월까지 붙어있었고 월급 최하 70퍼센트였나 해서 지급되고 야근수당 이딴거 없이 저렇게 3개월간 출근하니 진짜 무기력해지는 기분이였음.
근데 내 개발자로써의 자존심.
프로젝트는 끝내고 관둔다라는 이 망할 프라이드가
내 몸을 지옥으로 대려갔음..
그리고 퇴사하고 게임사업 한다고 사무실 구하고
디자이너 2명 구해서 게임개발했다가 폭망함.
매출은 답도 없고 사무실비용부터 인권비 감당 안됐음.
아직 사업에 깝칠 시기가 아니였던거 같음..
그렇게 돈도 까먹고 다시 회사 입사를 노림.
프로젝트 올려놓고 이력서 공개하니까 연락이 오지게 옴. 이곳저곳에서 ㅋ
그그래서다 면접을 보러 다니다가 중소기업에서
이번에 차세대 pos프로그램을 만든다고 함.
그리고 연봉을 겁나 쌔게 불러서 바로 계약서 씀.
면접 보러간곳중에서 중견기업들 있었는데
진짜 ㅅㅂ 연봉 양심 출타했더라... 하...
그리고 지금 정착해서 프로젝트 아주 날라다니면서 행복한 프로그래머 삶을 살고있음.
여태 회사생활하면서 관둘때 전부 붙잡았었고
특급승진얘기도 나오고 연봉 상승 얘기도 나오고
실력도 인정받고 했지만
저거에 현혹되지 않기를 바람.
그리고 내가 첫회사 관두고 두번째 회사갔을때나 앞으로 회사까지 왔을때 느낀거지만 내가 혼자 개발할때 짜던 코드들은 모두 정답이였음. 현업에서 모두 사용하는 로직들과 별반 다를것 없었으며 이것은 차차 그냥 회사생활하면서 배우면 될일이였음.
현재 경력 2년 반 정도 됬는데 연구실에서 엄청나게 인정받으면서 회사생활 재밌게 하고있음.
정말 스펙타클한 인생을 이렇게 적어봤는데
무진장 기네요 ㅋㅋㅋㅋ
읽어주신분들 모두 재밌게 보셨으면 좋겠고
다들 돈 많이 벌고 재밌게 일도 하자구요!