C# 개발자도 품귀 현상이네요

SI로 투입되서 일하고 있는데, 추가 인력을 못 구해서 한달동안 난리네요.
이전부터 신입 개발자들은 죄다 자바 국비 학원으로 빠지고, 그런 흐름속에 C# 경력자는 계속 줄어들고,
덕분에 C# 경력자 몸값은 치솟고있는데 과연 언제까지 올라갈지 모르겠군요.
그렇다고 기술 스택이 특이한것도 아니고, C#, Winforms에 데브익스프레스 경험만 있으면되고,
단가도 충분히 주는데 지원자조차 없다는게 뭔가 더 불한한 느낌이 듭니다.
C# 시장이 침체되기 전에 자바나 안드로이드, 프론트엔드쪽 기술을 빨리 배워서 탈츨해야할것만 같은 그런 느낌?이 드네요.

5개의 좋아요

그게 C#인력 상당수는 정직원을 선호하고 그외에 프리랜서들은 POS쪽에 많이 가서 그럴겁니다.
신세계, 롯데, 현대 등등 식음료쪽 대형 SI에 엄청 투입됩니다.

4개의 좋아요

제 개인적인 견해로는 국내에서 .NET이 응용프로그램 위주로 자리잡아서 그런 듯 합니다. ASP.NET은 Windows Server의 유료 라이센스로 아무래도 좀 리눅스에 비해 사용 빈도가 낮은게 스노우볼링된 것 같다고 생각합니다.

저는 FA분야에서 2년, POS 분야에서 1년 반정도, 키오스크 업계에서 6개월 정도 재직한 경험이 있는데 말씀하신대로 기술스텍이 똑같습니다. Winform에 DevExpress 입니다. 전국의 공장과 병원의 키오스크에 엄청나게 많은 프로그램들이 .NET으로 개발되어 있습니다. 다만 그걸 사용하는 유저들이 공장의 직원, 또는 병원 방문자 뿐이다보니 스프링이나 Node.js 같은 언어로 만들어진 ‘하나의 서비스’ 개념이 아닌 주로 ‘솔루션 형태의 SI’ 형태의 프로젝트이다보니 입소문을 많이 못타는 듯 합니다.

지금 네카라쿠배당토같은 IT대기업에서 사용하는 언어들이 ‘하나의 서비스’ 또는 '플랫폼’화 되어서 엄청나게 각종 언론도 동원되어 엄청 활약하고 있지만, 삼성이나 LG, 현대, 기아 또는 같은 제조업을 끼고있는 회사들은 ‘머신비전’ 같은 기술의 활용도 때문에 C#을 꽤 많이 사용하는 듯합니다. 물론 코어로직은 CPP로 하실꺼고, C#이 마음에 안들면 Python으로 할 수는 있겠지만요.

카카오톡, 배달의 민족같은 흔히 일반 유저가 사용할 수 있는 서비스를 사용하다보면, 코딩을 모르는 사람도 이게 무슨 언어로 개발되었나 찾아볼 수 있고, 아무래도 일반 대중들에게 노출이 쉬운만큼 학원에서도 마케팅하기 쉬울 것입니다. 반면 공장이나, 키오스크 같은 서비스가 아닌 프로그램들은 대중에게 마케팅이 어렵겠죠.

제가 드리고 싶은 말은 대중에게 널리 알려지지 않았을 뿐 닷넷으로 개발된 서비스화 되지 않은 프로젝트가 많다는 것입니다. 닷넷은 아니지만, 유니티를 사용하는 게임회사의 경우, 그 게임 회사의 서버는 ASP.NET Core로 많이 개발되어있다고 들었습니다. 그래서… C#으로 성공한 카카오톡 같은 하나의 서비스가 나와서 홍보만 된다면 C#도 많이 사용하게 되지않을까합니다.

그리고 좀 개인적으로 안타까운 것이…개인적으로 C#을 하는 분들의 대다수는 Winform이라고 생각하는데요. Winform이라는게 오래되었고 사용하기가 쉬운만큼 널리 사용되는 것은 알겠으나, 웹개발자들이 기본적으로 어떤 플랫폼을 설계하고 웹이라는 특징의 제한된 리소스를 사용하는 환경에서 여러사람이 소스를 관리하고, 소프트웨어 아키텍쳐링을 통해 분산처리를 하는 그런 생각을 특성상 많이 못하는 듯합니다. Github 못쓰게하고 압축파일로 백업해서 USB에 넣고 다니거나… 그래서 일단 돌아만 가게하자는 생각으로 버튼 하나에 2천 줄 3천줄씩 또는 1만줄씩 때려 넣고, solid 같은 객체지향 패턴을 무시하고 개발하여 객체지향 언어인 C#을 절차지향 형식으로 사용하는 등의 형태로 개발하여 추후 유지보수하기 어려운 코드가 나온다고 생각합니다.

제 경력이 7년차라 아직 경력이 적은 것은 사실이나, 함께 일하는 선배 동료들의 스파게티식의 코드를 상당히 많이 봤습니다. 또한 현재 스타트업에서 면접관을 하면서 .NET 인력구인이 너무 힘들어서 Winform을 해봤더라도 C#만 해봤다면 뽑아보자고 면접을 봤지만, Azure같은 클라우드도 잘 모르고, Redis같은 캐시도 잘 모르고, 심지어는 RDB 또는 NoSQL도 잘 모르고, Docker, K8S 같은 요즘 떠오른다는 IT기술은 잘 몰랐습니다. 스타트업이라 그런 기술들을 사용해본 경력자들이 지원 안 했을 수도 있고, 아니면 그냥 제가 운이 없었던 것인지도 모르겠습니다. 저희는 .NET으로 이커머스 서비스를 개발하려는 회사라 그런 기술을 대규모 트래픽에 대한 이해를 가진 경력자를 채용 중이라 그런 기술 스텍 부분만 보게 되었습니다. 물론 일반화 시키기는 어려운 부분이라고 생각합니다.

아무래도 공장이나 병원같이 '출장’근무환경에서 박스깔고 앉아서, 또는 서서, 또는 방진복입고, 또는 안전화신고, 간호사나 의사들에게 ‘나는 그런 불법프로그램같은 것을 깔지 않았다고’ 윽박 질러대는 환경에서, 고객한테 욕까지 먹어가며 MVVM이니 MVC, MVP니 이런 패턴을 고려하며 코딩할 생각은 못하는게 당연할거라 생각합니다. 그리고 그런 악순환으로 그렇게만 하다가 경력은 쌓이니, 제한된 리소스에서 대규모 트래픽이 발생하면 어떤 기술이 필요할까 이런 고민을 응용개발자들이 못하게 되는 것 같습니다. 해온 프로젝트들이 대다수가 그런 대규모가 필요없는 환경 일 것 같습니다.

그러나 사실 대규모 트래픽에 대해 신경 쓸 일이 없다면 현재 유행하는 캐싱, 오케스트레이션 같은 기술은 필요 없을 것 입니다. Winform, WPF 같은 UI 프로그램은 docker 이미지로 빌드하거나 그러지 못하니까요. 설령 빌드를 할 수 있더라도 UI를 랜더링 할 수 있는 무거운 OS가 들어갈 수는 없겠죠. 가상화라는 개념은 필요하고 우리가 알게 모르게 쓰고 있지만 그걸 대규모 트래픽을 해결하는데 이용할 필요는 없는 상황인 것입니다. 따라서 응용개발자로 경력이 많이 쌓였다면 서비스 개발자들의 영역이 아닌 다른 네이티브한 부분을 다루는 것이 어떨까 하는 생각도 해봤습니다.

키오스크를 개발하고 있는 응용개발자라면, 디자인 영역을 따로 공부하여 UI, UX적인 부분에 대해 전문 지식을 쌓고 많은 애니메이션을 넣어도 조잡하지 않으면서도 화려한 (고객들이 말하는 화려하지만 심플한) 그러면서도 버벅거리지 않는 그런 키오스크를 개발할 수도 있을거고, 공장직군이라면 출장을 다닐 수 밖에 없는 운명이니, 출장다니면서도 조금 더 여유로울 수 있도록 틈틈히 작은 단위부터 자동화를 해서 편리한 모듈을 만들어 놓는 다던지…

개인적으로 한탄하는 내용이면 따로 글을 올리는게 좋았을 법한데 주제가 나와서 답글로 길게 남기게 되었네요… 취지는 응용개발자도 웹과 모바일을 따로 하지 않아도 살 길 찾아 전문영역을 키울 수 있지 않을까…? 하는 내용이었습니다. 물론 한국에 컴퓨터가 처음 공급되어 웹이 발달하지 않았던 시절 로컬컴퓨팅이 유행이어서 델파이 MFC같은 응용기술이 유행이었다가, 지금은 웹으로도 응용에서 하는 만큼 컴퓨팅 파워를 끌어낼 수 있는 현재와 미래에 웹 기술을 익힌다면 도움은 분명 될 거라 생각합니다. 하지만 꾸준히 제조업이 필요하고, 개인 PC가 필요할 수 밖에 없는 영역이 있는만큼 수요가 줄어드는 것은 아니라고 생각합니다.

17개의 좋아요

아이고 다 쓰고 나서 본문을 보니 제가 완전 딴 소리를 하고 있었네요…ㅋㅋㅋ

2개의 좋아요

자바 공화국이라 그렇지 c#도 분명 좋은 언어 입니다.
한국에서 점유율 싸움에서 져서 사람이 없는것 뿐입니다.

그래서 사람이 자바 보다 없는 만큼 몸값이 더 오르고 있죠.

한국 쇼핑몰 쪽은 대부분 닷넷 입니다.
이베이에서 반응 속도 때문에 사람이 많은 자바로 쉽게 못 옮긴다고 현업에서 들었습니다. 옮길려고 했다가 실폐 했다고 합니다.

그리고 기계와 연동 되는 부분이 있는 경우라면 닷넷이 대부분이라 들었습니다.
실제로 2019년에 자동화 창고가 wpf로 구축 되었습니다. 제가 경험한 프로젝트는 신세계 롯데

지금 어떤 언어든 사람이 부족한 상태고 신입들이 대부분 자바로 떠나고 있어서 프로젝트가 없는 만큼 사람은 더 없어서 블루오션이 되어 버린것 뿐입니다.

업체와 친하면 이런 이야기 들을수 았을 겁니다.
자바는 사람이 정말 없는데 닷넷은 그냥 없다고.
전 자바보다 50~100 더 부르고 일하고 있습니다.

크로스로 할수 았으면 일자리 구하는데는 좋겠지만 한가지 판 사람의 깊이에 따라 갈수 없을겁니다.
화이팅 하세요

7개의 좋아요

저의 생각은
첫번째는 너무 크로스 플랫폼지원이 늦었고,
두번째는 국가에서 전자정부프레임웍을 자바로 한정하면서 닷뎃의 시장이 죽어버린 결과가 아닌가 합니다.

5개의 좋아요

글로벌적으론 C#도 인정 받는다고 하는것 같은데 한국에서는 좀 특수한 것 같습니다.
제가 있는 이직 오픈 단체 톡방에서도 c# 개발자들의 비중은 적고 게다가 다들 다른 쪽으로 가길 희망하더군요.
그렇다고 c#이 싫은 건 아니데 한국에서 개발자 대우나 비전이 때문에 그런 것 같습니다.
제조, SI를 탈출해서 플랫폼, IT 서비스 회사로 가고 싶어하는 느낌입니다.
실제 메이저 플랫폼 회사에서 c# 개발자를 뽑는다는 이야기는 들은 적 없네요. 있어도 마이너한 것 같고요.
그리고 입문자 입장에서도 C#은 매력적이지 않죠. 신입사원들도 파이썬 이야기는 눈이 반짝이는데 C#은 관심이 없네요. 그리고 보니 JAVA에도 관심이 적은거 같네요… 그냥 파이썬이 인기인걸까요? ㅎㅎ

3개의 좋아요

결론쪽에서 답이 나왔고 그걸 잘 풀어서 답주신거 같습니다 ^^

2개의 좋아요

파이썬은 그냥 유행일뿐이라는걸 그친구들도 해보면 느낄겁니다.
빅데이터나 AI(딥러닝)때문에 파이썬이 뜨긴 했는데. 딱 거기까지 입니다.
언어자체가 나온지 오래된 구형언어라 문제점이 엄청 많습니다.
언어의 문제를 라이브러리로 커버하는데. 그게 거의 한계로 오고 있죠.

2개의 좋아요

공감합니다.

전자정부프레임워크가 java로 선정된 점도 C# 백앤드 개발자가 상대적으로 적게 만든 원인이 된 것 같아요.
개인적으로 국내 분야별 ASP.NET Core Best practice를 오픈소스로 공유해서 좀더 많은 사람들이 접할 수 있도록 하면 지금보다 나아지려나 하는 생각을 해 봅니다.

4개의 좋아요