갤에 스타트업 관련 글이 좀 올라오길래 재미삼아 서비스, SI, 스타트업 차이점에 대해 써볼까함
이 글은 특정 업종을 비하할 의도는 없으며 어째서 문화가 다른지에 대해서만 설명할거임
SI
SI 생태계는 대부분 자프링과 소수의 PHP 기반으로 굴러가며 소규모를 제외하면 대부분 파견 업무임
Git 대신 SVN을 사용하거나 형상관리 자체를 하지 않는 곳도 많으며
엑셀 기반 WBS로 일정을 관리하고 카톡으로 소통하는 등 인프라가 상대적으로 낙후되어있음
SI의 핵심은 정해진 기간 내에 기능이 돌아게게만 만들면 됨
테스트코드는 물론이고 데드락이나 레이스컨디션 같은 이슈에 대해서도 딱히 고려하지 않으며
그냥 정해진 스펙을 정해진 기간 안에 싸기만 하면됨 딱히 빠르게 만들 필요도 없음
왜냐? 분산 환경에서도 동시성 이슈가 없어야한다 <- 요구사항 명세서에 없거든
그래서 트러블슈팅이나 아키텍처 설계 보다는 구현 능력이 실력의 척도임
실제로 맨먼스 기준으로 성과가 매겨지므로 구현 속도가 빠르면 높은 성과를 받을 수 있음
그래서 SI 경력밖에 없는 개발자의 경우 개발 실력에 대한 감을 잘 못잡는 경우가 많은데
본인의 세상에서는 구현 잘하는게 곧 실력이거든 고 트래픽 환경에 대한 이해나 트러블슈팅에 대한 감이 거의 없고
CS 지식도 상대적으로 중요도가 떨어지지
그런데 다르게 생각하면 걍 구현만 잘하면 되는거임
맨먼스 기준으로 돈을 받기 때문에 본인만 잘하면 성과에 대한 압박도 상대적으로 적고
경력 기준으로 단가가 어느정도 고착되어있다보니
따로 공부 안하고 노력 안해도 공무원 호봉 올라가는거 마냥 알아서 단가가 올라감
1년차든 5년차든 난이도나 속도의 차이는 있겠지만 결국 구현만 하면 되는거임이게 어떤 사람들에게는 단점이겠지만
어떤 사람들에게는 엄청난 이점임
서비스
인하우스 개발이 기본이며 자프링이 많긴 한데 노드, 파이썬, 루비, PHP 등등 SI에 비해 다양함
Git 사용은 기본이고 슬랙, 데이터독, 그라파나, 센트리 등 고도화된 협업 및 모니터링 툴을 적극적으로 도입하기 때문에 초기 적응이 좀 어려울 수 있음
서비스가 SI와 구분되는 가장 큰 차이는 성과 측정 방식임 거의 대부분의 서비스/SI 차이점이 여기서 나온다고 할 수 있음
SI가 맨먼스 기반의 개발 자체를 성과로 본다면
서비스는 개발 자체 보다는 서비스의 매출, 리텐션 MAU 등의 비즈니스 지표가 성과의 지표임
막말로 개발의 신이라도 매출 떨어지면 죄인임
특히 장애 발생이 곧 매출 하락으로 직결되므로 사이드이펙트 통제와 트러블슈팅 역량이 곧 실력이며
CS 지식과 안정적인 아키텍처 설계 역량이 중요함
서비스는 서비스의 규모, 운영한 시간에 따라 SI에 비해 다양한 경험이 가능함
보통 3년 정도의 서비스 사이클을 겪어야 실질적인 운영 노하우와 예외 상황 대처 능력이 쌓임
ㅈ타트업
내 경력에서 가장 긴 경력이 스타트업 경력들임
스타트업은 워낙 회바회가 심해서 일반화하기는 어려운데
내 경험을 기준으로 써보겠음
스타트업의 가장 큰 특징은 돈이 없다는거임
당연히 캐시카우도 없고 투자를 받았어도 길게 운영하기는 부족함
마케팅 비용을 밑빠진 독에 물붓는거 마냥 써야하므로 항상 돈이 부족함
근데 왜 스타트업에서 개발자한테 돈을 많이 주냐?
제대로된 개발자를 구하려면 줄 수 있는게 돈밖에 없어서 그럼
스톡옵션이나 지분?
스타트업에서 스톡옵션이나 지분은 휴지조각보다 못함 휴지조각은 똥이라도 닦을 수 있잖아
스타트업에서 필요한 인재는 혼자서, 알아서, 빠르게 A 부터 Z 까지 할 수 있는 인재임
이런 인재가 뭐가 아쉬워서 성공확률이 1% 미만인 도박에 투자하겠음
돈이라도 많이 주니까 도박판에 앉힐 수 있는거임
스타트업에서 자프링이 죄악임
스타트업에서 가장 중요한건 MVP를 빠르게 찍어내는거임문제가 좀 있어도 괜찮음 빠르게 만들어서 시장 반응 확인하고 안되면 다른 방법으로 넘어가야함개인적으로 노드도 과함 루비나 PHP를 사용해서 모놀리틱으로 프론트/백엔드 안가리고 빠르게 찍어내는게 압도적으로 생존에 유리함
성능 좀 떨어져도 됨 어차피 트래픽도 적으니까
잘돼서 트래픽 늘어나면 그때 생각해도 늦지 않음
지금 잘나가는 서비스들 중에서도 루비나 PHP 레거시가 아직 남아있는 회사들 많음
대표적으로 루비는 당근, PHP는 우형이 있지
가끔 신생 스타트업에서 자프링, 코프링 등등 기술스택을 사용한다고 하는데
망한다고 단정지을수는 없지만 엄청난 페널티를 안고 운영하는거임
경험상 스타트업 경험이 없는 대기업출신이나 개발 뽕 찬 ㅂㅅ 개발자를 잘못 채용하면 이 방향으로 감
ㅈ타트업에서 가장 경계해야되는 상황은 대표가 갑자기 외주 개발한다고 설치는거임
나도 많이 겪어본 상황인데
전지적 대표 관점으로 생각해보면
당장 매출도 없고 서비스 성공은 갈수록 자신감이 떨어지고 내 돈은 계속 나가고내 피같은 돈은 계속 나가는데 개발자새끼는 맨날 앉아서 노는거같고
자체 서비스 개발하나 외주 개발하나 그게 그건데 외주 개발도 병행하면 고정비도 메꿀 수 있음
현실적인 이유로 기보 대출이나 투자도 매출이 좀 있어야 받기 수월하니까
그래서 성과금으로 외주 하자고 개발자를 꼬시지 프로젝트 하나 완료할 때 마다 성과금 준다고
그럼 자체 서비스 개발하는줄 알고 입사한 개발자는 좀 곤란해지지
그래서 싸우는 경우도 많고 퇴사하는 경우도 많음
근데 상식적으로 생각해보자 외주 한다고 상황이 나아지나?
외주 프로젝트를 어디서 받아올건데?
외주에 최적화된 SI 업체들 제끼고 프로젝트 수주한다?
현실적으로 가능한 방법은 외주 개발 경험 없는 회사 통수치거나
단가 후려쳐서 수주하는 방법밖에 없음
이렇게 외주 프로젝트 수주하더라도 문제인게 기존 개발자 연봉이 높다는거임
단가 후려쳐서 수주했는데 기존 개발자는 SI 특화 인재가 아니라서 속도는 안나오고
기존 개발자는 서비스 개발도 해야하는데 외주 개발도 해야하니까 일은 늘어나고
걍 최악의 상황이 되는거임
그래서 하고싶은말이 뭐냐
스타트업 입사를 고려할 때 가장 중요한건 여유 자금이 있는지 확인하라는거임
2탄은 스타트업의 기술부채가 왜 심한지 기술부채가 심하면 어떻게 헤쳐나가야하는지에 대해 써볼까함
절망편은 그래서 주니어부터 채용해서 이것저것하다가 서로 상처받는거.. - dc
언어에 따라 속도차이가 난다는 부분에서는 동의하기 힘든데
실제로 속도차이 존나큼. AI이후 C C++ RUST 뜨는 이유가 그전까지 엄두를 못내다가 생산성이 올라서 그런거
실제로 개발 속도 차이가 꽤 많이남 기능 하나를 추가한다고 가정할 때 보편적인 스택인 자프링 + Next 기준으로 백엔드에 엔티티, 엔드포인트, 요청/응답 DTO, 서비스, 레포지토리, 마이그레이션 등등 만들고 프론트에도 요청 API랑 요청/응답 타입을 만들어야함 근데 PHP 쓰면 MVC면 끝임 타입 정의 필요없이 php 파일에 $value면 됨 물론 JSP를 쓸 수도 있겠지 근데 그럴거면 자프링을 왜씀?
ai로 이런상황 전부개박살나서 1,2,3 주니어 다짤리고 시니어도 도메인 업무설계아니면 다백수된다봄
나는 스타트업이 오히려 AI 영향을 덜받는다고 생각하는게 스타트업에서는 개발 난이도가 중요한게 아님 경험적인 직관으로 중요도를 판단하고 트레이드오프를 선택하는게 중요함 예를들어 숏폼 서비스 개발 시 HLS vs 스트리밍을 고려할 때 AI는 HLS를 쓰라고 할거임 보편적이고 서비스가 커졌을 때 트래픽 비용을 절감할 수 있으니까 근데 스타트업에서는 스트리밍 방식이 유리할 수 있음 왜냐? 트래픽이 적기 때문에 트래픽 비용 절감 효과보다 HLS 인코딩 비용이 클 수 있거든 개인적으로 AI가 이런 판단까지 도달하려면 아직 멀었다고 봄 다만 주니어가 AI 때문에 더 어려워졌다는건 동의함
기술적허영부리는 분위기는 ai가 전부 개박살내준거같긴함
오 ㅈ타트업 기술부채 너무 궁금함..
글좋은데 -
재미나게 잘 읽었어요