[진로/인생상담] 앞으로 진로를 잡는데 선배님들의 조언을 구하고 싶습니다.

안녕하십니까ㅎㅎ 저는 현재 제조업 전산팀에서 개발업무를 담당하고 있는 30대 개발자입니다. 경력은 SI 개발업체에서 2년, 현 회사에서 3년입니다. 현 회사에서는 거의 대부분 ERP, MES 개발이고 윈폼을 다루고 있습니다.

제가 경험해온 언어는 아래와 같습니다.

  1. Java + Spring + Jquery (1년, 영세 보험영업사 업무이력관리 프로젝트)
  2. C# + WebForm + Jquery(1년, 업체 간 문서연동 및 관리프로젝트)
  3. C# & VB + Winform (5년, 제조업체 MES 및 ERP 프로젝트)
    DB : SqlServer, MariaDB
    기타 : 설비 PLC 데이터 DB 연동 구현경험, RS-242C Serial 통신을 통한 계근프로그램 구현

여담이지만 지난 5년간을 돌아보면 역시 개발일을 선택한 건 잘 했다는 생각이 들고 야근도 매일 하지만 적성에 맞아 즐겁게 일하고 있습니다. 제가 경험한 프로젝트는 대부분 저 혼자 1인 프로젝트로 해왔었고 제조업와 관련이 많습니다. 업계 특유의 분위기라는 것이 있어서 그런가 깔끔한 상황에서 개발하는 걸 경험해보지는 못했습니다. 그래도 현장에서 먼지를 뒤집어 써가면서 사무실과 왔다갔다 하며 코딩을 하는 것도 매력이 있습니다(물론 서울 오피스처럼 깨끗한 데서 개발도 하고 싶습니다ㅎㅎ).

1, 2번은 개발회사 때 경험했었고 3번은 전, 현 회사에서 계속 사용 중에 있습니다. 이전 개발회사 때 알고 지냈던 업체들과 연이 있어 지금까지 제가 구현했던 프로젝트와 관련하여 조금씩 유지보수나 추가기능개발들을 구현하며 현 회사 몰래 부업으로 개발하고 있습니다(전 회사는 제가 짰던 코딩을 잘 모르며 업체대응이 안되는 것 같습니다). 그런데 요즘들어 업체 사장님들이 웹 쪽 기능들을 원하고 있습니다. 저도 웹을 안해본 건 아니지만 깊게는 알지 못하여 제 입장에서는 이제 웹도 공부를 해야 할 것 같습니다.

개인적으로 이 쪽 분야에서 느는건 거의 도메인 지식이며 기술스택이나 개발실력은 거의 정체되어 가고 있는 것 같습니다. 앞으로 다시 개발회사 복귀 및 프리랜서 생활도 원하기에 현재 제 상황을 생각해보면 윈폼말고 다른 프레임워크도 배워 경쟁력을 갖추려고 하고 있습니다. 여태까지 혼자 하다보니 이렇게 구현하는게 진짜 맞는건가 싶다가도 사용자들이 어느정도 잘 쓰고 있는 거보니 또 맞게 하는것 같기도 하고 참… 절 지켜보는 사람이 없으니 조금 답답합니다.

두서없이 글을 써서 죄송합니다. 각설하고, 배운게 C#이다보니 WPF와 ASP.Net을 배워서 앞으로 진로를 잡아나가려고 생각하고 있습니다. Asp.Net은 현재 어느정도 공부를 하고 있습니다. WPF나 ASP.Net이 현재 우리나라에서 어느정도 잘 쓰이고 있는 것인지 궁금합니다. 또 추후 진로를 이렇게 갔으면 좋겠다는 선배님들 생각이 있으시면 추천해주시면 감사하겠습니다. 감사합니다!

3 Likes

제가 이해한 바로 정리하면, .NET 개발자로서 Web과 Windows Desktop 포지션을 모두 커버하고 싶으신 것 같습니다. 그래서 WPF와 ASPNET 을 말씀하신 것 같습니다.

WPF는 오래된 기술로, 당연히 쓰이는데가 많습니다. 그렇다고 지원이 끊겼냐 하면 그건 아닙니다.
WPF는 Windows라는 게 살아있는 한 계속 살아있을겁니다. XAML 업데이트가 없는거지, .NET에 대한 업데이트는 계속 되고있고 이것은 Windows Forms도 마찬가지입니다.
그런데 그곳들이 .NET Core 3.1 이상의 WPF냐면 그건 아닐 것입니다.
WPF는 XAML 쪽 업데이트가 거의 없기 때문에 WPF자체는 .NET Framework로 해도 무방합니다.
다만 로직들에 대해 신규 문법을 도입할 수 없어서 생산성이 떨어지는 것은 마찬가지입니다.
그나마 Community Toolkit 이 .NET Standard 2.0 이상부터 사용할 수 있기 때문에 .NET Framework 에서도 구조적으로 생산성 있는 WPF 어플리케이션을 개발할 수 있습니다.

WPF는 자료가 많이 없습니다. 따라서 구조적인, 잘만들어진 WPF 어플리케이션은 좋은 오픈소스를 찾아보시거나, 잘하는 사람을 사수로 만나거나 커뮤니티를 통해 배우는 방법 말고는 거의 없긴합니다.

ASPNET은 전 웹개발자는 아니라서 잘 모르겠지만 역시 ASPNET 자체에 WebForm, WCF에 머물러 있을 경우가 많습니다. Windows Server를 쓰는 것도 같을 거구요. ASPNET Core로서 리눅스나 맥에서도 서버로 쓸 수 있다는 것을 2024년도에도 모르는 회사들이 많을 겁니다. 마찬가지로 윈도 서버가 꽤 있기 때문에 ASPNET 자체를 쓰는 기업은 많을겁니다. 신기술을 도입해가며 조금씩 마이그레이션을 진행해나가는 것이 다른 문제인거죠.

그래서 그런 고인 문화들 때문에 국내한정으로 닷넷에 대하여 이것저것 안좋은 소문들이 계속 퍼져나갑니다. 찾아보면 대부분 질문자님의 걱정 글처럼 잘쓰고있는지도 모르겠고, 또한 공장 병원에 파견가야한다거나 그런 악조건의 글들이 많이 찾아지기 때문입니다.

그런데 개발은 언제나 나 하기 나름입니다. 전망도 좋습니다. 내가 좋게 생각하면 그냥 좋은 것입니다.
닷넷 개발자로 새로운 기술들을 업데이트하면서 경력을 쌓아도 억대연봉자들도 있을 겁니다.
내 환경은 내가 만들어 나가는 거라고 생각합니다.

전 그렇게 생각합니다.

9 Likes

닷넷은 만년 2인자에서 3인자로 추락할까요? - :pushpin: 자유게시판 - 닷넷데브 (dotnetdev.kr)

닷넷 프로그래머 진로에 대해 고민입니다 - :pushpin: 자유게시판 - 닷넷데브 (dotnetdev.kr)

C# 입문자입니다 - :mortar_board: 모두의 Q&A - 닷넷데브 (dotnetdev.kr)

보시는 것처럼…비슷한 맥락의 걱정들인데 계속해서 커뮤니티를 통해 걱정 글이 많이 써지면 써질수록 나갈수록 진로 걱정이나 비관적 인식들은 계속됩니다.

마음을 모르는 것은 아니지만, 개발뿐이 아니어도 그 어떤 분야든 나하기 나름이라는 것을

말씀드리고 싶습니다.

4 Likes

다른 말로는, 전문성을 갖췄다고 표현할 수도 있겠네요. ^^

지금까지 커리어는 전문성을 가진 도메인 솔루션을 윈도우 용 앱으로 구현해왔다고 볼 수 있을 것 같습니다.

여기에 WPF를 더하는 것은 같은 카테고리에 속한 스킬을 하나 더 추가하는 것에 지나지 않을 수 있습니다. WPF 앱도 윈도우 용 앱을 위한 것이니까요.

요즘은 아무래도 웹 환경에 대한 요구가 많죠.
다행스러운 것은 C# 스킬로도 이 요구를 충족시켜 줄 강력한 무기(Asp.Net Core)가 있다는 점이죠.
다시 자바나 Jquery 로 돌아갈 필요가 없을 것입니다.

개인적으로는 Asp.Net Core와 Blazor의 조합을 추천합니다.
그 자체로 웹기술이기도 하고, 마우이를 통하면 윈도우, 맥, 안드로이드, IOs 용 UI 앱으로 쉽게 빌드가 가능합니다. 물론, 각 플랫폼 API를 사용하는 기술은 별도로 습득해야 하지만요.

그런데, Asp.Net core를 익히는 것도 현재 도메인을 위한 스킬을 확장하는 것에 지나지 않을 확률이 높습니다. 다른 회사들은 ERP를 만들 때, 닷넷 기술을 안 쓰기도 할테니까요. 이 경우, 기껏 확장해 놓은 닷넷 웹기술은 쓸 모 없을지도 모릅니다.

뿐만 아니라, 웹개발 쪽은 닷넷을 거의 안 쓰는 것 같습니다. 특히 국내에서는요.

현재 도메인을 사수하면서 가치를 올리는 게 나은 지, 아니면 또 다른 분야로 옮기는 게 나은지는 본인 밖에는 결정하지 못 할 것 같습니다.

추가
CS를 전공한 조카가 두명이나 있는데, 비슷한 (비 닷넷) 스킬의 보유자가 공급이 워낙 많다보니, 경쟁이 좀 치열한 것 같기는 합니다.

4 Likes

WPF 는

https://jamesnet.dev/store

요거 강추! >ㅁ<b

3 Likes

사실 자바보다는 C#이 훨씬 더 생산성이 좋았었습니다. 언어가 우월하다기 보다는 Visual Studio가 너무 편하기 때문인 것 같습니다. 실력이 부족하다고 생각하는 저한테 조차 여기저기서 연락이 오기 때문에 저 또한 앞으로 C#이 죽어갈거라고는 생각하지 않습니다. 다만 제가 생각하는 진로방향이 나쁘지 않은지 확인하고 싶었습니다. 굉장히 상세한 조언 감사합니다. 덕분에 이렇게 해도 될 것 같다는 자신감이 드네요ㅎㅎㅎ

2 Likes

추천해주신대로 Asp.NET Core와 블레이저로 한번 공부해보도록 하겠습니다. 감사드립니다. 특히 웹 쪽으로 방향을 잡고 싶었는데 조금 안심이 됩니다ㅎㅎㅎ. 어차피 제가 개인으로 개발해서 팔아먹을거고 C# 웹 개발자가 없다면 뭐… 오히려 저야 땡큐죠ㅎㅎㅎ 적어도 저는 제 분야에서 계속 일을 해나갈 수 있겠네요. 웹도 공부를 한지는 1년도 안됬지만 언어보다는 말 그대로 WEB에 대해서 근본적으로 배워나가야 할 것 같습니다. 상세한 조언 감사드립니다^^

3 Likes

어우 감사드립니다!!ㅎㅎㅎ

2 Likes

비슷한 연차일 것 같지만 조금의 위로 + 경험공유를 해보고싶습니다! 저도 한때 제조업에서 첫 개발경험을 시작했던 것 같습니다. 윈폼 or WPF를 쓰고 있던 회사였지만 주도적으로 개발을 이끌던 사람이 많이 없던 상황이라 제가 이끌수 있는 기회가 생겨서 과감히 .NET 5.0(당시 최신) + React로 기술 전환을 시도를 해봤었던 경험이 있었습니다.

모던한 웹 개발의 경험이 없는 팀원들에게 기술 권유와 스터디 제안 등등 여러 시행착오를 해보면서 현재는 .NET 7.0 까지 마이그레이션 하고 있는 현재를 보면 나름의 만족을 해가고 있습니다. 해외에서는 비주류가 아니라는 사실은 개발해본 사람은 당연히 아는 사실이라고 생각합니다. 그래서 저는! 기술 선택에 대한 고민은 이제 없는 것 같습니다. 그리고 기술 선택시 국내에서 구인을 할 수 있을까 고민이 많았는데 최근에 훌륭한 미국, 인도 팀원들도 잘 구해져서 구인에 대한 고민도 없는 듯 합니다.

정말 윗분들 말씀처럼 하기 나름인 것 같네요. 저도 흔히 대세를 따르지 않았을때 불안함때문에 닷넷데브 커뮤니티(당시 페이스북)에 여러 질문을 남겼었고 나름의 위로도 많이 받았던 것 같습니다. :slight_smile:

계속 고민하고 해답을 찾아가시길 바랍니다! 화이팅! 그리고 마지막으로 뭐로가든 고객이 만족하면 되는 것 같습니다!

3 Likes

안녕하세요. 저랑 비슷한 일을 하고 계시네요 ㅎㅎ 반갑습니다. 저도 제조업에 1인 개발 , 닷넷을 이용한 PLC , 측정기기 연동 , 테이터 수정 , 가공등… 뭐 제조업에서 어떠한걸 개발해도 결국에는 패턴이 다 비슷하긴 합니다. 기기연동 → 데이터저장 → 모니터링 ;; 저도 말씀하신 모든 일을 해봤고 최근에는 서버부터 프로그램까지 신규 라인을 위해 전체를 구성한 적도 있습니다. (말은 거창하지만 어차피 위 패턴임 ㅋㅋ) 다만 저는 java부터 시작해서 jsp를 먼저해왔고 웹프로그래밍과 그때 겪었던 WAS 경험은 확장할때 유용하게 쓰이기도 했습니다. 특히 안드로이드 앱을 만들때 정말 알아두길 잘했구나 생각했네요. 여튼 제가 그렇게 겪어서 인지 web을 공부하시려면 WAS 좀 알아두시면 좋을 듯 합니다. was에 java 어플리케이션을 올리고 web에서의 흐름을 파악하시며 공부하시면 전반적으로 크게 도움이 될것 같습니다. 저는 지금 winfom을 벗어나고 싶어 wpf로 제작을 하는데 일단 화면이 깔끔하니 좋긴한데 1인 개발이다 보니 막 때려박는게 익숙해서 인지 개발 패턴 지키는 너무 힘드네요. 여튼 화이팅입니다!

2 Likes