데브구루

직무인터뷰 > 시스템개발

솔루션의 안정적인 운영을 위해 노력해요

2022-10-31 14:55 조회수 13,803 Tag #데브구루 #DEVGURU #IT개발

2002년에 설립된 데브구루는 드라이버 개발 및 WHQL(Windows Hardware Quality Labs) 테스트를 전문적으로 수행하는 회사이다. 창립 이래 끊임없는 노력으로 System Programming과 Device Driver 분야에서 기술의 진보를 이루고, 모바일 솔루션, 장치 가상화, 보안 솔루션, 교육, Microsoft WHQL 인증과 같은 솔루션 서비스를 제공한다. 2012년부터는 모바일 기기를 듀얼 모니터로 사용할 수 있는 앱 Twomon, 아이폰 파일 관리 프로그램 EasyBee, 아이패드 디지타이저 앱 EasyCanvas와 같은 상품을 출시하며 사업 영역을 확장하고 있다. 더욱 편리하고 안정적인 솔루션 개발을 위해 노력하는 유형진 책임연구원과 직무에 관한 이야기를 나누었다.

DEVGURU

개발1팀
유형진 책임연구원

 

간단히 소개 부탁드립니다.

안녕하세요. 데브구루 개발1팀 책임연구원 유형진입니다. 관련 업무는 올해로 13년 차입니다.

 

데브구루도 소개해 주세요.

DEVGURU, 데브구루란 이름은 Development와 Guru의 합성어로 소프트웨어 개발분야에서 최고가 되자는 의미를 담고 있습니다. 디바이스 드라이버 개발 분야에서 국내 대기업들과 안정적으로 협업하고 있으며 이 분야에서 안주하지 않고 데브구루가 잘할 수 있는 것이 무엇인지 고민하고 나아가 미러링 솔루션 분야까지 진출하여 사용자들에게 사랑받고 있습니다. 현재는 국내 대기업과 게임 미러링 플랫폼 분야에서 협업 중입니다.

 

개발팀은 어떻게 구성되어 있나요?

데브구루 연구소는 총 네 팀으로 구성(개발팀 세 개, 검증팀 한 개)되어 있습니다. 개발1팀은 USB 디바이스 드라이버 개발 및 유지보수 업무(MSS[Mobile Service Solution], USBOverIP)와 드라이버 개발 컨설팅, 블루스크린 덤프 분석 등의 업무를 담당합니다. 개발2팀은 미러링 솔루션(Twomon제품군, EasyCanvas제품군) 앱 개발 및 유지보수 업무와 더불어 최근에는 KT와 게임플랫폼을 운영하고 있습니다. 개발3팀은 반도체 설계 툴 개발 및 외주 웹, 앱 개발 및 유지보수 업무를 진행하고, 검증팀은 개발팀에서 개발하는 제품들의 품질 보장을 위하여 검증하는 일을 합니다.

Interview 01

장치의 가장 안쪽에서 동작하는 시스템 프로그램을 개발

 

개발팀에서 책임님이 담당하는 업무를 설명해 주세요.

저는 개발1팀 소속으로 MSS 솔루션 개발 및 유지보수를 메인 직무로 하고 보안프로그램 개발에도 참여하고 있습니다?. MSS 솔루션은 우리가 사용하는 PC 운영체제(Windows, Linux, Mac)에서 하드웨어(휴대폰, 임베디드 장치, 기타 장치 등)를 USB 케이블로 연결했을 때 사용할 수 있도록 해주는 프로그램(디바이스 드라이버)입니다. 만약 삼성 휴대폰을 사용하신다면, 휴대폰의 데이터 이동을 하거나 Dex 프로그램을 사용하기 위하여 USB를 연결할 때 통합 USB 드라이버 프로그램이 설치되는데, 이 프로그램이 저희가 개발한 제품입니다.

 

Mobile Service Solution을 개발하고 고도화하는 과정에서 가장 우선으로 고려해야 하는 사항은 무엇인가요?

MSS 솔루션을 개발하고 고도화하는 과정에서 가장 우선적인 사항은 ‘안정성’입니다. 일반 사용자 애플리케이션과는 다르게 솔루션에 문제가 생기면 블루스크린이 발생합니다. 이는 운영체제의 커널 단에서 동작하는 특수성 때문입니다. 블루스크린은 시스템에 치명적인 영향을 미치므로 솔루션 개발과 검증과정에서 세심하게 확인하여 시스템의 안정성을 확보해야 합니다.

 

프로젝트 중 기억에 남는 것과 그 이유를 말씀해 주세요.

QNX라는 임베디드 운영체제에 네트워크 드라이버를 개발하는 프로젝트에 참여했습니다. H사의 플래그쉽 자동차에 탑재된 QNX 운영체제에서 동작하는 네트워크 드라이버를 개발해야 했는데 처음 접해보는 운영체제였고, 유료 운영체제라 관련 자료도 부족했습니다. 데모 시연 당일까지 밤을 새우며 프로젝트를 마무리했는데, ‘각고의 노력’이 무엇인지 생생하게 느꼈습니다. 한동안 잊고 있었는데, 질문을 듣자마자 이 프로젝트가 생각나는 걸 보니 그때 정말 힘들었던 것 같네요. (웃음)

 

이 업무에 필요한 역량에 관해 말씀해 주세요.

디바이스 드라이버 분야 개발 업무는 입사하여 차근차근 배워 나가면 되는 부분이므로 업무에 필요한 기본 역량 위주로 준비하면 될 것 같습니다. 기본적으로 C 또는 C++ 언어에 대한 이해도가 높을수록 좋습니다. 그리고 다양한 운영체제(Windows, Linux, Mac)에서의 개발 경험이 있으면 업무에 더 수월하게 적응할 수 있습니다. 사용하는 개발 툴은 Windows에서는 VisualStudio를 기본으로, Mac은 Xcode, Linux는 Vi나 VSCode 등의 개발 툴을 사용하고 소스 관리 및 이슈관리는 Github를 사용합니다.

디바이스 드라이버는 결국 외부 장치(휴대폰, 네트워크 카드, 모뎀 등)를 PC에 연결했을 때 사용(통신)할 수 있게 하는 중간 매개체 프로그램입니다. 그렇기 때문에 위와 같은 외부 장치들의 통신 방식을 알아야 합니다. 이때 각 장치들의 특성을 설명해 놓은 스펙(Specification)문서를 이해해야 하는데, 영어로 작성되어 있으므로 원문을 읽고 이해할 수 있는 정도의 영어 실력이 필요합니다.

Interview 02

최고의 Device Driver Solution Provider

 

데브구루에 입사한 과정이 궁금해요.

저는 서울산업대(현 서울과학기술대학교) 컴퓨터 공학과를 졸업했습니다. 신입생 시절 컴퓨터 공학과 내 동아리를 통해 ‘시스템 프로그래밍’과 ‘디바이스 드라이버’라는 분야를 알게 되었습니다. 처음 들어본 분야였는데, 원래 하드웨어를 제어하는 쪽에 관심이 많았고, 진입 장벽이 높아 남들이 잘 도전하지 않는 분야라는 점이 좋아서 흥미를 갖게 되었습니다. 졸업을 앞두고 있을 때, 디바이스 드라이버 관련 기업에 재직 중인 동아리 선배님들에게 정보를 받아 데브구루의 신입으로 입사했습니다.

 

현재의 업무에 가장 도움이 된 경험은 무엇인가요?

대학에서 동아리 활동을 한 것이 많은 도움이 되었습니다. 디바이스 드라이버라는 분야를 동아리에서 처음 알게 되었고, 현업에 계신 선배님들의 조언이 진로를 결정하고 데브구루 입사를 결정하는 데에 큰 영향을 주었습니다. 업무에 필요한 기술 역량도 동아리 활동을 통해 익힌 것이 많고요.

 

업무 역량의 성장을 위해 꾸준히 노력하는 부분을 말씀해 주세요.

가능하면 지금 내 직무와 그 분야의 범주 내에서만 머무르지 않으려고 노력하고 있습니다. 제가 개발하는 분야가 아닌 전혀 다른 분야의 책도 찾아보고 동영상도 찾아보곤 합니다. 그리고 요즘 IT 출판사에서는 베타 리더 또는 출간 도서 리뷰와 같은 활동들을 많이 지원하고 있습니다. 저도 한동안은 이런 활동을 통하여 한 달에 한 권씩 관심 분야의 책을 지원받고 리뷰하면서 현재에 안주하지 않으려고 노력했던 경험이 있습니다. (그런데 현재는 육아라는 핑계로 이런 활동을 쉬고 있습니다.)

 

이 업무의 어려운 점은 무엇이고 어떻게 극복하나요?

디바이스 드라이버 개발 분야는 운영체제 커널 내에서 동작하고 하드웨어와의 통신 통로 역할을 하므로 유기적으로 동작해야 합니다. 문제가 발생한다면 운영체제, 드라이버, 하드웨어 중 어느 곳의 문제인지 원인 파악이 필요합니다. 그런데 종종 문제 재현이 되지 않아서 원인 파악에 애를 먹는 경우가 있습니다. 이런 경우 많은 시간을 투자하여 재현 시나리오를 찾고 원인 파악을 하기도 하고 또는 일회성 문제로 판단되는 경우 의심되는 구간에 로그를 출력하도록 수정하고 향후를 도모하기도 합니다. 그냥 문제가 해결될 때까지 포기하지 않고 다양한 시도를 해 보는 것만이 극복 방법입니다. (웃음)

Interview 03

‘열정, 도전, 끈기’와 ‘의사소통 능력’을 갖춘 인재

 

데브구루의 근무 분위기와 인재상에 관해 말씀해 주세요.

데브구루 임직원의 근속 연차가 평균 8~10년 정도인 것으로 알고 있습니다. 자유도가 높은 근무 분위기 속에서 동료들과의 친목을 다지며 지내온 시간이 길기 때문에 정말 가족 같은 분위기 속에서 근무하고 있습니다. 인재상은 사내 입구에 걸려있는 ‘열정, 도전, 끈기’라는 3단어를 추구하고 여기에 더해 의사소통 능력을 갖춘 인재를 선호한다고 생각합니다.

 

IT 개발자를 희망하는 후배들에게 콘텐츠를 하나 추천해 주세요. 추천하는 이유는 무엇인가요?

개발 업무를 하면서 구글과 유튜브를 통해 많은 정보를 취득하며 도움을 받습니다. 이때, 국내에서 정리된 내용만으로는 부족한 경우가 있는데 이를 위해 해외 전문가의 자료 및 영상을 보며 해결하곤 합니다. 국내에는 본인이 겪고 있는 문제를 경험하고 해결한 사례가 없을 수 있으나 전 세계의 수많은 개발자들의 사례를 찾아보다 보면 그 해답을 찾는 경우가 많습니다. 이를 위해서 원서를 해석할 수 있는 정도의 영어 실력을 갖추길 추천합니다.

 

이 직무의 매력과 비전을 말씀해 주세요.

디바이스 드라이버 개발 직무는 유저 애플리케이션 개발과 다르게 커널 사이드에서 개발합니다. 드라이버의 사소한 오류가 시스템 전체를 망칠 수 있는데 이를 방지하기 위해서 개발자는 코드 한 줄, 변숫값 하나를 수정함에도 신중하고 또 신중한 모습을 볼 수 있습니다. 저는 그 안에서 스릴을 느끼고 꼼꼼하게 수행한 작업이 결실을 나타냈을 때 희열을 느낍니다. 마치 수천 개의 퍼즐을 맞추어 완성한 기분이라고 할까요? 이것이 디바이스 드라이버 개발직무의 매력이라 생각합니다.

 

같은 직무를 희망하는 구직자들에게 응원 및 조언 부탁드립니다.

개발에는 다양한 분야가 존재합니다. 디바이스 드라이버 개발처럼 개발자의 집중도가 프로젝트의 성과를 좌지우지하는 경우도 있고, 리스크가 적지만 성취도는 상대적으로 떨어지는 개발 분야도 있습니다. 자신이 좋아하고 적성에 맞는 개발 분야를 잘 찾아내서 그 분야에서 큰 획을 긋는 훌륭한 개발자가 되기를 기원하겠습니다.

 

>> 데브구루 기업정보 보러가기

>> 지금 채용 중인 IT·인터넷 직무 보러가기

 

잡코리아 직무인터뷰  잡코리아 객원 취재기자 super@jobkorea.co.kr

잡코리아 직무인터뷰
잡코리아 객원 취재기자