https://www.clien.net/service/board/park/16790569?od=T31&po=0&category=0&groupCd=CLIEN
개발자 부족현상이 최소 10년이상 지속될거라 생각하는
두번째는 아키텍처 복잡성의 증가, 오버 엔지니어링 현상입니다.
이전글에서 적었던것 처럼, 지속적으로 자기개발을 하고자 하는 개발자들은 문서쟁이, 관리자로 남지않고 ,
퇴직때까지 개발을 하기 바라는 마음이 많습니다.
그래서 회사들은 구인의 어려움에 따라 아이러니하게도 채용공고에 다음과 같은 내용을 작성합니다
Cloud Native Application 설계 가능한 개발자
MicroService Architecture 환경의 개발자
AWS사용이 익숙하신분
K8s, Istio, jaeger, kiali, envoy, ArgoCD, ...
Kafka, Redis
Ruby, Kotlin, Go,
React, Vue, Flutter
개발자들은 요즘 구직할 때 기업을 골라서 갑니다.
특히나 능력있는 개발자들은 그렇죠.
스타트업, 서비스회사입장에서는 투자를 받으려면 뛰어난 개발자가 많아야됩니다.
뛰어난 개발자는 자신의 커리어를 망치고 싶어하지않죠.
(PHP를 하고 싶어하지 않습니다...읍읍..)
즉, 회사의 여건이 되지않더라도 외부의 눈(투자)과 지속적인 개발자 수급을 위해 덩치에 맞지 않는
오버테크놀러지를 도입해야합니다. 그래야만 개발자를 구하고 지속성장이 가능하기 때문이죠.
이는 기업의 인건비 상승을 일으킵니다.(물론 저도 개발자라 높은 연봉받는게 좋습니다.)
이러한 IT업계에서 보이는 현상이 불필요하게 오버테크놀러지를 도입하는 경향이 너무나도 많이보입니다.
하루 DAU는 300명이 되지 않는데 K8S가 들어가고 MSA로 서비스를 개발합니다.
그러다가 어느세 당연한게 되어버렸습니다.
MSA는 대기업에서도 제대로 운영하기 어렵습니다.
수많은 서비스가 우아하고 탄력적으로 확장가능하게 동작하는 이상적인 아키텍처지만
모니터링, 트레이싱, 운영은 카오스기 때문이죠.
MSA의 컨셉은 심플하지만, 운영,개발인력은 더더욱 많이 필요해집니다.
이러한 상황에서 러브콜을 받는 시니어개발자들은 이직하며 팀단위로 이직을 합니다.
즉, 주변의 잘한다는 개발자는 다 데리고 이동합니다.
이때 제대로 대처하지못하면 회사가 엎어지는게 일상입니다.
이러한 현상의 무한루프가 일어나죠.
개발자로서 개발자의 가치를 인정받아 높은연봉을 받는 것이 맞다고 생각하지만,
이는 산업전반적으로 과도한 경쟁과, 출혈을 지속적으로 발생시킵니다.
아키텍트로 일하면서 이러한현상이 과연 옳은 것인가 이따금 고민에 빠질때가 있습니다.
요즘 개발자가 인기라고 너도나도 달려들지만 불나방처럼 타죽는 인력이 90%입니다.
대부분이 2년을 못버티고 떨어져나갑니다.
점점 더 수능응시생은 줄어들 것이고, 컴공 정원도 줄어들겁니다.
인구절벽으로 개발자공급부족은 앞으로 20년넘게 지속될겁니다.
이러한 현상은 절대 개선되지 않을꺼에요.
예전처럼 단편적으로 국비지원학원으로 해결될 일이 아니게 되었습니다.
경험을 통해 아키텍처를 설계하고 개발해야할..일종의 장인의 영역이 되어서
예전과는 다르게 누구나 할수 있는일이 아니게 되었습니다.
혹시나 본 글을 보시는 분이 IT회사, DT를 진행하는 회사의 인사담당자, 채용담당자, 테크리더, CTO라면
당장 장기적인 대책을 준비하지 않으면 회사의 경쟁력을 찾을 수 있는 골든타임을 놓칠 수 도 있습니다.
내년엔 재계순위의 지각변동이 예상됩니다.
1) 개발자를 밥벌레 취급 : 영업보다 못한 장비 지급, 페이 (개발자는 다년간 동결)
2) 틈날때마다 개발 및 연구 관련 조직은 "돈 못벌어오는 조직" 이라 강조
3) 아무때나 내쳐버릴 수 있다는 점 강조
4) 일 좀 하는 엔지니어는 이직하고, 그 자리를 비 관련 경력자등으로 연봉 후려쳐서 뽑은 후 메꿈
결과 : 퇴직률 60~70% 꾸준히 유지 (kreditjob 기준)
에휴.. 답답합니다.
HR에서 복지 장난치느라, 부모님 칠순, 팔순 이럴때 나오는 경조사비를 삭감하고
"본인 환갑, 칠순" 이딴걸 추가하고 "전체적으로는 같다" (이런 소리 모 당에서 많이 들은듯한 데자뷰가..)
이렇게 조삼모사 했는데.. 지금 아차 싶을 것 같네요 ㅋㅋㅋㅋㅋㅋ
틀니 이전에 노안때문에
모니터나 제대로 볼 수 있을지 모르겠네요 ㅎㅎ
지금도 고생중인데 ㅜㅜ
배보다 배꼽이 더 커요..
10년전까지만 해도
어느 은행에서 COBOL 개발자 뽑는다고
했었는데
시스템자체가 옛날것으로 그래도 사용해서.
지금도 그런지 모르겠네요
아직도 현업에서 rest api구조가 뭔지 모르는 개발자가 태반인것 같아요.
좀심하긴하네요ㅜ 요즘은 그래도 대부분 REST API / SPA형태로 개발되는데..
금융쪽은 아닌데 한번씩 외부업체와 협업 시 api 개념 모르는 경우가 생각보다 많았습니다.
이번에 새로 시작하는 프로젝트도 jstl이네요 ㅠㅠ
ㅜㅜ API개념을..모르는 회사는...냉정하게 거르셔야..
국내는 더욱..개발자는 부족해지겠죠^^;
MSA는 정말 까도까도 양파처럼 대응할게 나옵니다..ㅜ
저희쪽은 제가 도커 스웜으로 방향을 틀었고 이 방법이 가장 최선의 방법이었다고 생각합니다.
이것 관련해서 여기저기 의견을 구하기도 했는데.. 왜 K8S안하냐는 의견이 많더라고요.
그 이유는 회사에 그 방식이 필요해서가 아니라... 그걸 해둬야 요새 트렌드(?)에 도움이 된다라는
제 입장에서는 좀 말이 안되는 논리였습니다.
어쨌거나 저희쪽은 이제 신입사원급에게 간단한 가이드로 여러 서버를 클러스터링으로 묶어서
하나의 서버를 통해 저희 솔류션을 배포/관리 하게끔 하는것까지를 한두시간안에 처리하는것이
가능해졌습니다. K8S로는... 절대 불가능하겠죠;;;
필요하면 차후에 마이그레이션 하면되니까요.
https://www.clien.net/service/board/park/16790569CLIEN
SI 쪽도 영향이 심각하니 사실 대책가능한방법이 없습니다.
그저 회사 입장에서는 있는 개발자라도 안뺏기게 잘 대응하는 수 밖엔 없습니다
코로나 전까지는 일본 it쪽 취업이 참 쉬웠었는데요..
우리나라도 개발자부족으로 중국이나 인도쪽 개발자 고연봉주고 끌어다 쓰다가 개발회사 자체가 줄어들어버릴지도요...
새로 나타난 개념에 대해서
기존에 있던 분등이 이해하지 못하는 것도 크다고 생각해요
그렇기 때문에 백엔드 엔지니어에게 '뭔가 뒷단에서 일어나야 할 것 같은 모든 일들' 을 요구하고 그러다보니 채용 공고가 두꺼워지는게 한 몫 한다고 생각합니다..
쿠버네티스와 말씀주신 다른 부분들은 백엔드 개발자가 반드시 해야할 영역이 아니라고 생각하거든요
그래서 채용이 안되는 상황이 많이 일어나기 때문에 직업군을 세분화 하는 일이 일어나고 있다고 생각해요.
요즘은 많은 기업이 백엔드 엔지니어에게 DevOps 파트를 시키거나 요구하지 않습니다. 따로 DevOps 엔지니어를 채용합니다.
저는 그 원하는 부분이 잘못되었다고 생각합니다.
그 잘못이 위에서 말씀드린 것 처럼 해당 부분에 대해서 이해하지 못한 사람들이 채용에 관여하기 때문이라고도 생각해요
어플리케이션 개발자가 인프라에 대한 신경을 쓰지 않도록 하는 것, ci/cd 에 대해서 신경쓰지 않도록 하는 것이 DevOps 의 role 중 하나이기 때문에 직군이 세분 되었다면 서로가 서로의 영역을 이해하는게 우대사항의 영역은 될 수 있지만 필수는 아니라고 생각하거든요
어플리케이션 레이어 개발자가 모두 k8s yaml 을 작성해야할 이유도 없고 .... K8S HPA 이나 Kubeflow, jenkins, envoy, Istio 등등... 반드시 알아야할 필요도 없거든요
요즘은 Jib 같은 것도 있기 때문에 백엔드 개발자가 만들어진 jar 파일로 도커를 말아야할 필요도 없구요
우리나라 분들이 되게 패스트팔로어인 분들이 많기 때문에 일어나는 일 이라고 생각합니다.
절망편으로 제가 있었던 스타트업에서 JD 를 작성할때 실무자에게 요청하지만 ... C 레벨에서 자신들이 주워들은(?) 내용들을 추가하고 그대로 올립니다.
아직도 떠있네요 (...)
시니어는 이러한 CI/CD파이프라인에 대한 이해와 컨테이너기반의 인프라아키텍처에 대한 이해가 있어야
애플리케이션 아키텍처 설계를 제대로 할 수 있다고 생각이들어 회사들 입장도 이해가 가긴하네요 ^^..
아무래도 모던어플리케이션을 개발하고 운영하려면 CNA와 관련된 기술들에 대한 이해가 있어야 애플리케이션의 설계도 제대로 될수있다보니..
주니어에게 바라는건 너무 지나친거 같구요.
혹시 첫 시작은 어떻게 하면 좋을까요?
원래 배우고 싶었으나 시작할 엄두가 나지 않아 스타드도 못 끊었네요.. 완전 어린 나이는 아니지만 가능할까요?
첫시작은 무리하지마시고 파이썬같은 접근하기 쉬운언어로 문법익히고 웹이든, 앱이든 하나하나 따라하며 익혀보시는걸 추천드립니다. 처음 문법익힐땐 책한권보시고 그이후로 인프런같은곳에서 인터넷강의를 보시는걸 추천드려요.
이후에 따라할만하다란 생각이 든다면 뛰어들어도 괜찮다 생각해요.
30대 이전이라면 도전해볼만하다 생각합니다.
다만 학습량은 초기 4~5년정도는 개인시간포기할 각오로 하시고 하셔야할꺼에요.
솔직히 이바닥도 접근이 쉬운거지..제대로 하려면 고3공부하듯 학습량이 필요합니다.
개발자 구하기 힘드네요...
그래서 IT기반으로 기업 방향을 잡을수 밖에 없고,
능동적은 대응을 하려면 외주개발만으로 한계가 있으니
개발인력을 직접 뽑아서 대응하는것이 효율적이고 비용적으로도 충분히 가능한 시대라는것이죠.
다만, 경력 꽤 채워가는 시니어 입장에서 최근 드는 생각은….
10년 후 그 자리가 과연 내 자리일까?
…네요.
저도 이래저래 꽤 괜찮은 대접받고, 좋은 회사에 있지만 내가 10년 후 이 회사에 있을 수 있을까? 다른 곳으로 옮긴다면 이미 올라갈대로 올라간 내 몸값을 지불할 곳이 있을까? 라는 생각이 슬슬 듭니다.
눈을 낮추고 페이를 낮춘다고 생각하더래도 20년 이상 경력 가진 몸값 높은 개발자를 받아줄 수 있는 곳이 얼마나 될까 싶기도 하구요. (그래서 지금 회사가 마지막 회사, 여기서 뼈를 묻어야 할 수도…라는 생각을 간혹 합니다.)
특히 지금 제 나이, 경력대의 개발자들의 수도 꽤 많고, 행후 유망직종(고임금)으로 주욱 개발자라는 직업이 이어진다면…
개발자가 예전, 10여년 전에 비해 좋은 대우를 받고 있고, 앞으로도 그럴 것이라고 생각하긴 하지만 내 자리를 생각하면 좀 걱정되는 부분도 있긴 합니다. (너무 몸값이 많이 올랐다…….. 좀 낮게 받을껄 그랬나…….)
물론 빡세게 벌어서 그 전에 은퇴해 버리는 방법도 있지만 외벌이에 애들 둘 키우려니 쉽지 않네요. ㅎㅎㅎ
성장할 즘음에 시리즈A/B 받으면 이제 Java 로 시스템 개편해서 대규모 트래픽 받을수 있도록
하는게 요즘 트랜드인듯 합니다.
앞으로 어떻게 될지 궁금하네요.