“트렌드가 아니라면 기회다! ”…윈도 클라이언트 개발자 고요한
C++과 C#언어를 사용해 윈도 클라이언트 개발자 고요한 씨를 만났다. 그는 퇴근 후 피곤한 시간이지만 인터뷰 중에 미소를 잃지 않았다. 그를 만나 윈도 플랫폼, 닷넷, 닷넷 커뮤니티 그리고 닷넷 행사에 관해 물었다.
윈도 플랫폼은 이제 사용이 줄고 있어 보인다. 현업에서 어떻게 느끼는가?
어느덧 무엇인가 개발한다고 하면 대부분 사람은 ‘모바일’이나 ‘웹’을 생각한다. 새로 개발을 배우는 분들 사이에서 윈도 클라이언트 프로그램이 관심이 많이 줄었음을 느낀다. 하지만 키오스크, 농장(스마트팜), 공장(스마트팩토리), 관공서 등 아직 윈도 플랫폼으로 개발이 지속해서 이뤄지고 있다.
윈도 플랫폼 개발은 전망이 어떤가?
시장 전망을 내 입장에서 말하기에는 어렵다. 윈도 플랫폼 인기가 식은 것은 사실이다. 그렇기에 개발자 입장에서 더 안전할 수도 있겠다고 생각한다. 앞서 말한 것처럼 아직 국내 시장에서는 윈도 클라이언트 프로그램을 사용하는 곳이 많다. 단순히 트렌드에 맞지 않아 개발 지망생 또는 현업 분들이 줄어들었다. 이 분야 개발자가 점점 희귀해지고 있지만, 아직도 윈도 클라이언트 개발 수요는 계속 남아있다. 이 자체로 새로운 기회가 될 것이라 본다.
지금까지 윈도 플랫폼으로 무엇을 만들었나?
새로 개발하기보다는 유지보수를 많이 했다. 자동차 진단 데이터 관리 프로그램, 미디어 플레이어, DB 입력 프로그램을 유지보수 했다. 요즘은 키오스크, 관공서 프로그램 등의 프로젝트를 진행하고 있다
유니버설 윈도 플랫폼(Universal Windows Platform, UWP)과 윈도(Window Forms, WPF) 플랫폼은 어떻게 다른가?
유니버설 윈도 플랫폼으로 개발하면 ‘윈도 10’이나 ‘엑스박스(Xbox) 홀로렌즈’ 등 여러 디바이스에서 사용할 수 있다. MS 스토어(MS Store)에도 빠르게 배포할 수 있다. 아쉽게도 ‘윈도 7’이나 ‘윈도 8’은 지원하지 않는 걸로 알고 있다. 유니버설 윈도 플랫폼에 대한 개발 사례가 아직 부족하다. 성능(Performance)면에서도 크게 발전이 없어 보편적으로 사용하지 않는다. 지금 시작한다면 유니버설 윈도 플랫폼으로 가는 것이 좋을 수 있다. 단, 아직 개발 자료가 부족하다.
C# 기반인 자마린(Xamarin)을 예로 들어보자. 자마린으로 개발하면 안드로이드와 iOS 크로스플랫폼을 구축할 수 있다. 막상 자마린을 들어보면 굉장히 매력적이지만, 직접 해본 사람들의 말은 달랐다. 자마린으로 개발하다 보니, 마치 빙산 위를 걷는 것 같다고 했다. 유니버설 윈도 플랫폼도 이와 같다. 개발 중 신규 버그가 생기면 MS에서 언제 고쳐줄지 모른다. 이론적으로 멋지지만 실제 개발해보면 다양한 문제를 많이 마주할 수 있다.
이처럼 개발 사례가 부족하다는 말은 개발자에게 많은 리스크를 안고 가야 하는 말과 같다. 바쁜 업무에 시달리는 개발자가 새로운 것이 나왔다고 해서, 무조건 도전할 수 있는 것은 아니다. 개인 역량, 시간, 업무 효율성 등을 따져가며 도전해야 한다.
덧붙여, 유니버설 윈도 플랫폼은 ‘윈도 10’에만 적용되는 것으로 알고 있다. 아직 관공서에서는 낮은 버전 윈도를 사용하는 곳이 많다. 그래서 시기상 유니버설 윈도 플랫폼으로 프로젝트를 진행하기에는 국내 관공서 사정에 비춰보면 이르다고 볼 수도 있다.
윈도 클라이언트 프로그램 개발 방법은 과거와 어떻게 다른가?
과거에는 윈도 프로그램 대부분은 마이크로소프트 파운데이션 클래스 라이브러리(MFC, C++언어 기반), ‘WinForm’, 윈도 프레젠테이션 플랫폼(WPF)이 많이 사용됐다. 예전만 해도 MFC를 꽤 사용했지만, 요즘 들어 사용 빈도수가 줄어든 것 같다. MFC 자체가 생산성이 낮다. WinForm, WPF는 지금도 많이 사용한다.
C# 언어의 장점은 무엇인가?
C#은 윈도 프로그램을 개발하기 좋다. C# 언어 자체가 생산성이 뛰어나다. C#으로 개발할 때 쓰는 비주얼 스튜디오(개발 프로그램)는 IDE 중에서 최고라고 생각한다.
닷넷 오픈채팅방은 어떻게 시작했는가?
나는 MFC로 개발했었다. 그러던 중, 회사 업무에서 ‘WinForm’으로 해야 하는 작업이 생겼다. 당시 회사에 ‘WinForm’을 가르쳐줄 수 있는 사수가 없었다. 혹시나 하는 마음에 닷넷 관련 카카오톡 오픈채팅방을 찾아봤다. 놀랍게도 채팅방이 있었다. 적극적으로 질문을 계속 남겼다. 질문만 계속했는데도 부방장이 됐다. (놀랍지 않나?) 방장 형이 스위프트(Swift)를 하게 돼 결국 내가 방장이 됐다. 닷넷 오픈채팅방은 200명이 넘는 사람들이 활동하고 있다. 관리자만 5명이나 된다. 함께 수고하시는 관리자님들, 항상 고맙다!
채팅방에서는 어떤 대화를 하는가?
개발 질문과 IT 고민 상담 등 개인적인 이야기를 많이 한다. 요즘 닷네코어를 많이 이야기했다. C# 개발자를 구하는 카톡 글들이 많아졌다. 요즘 들어, 개발자들이 질문을 페이스북 혹은 웹페이지에 하는 것보다 채팅방에 질의응답을 하길 더 선호한다. 확실히 채팅창에서 훨씬 빠른 피드백을 받는다. 여러 닷넷 커뮤니티가 있지만, 채팅으로 서로 네트워킹을 바로바로 하다보니 웹보다는 간단한 농담들이 더 많다 보니 쉽게 친해지는 것 같다.
주로 모이는 장소가 있는가? 모든 커뮤니티에 모임 장소는 큰 고민이지 않은가?
맞다. 모든 커뮤니티가 장소를 고민한다. 서울에는 주로 강남에서 모인다. 식사를 하고, 카페로 이동해 이야기를 이어간다. 요즘은 대전에서도 모임이 있으며, 수원에서도 모임을 할 예정이다. 대전 모임은 닷넷 C# 오픈채팅방 관리자 분 중 한 분이 진행했다.
닷넷 커뮤니티를 운영하면서 어려운 점은 없는가?
우선 규칙과 규정을 정했다. 공지 내용은 사용자가 명령어를 입력해 챗봇으로 오픈채팅방에 알려준다. 관리자들이 커뮤니티 운영으로 힘들지 않게, 편하게 활동했으면 한다. 자신도 커뮤니티에 참여하는 인원이란 생각이 중요한 것 같다. 서로 편하게 대화를 하며 상대 의견과 질문을 들어주고 답하는 것이 중요하다. 그저 일원으로 노는 거로 생각하면 편할 것 같다. 하지만, 자유 안에서 규칙은 있어야 한다고 생각한다.
‘닷넷 데브’ 행사를 앞두고 하고 싶은 말이 있는가?
‘닷넷 데브’는 C# 개발자 모임이다. 내가 운영하는 오픈채팅방 모임과는 다른 모임이다. 나는 이번 행사에서 스테프으로 활동한다. 아마도 오프닝에서 사회를 볼 것 같다. 재미난 행사면 좋겠다. 참석자들에게 자극이 됐으면 좋겠다. C# 개발자로서 자부심을 얻어가는 행사로 남으면 좋겠다.
오산에서 구로디지털단지로 출퇴근한다고 들었다. 장거리 출퇴근에 어려움은 없는가?
출퇴근에 소모하는 시간은 왕복으로 약 2시간 정도다. 하지만 지하철에서 앉지 못하면 종일 힘들다. 지하철에서 생각보다 잠자기와 책 읽기가 어려웠다.
본인과 같은 30대 개발자들에게 들려줄 말이 있는가?
다 함께 건강을 챙기자… 앉아서 일하는 게 20대 시절과 다르다. 살이 찌고 몸이 둔해진다. 운동도 해야되고… 나는 요즘 영양제도 챙겨 먹는다. 영양제 챙겨 먹고 운동하며 서로 건강히 힘내자. 우리 함께 건강하게 롱런하자.
앞으로 계획 중인 목표가 있는가?
당장 내년이라도 하고 싶은 일이 있다. 학교 커리큘럼을 보면, IT 트렌드를 못 따라가는 경우가 있다. 요즘 현직에서는 데이터 분석가나 AI를 많이 선호한다. 그런데 파이썬과 R에 대한 커리큘럼조차 없는 학교가 있다. 그러다 보니 졸업 후 취업을 위해 학원으로 다시 가는 경우가 많다. 이런 고충에 도움을 주고 싶다. 커리큘럼에 없는 부분을 파이썬 스터디로 맛보기 정도라도 경험할 수 있게 도와주고 싶다. 대학교 페이스북 그룹에 종종 “같이 스터디할까요?”란 글을 쓸 때가 있다. 같이 스터디를 하는 게 목표다.
혹시 그런 생각을 하게 된 배경이 있는가?
나는 어렸을 때 컴퓨터공학 전공으로 대학을 졸업하면, 자연스레 개발자가 될 줄 알았다. 그러나 현실은 엄청 달랐다. 정말 다양한 분야가 있다. 나는 지방에 있는 학교를 나왔다. 학교 커리큘럼이 요즘 개발 트렌드를 못 따라가는 경우가 있다. 그래서 최소한 학생 중 개발에 대한 관심이 있는 학생이 있다면, 조금이라도 더 도와주고 싶은 동질감이 많이 생긴다. 이런 공부도 있고 이렇게 하면 좋을 것 같다고 알려주고 싶다.
그 희망, 계획 꼭 이루길 바란다.
고맙다!
고요한 개발자가 활동중인 커뮤니티는 다음과 같다.
– C++, OpenSource Study (https://www.facebook.com/groups/OpenCPP/)
– 닷넷 C# 개발자 모임(https://open.kakao.com/o/gViurRJ)