소프트웨어 사색

SI,정부과제 vs 서비스 vs 솔루션 장단점

[하마] 이승현 (wowlsh93@gmail.com) 2022. 3. 14. 12:55

20년 경험으로 두서 없이 적어 보았습니다. 당연히 모든 경우가 아래의 경우에 해당하진 않습니다. 
회사 규모,제품과 회사 지향점, 리더들의 특성 및  본인의 위치등에 따라 달라 질 수 있으며 
정해진 답이 없기에  맞다 틀리다 보다는 본인의 경험에 대해서 댓글에 적어주면 후배들이 보기 좋을 거 같습니다.

SI 와 정부과제)

장점 :

1. 새로운 기술 분야/도메인의 도전을 할 기회가 비교적 쉽게/자주 생깁니다.
  1-1. 새로운 기술분야를 도전(경험)할 기회가 있다. 전공이 아닐지라도(인공지능,빅데이터,블록체인등등) 
  1-2. 새로운 도메인 분야를 도전(경험) 할 수 있다. (은행,병원,통신 등등)
2. Low risk / Low Return이다. 즉 정부 돈, 갑의 돈으로 할 수 있으니 부담이 없습니다.
3. 결과물의 품질에 대한 기대치가 낮으므로 해당 스트레스는 덜 합니다.

4. 갑들이 다 망하기전에 내(을)가 망하지 않습니다. 밑에서 주워먹으니까..위에 몇개라도 있으면 됩니다. 
5. 글쓰기를 연습해 볼 수 있습니다. 제안서를 50페이지 잘 써보는것은 중요한 통찰력을 줍니다. (업계현황분석, 기술분석, 제품의 목적 및 로드맵 분석, 시장현황 분석등등) 
6. 진입장벽이 낮습니다. Low risk이기도하고 틀에 박힌 업무를 하는 경우 신규채용의 허들이 매우 낮아 질 수 있습니다.
7. 팀원뿐만 아니라 발주처(국가조직 및 외부회사)와 지속적인 의사소통을 하며 다양한 사람을 만날 수 있다. 개발 이외의 것들에 대한 경험도 많아 집니다.
8. 이직이 비교적 쉽습니다. 프리를 할 기회도 비교적 많습니다.

단점:

1. 발주처와 수주관계에 있어 갑,을 이 명확하기 때문에 고객사로부터 심리적 스트레스를 받을 수 있습니다. 이와 동시에 외부에서 일 할시 소속감이 없어 질 수 있습니다.
2. 정부과제도 그렇고 굳이 쓸 필요가 없어보이는 문서를 써야하는게 괴롭습니다.
3. 5명이 해야 할 일을 혼자 하나의 프로젝트를 맡아서 하는 경우 중압감이 있을 수 있습니다. 
    (다만 계약이 5명으로 되있다고 해도 혼자 할 수있는 분량일 가능성도 높습니다.) 
4. 제안서의 내용은 보통 과하고 애매하기 때문에 , 제안서를 작성한  사업부와 마찰이 생길 수 있으며,
    그걸 구현하는 완벽주의자에겐 고통일수도..
5. 도메인이 자주 달라져서 힘듭니다. 계속 도메인을 배워야 합니다.
6. 대기업이 아닌 이상 연봉이 높진 않습니다. High Return이 아니니 당연합니다.
7. DevOps나 AWS와 최신버전등 먼가 신선해 보이는 경험을 할 확률이 줄어듭니다.
8. 정부과제를 따내기 위한 억지 문서를 만들 때 자괴감이 들 수 있습니다.
9. 먼가를 해 냈다는 성취감이 비교적 적습니다.
10. 계속 똑같은 강도로 일을 해야 돈을 벌 수 있습니다.


서비스)

장점 :

1. 24시간 서비스가 돌아가기 때문에 적절한 긴장감을 갖게 되며,  서비스에 대해 애정이 있다면 오너쉽이 비교적 잘 생깁니다. 
2. 정부과제나 SI에 비해서 테스트코드,소스리뷰가 더 필수적입니다. 역시 실시간성을 갖기 때문입니다. 
3. 한번 잘 개발해 놓으면 투입은 적고 수익이 많이 나는 캐쉬카우가 됩니다. 다른 것을 도전 할 수 있습니다.
4. 고객사로부터 심리적 스트레스를 받을게 없습니다. 다만 오너와 소비자에서 스트레스 받습니다. 
5. 문서 쓸 일이 비교적 적습니다.
6. DevOps나 AWS등 먼가 신선해 보이는 경험을 할 확률은 큽니다.
7. 한번 서비스를 해보면 또 다른 것을 해보는데 자신감이 붙습니다. 이에 따라 기술 스타트업을 창업할 자양분을 얻을 수 있습니다.

단점)

1. 새로운 기술 분야/도메인의 도전을 할 일이 비교적 없습니다. 
2.. High risk / High Return이라 중압감이 큽니다.서비스 죽거나~해당 시간에 구현을 못했을 경우등
3. 오너/팀/소비자에서 스트레스 받습니다. 회사 내에서 서로 탓할 꺼리가 많아집니다.
4. 깊이 있는 기술력이 보다는 빠르고 기민하게 요구하는일이 많습니다. 대신 더 완벽성을 필요로합니다.
5. 뭘 해야할지 뚜렷한 로드맵이 없거나 자주 바뀌는 경우가 있습니다.
6. 망하기 쉽습니다. (오너가 갈아타기 비교적 쉽습니다) 
7. 먼가 한방터지면 크게 벌것 같지만, 본인이 거기에 포함되는 일은 없을 겁니다. 


솔루션/미들웨어) 

장점:
1. 어느 한 분야에 대한 장인이 될 가능성을 높여줍니다. 
2. 특정언어에 대한 많은 것을  깊이있게 사용 해 볼 기회가 생깁니다.

    (각종패턴,동시성,리플렉션,템플릿, DSL 등) 
3. 알고리즘/자료구조를 직접 구현 해 볼 기회가 더 자주 생깁니다. (표준이 아닌 상황에 맞는 구현체) 
4. 기술적으로 성공 하고 사업적으로 성공 해 냈다면 성취감이 매우 큽니다.
5. 성공적인 솔루션을 가지고 있으면, 서비스보다 더 효율적인 캐쉬카우가 됩니다.
6. 엉덩이 무거운 스타일의 분에게 적합합니다.
7. 기민함보다는 충실함이 중요한 분에게 적합합니다.
8.뛰어난 1명이 100명보다 중요합니다.  뛰어난 장인이 있을 가능성이 크며 그에게 배울 수 있습니다. 
(이 분야의 장점은 스승이 공개되어 있다는 겁니다. 어느 회사에 들어가지 않아도 됩니다. 오픈소스가 열려 있으며,배움은 오로지 자신에게 달려있습니다. 기인에 의해서 자신의 실력이 급상승하는 상황은 없습니다.) 


단점:
1. 성공하기 어렵기 때문에 사업적 성취감을 느낄 가능성은 크지 않습니다. (기술적 성취감은 자주느낌) 
2. 새로 조인했을때 보편적이지 않은 기술들에 대한  경험이 부족으로 오너쉽을 쉽게 갖기 힘들 수 있으며, 그때 의욕이 떨어 질 수 있습니다. 
3. 어려운 도전과제가 많습니다. 자존감이 떨어질수도..

4. 이직이 비교적 쉽지 않습니다. 
5. 솔루션을 가지고 SI할 확률이 매우 높습니다. 그때 SI의 단점은 모두 가져옵니다.


각 업종에 대해서 살펴보았습니다.

누군가에겐 좋은 사람도 누군가에겐 나쁜 사람이 되는 곳이 직장이며, 
점점 좋아질 확률 보단 점점 나빠질 확률이 높은 곳도 직장입니다. (엔트로피? ㅎ) 
불안정성이 가득한 직장 생활이지만, 개발자라는 직업은 비교적 안정적이라고 생각합니다.

저는 사람마다 자신의 적성에 맞는 곳이 따로 있다고 생각합니다. 
어떤 곳에서는 실패하거나 적응하지 못했다고 해서, 당신이 실패한건 아닙니다.
더 좋은 곳에서 더 좋은 결과를 낳을 수 있으리라 생각합니다. (다만 코딩을 대하는 자세는 어딜 가나 잘 안 바뀝니다. 매사 진지하게 대하는 버릇이 필요합니다.)
자신에게 좋은 직장을 찾는데 용기를 내시길 바랍니다. 인생 새옹지마입니다.


PS) 업무강도와 연봉은 현재 회사상황이 어떠냐, 얼마나 버는 회사냐, 어떤 리더들이 있냐에 따라서 달라집니다. 어떤 분야의 회사냐, 어떤 직군이냐 보다는~