2020년 11월 16일 첫 글로 끄적여본다.
유사 전공 대학시절 이론만 하던 수업과는 다르게 간단한 기초만 하는 코딩 수업이 더 쉬웠다.
교수님이 개발자 하려면 국비학원을 가면 된다는 말에 철석같이 믿고 (선배와 동기들도 국비가서 개발자됨)
4학년 이후에 교수 추천으로 강남에 있는 2대 국비학원을 갔다.
지금 솔직하게 말하자면 국비학원이 아닌 다른 방식으로 개발자가 되는걸 추천
여기를 참고하세요. jojoldu.tistory.com/505
국비학원 수료하고 첫회사에 취업했는데
첫날부터 야근을 하고 주말도 출근&야근하는 생활이 시작되었다
같이 플젝하는 직원 모두 나보다 한두 달 먼저 들어온 신입들...
이후 들어오는 직원도 신입뿐 경력자는 없었다
알고 보닌 첫 회사가
okky.kr/article/735343
여기서 모든 항목이 해당되는 악덕회사 였다. (뻥튀기 없는 것처럼 직원을 속이고 파견보냈다.)
회사내에서 사건&사고가 많이 발생했지만 TMI라 넘어가고 (SI 회사는 피하세요.)
신입 때 공통과 핵심 업무를 담당한 플젝(사건이 많았다.)이 오픈 후 해당 고객사로 파견가고 나서
어느 정도 안정?된 생활을 하게 되었다
솔직히 신입들이 구글링하면서 만든 산출물에서 제대로 돌아가는건 보기가 힘들었다
실시간으로 터지는 다양한 에러들, 나중에 보니 핵심 업무 테이블 구조부터 이상했고
데이터베이스 테이블에 데이터는 수천~만건인데도 select join 쿼리를 잘못짜서(풀스캔 풀스캔 풀스캔) 조회시간이 40초 넘게 걸리기도 했으며 (사용자가 결과 나올때까지 하염없이 기다리는 모습에 책임감이 느껴졌다)
불편한 기능개선부터 추가해야할 기능까지 너무나도 많았다
중요한건 서비스를 정상적으로 돌아가게 만드는게 가장 급했고
잘못된 점을 하나씩 수정하면서 업무에 대해 심도있게 배울 수 있는 기회가 되었다(기술 발전보다 업무를 배웠다)
그렇게 서비스가 하나씩 정상적으로 돌아가는 모습을 보면서 하루하루 느끼는게 많아졌고
그대로 고객사로 이직하게 되었다
하지만 시간이 지나면서(3년차) 큰 고민과 선택 의 순간이 찾아왔다
1. 현재 수준에 만족하는가? (연봉, 기술스택, 환경 등)
-> 만 2년차에 복지, 연봉은 불만없이 다니고 있다. 하지만 여긴 개발회사가 아니다보니 회사자체에서 개발자를 단순 보조인력으로 취급되는 경우가 많았으며 연봉상승률은 낮았다, 전체적인 문제가 생기면 위에서는 IT인력을 쉽게 짜르는 경향이 보였다.
또한 기술스택도 레거시 기반이다보니 다른 플랫폼과의 기술스택 격차도 많이 느껴졌다. 그리고 개발자가 너무나도 부족하다.(21년 4월 - 남은 개발자도 퇴사했다는 소식을 들었다...)(21년 12월 - 남은 기획자도 퇴사했다는 소식을 들었다...)
2. 미래엔 뭐하고 있을까?
-> 계속 이 플랫폼에 기여하면서 지내도 괜찮을꺼 같기도 했다.
회사 자체에서 오프라인에서 온라인 플랫폼으로 변화하려는 노력?(착각인지 모른다)도 있고,
현재 IT를 대충생각하는 옛날 마인드를 가진 분도 있긴 하지만 젊은층은 그래도 개발자의 중요성을 알고있다.
더군다나 이 플랫폼을 중심으로 일하는 직원 모두 지금보다는 미래엔 더 잘될꺼라고 확신하고 일하고 있다.
하지만 문제는 혼자 인강이나 책을 봐도 이 부족함을 제대로 이끌어줄 존재도 회사내엔 없었다.
"공부한다해도 이미 틀이 레거시로 잡힌 상태에서 새로운 틀로 바꿀 수 있을까?"
"연봉상승률도 생각해보면 그 때가 되면 진짜로 만족스러울까?"
"그리고 후임 개발자가 들어오면 제대로 알려줄 수 있을까? 지금이랑 같은 수준을 알려주고 있지 않을까?"
시간이 갈 수록 점점 부정적인 생각이 들기 시작했다.
3. 개발을 하면서 추구하고 싶은것은?
-> SI 시절엔 단순히 결과만 빠르게 나오면 잘한다는 소리를 들었다. 신입 땐 그 소리가 좋아서 빠른 화면구현만 중시했다.
하지만 직접 플랫폼 서비스를 하면서 결과가 중요한게 아니고 과정이 더 중요하게 생각하게 되었고, 지금까지 내가 공사장 막노동꾼인걸 깨달았을때엔 만 1년이란 시간이 허비했었다.
그 후 만든 플랫폼이 서비스하면서 생각하게 되고 겪게 되는 것들
- 업무프로세스에 대한 이 테이블 설계가 맞을까? 훗날 문제가 생기지 않을까?
- 과연 이 INSERT, UPDATE, SELECT, DELETE 방식이 맞는건가?
- 왜 문제없던 곳이 사용자가 많아지면 여기서 문제가 생기는가?
- 왜 갑자기 에러가 발생했지?
- 왜 잘되던 브라우저도 어느순간 결과가 달라지니?
- 과연 이렇게 개발하면 추후에 변화가 생겨도 쉽게 수정할 수 있을까?
- 알고보니 기본적인 건데 왜 몰랐을까?
- 개발 커뮤니티(오픈 톡방)에 들어갔는데 언급되는 기술과 개념을 전혀 모르겠다. (내가 알던 지식이 머나먼 조상뻘 취급 당한다)
- 왜 이 교육을 이제서야 알게 되었을까.
내가 올바른 개발자가 맞는건가?
이제 앞으로 어떻게 해야할까?
고민을 거듭하다 퇴사하기로 결정했다.
흔하디 흔한 국비학원 출신 개발자의 이야기다