본문 바로가기

Dream

Mobile S/W Engineering 직무 소개

< Daum Interview - 임강석 >


직무에서 주로 수행하는 구체적인 업무는?

Mobile S/W Engineering은 모바일 및 하이브리드 앱을 개발하는 업무를 담당합니다. 모바일 앱은 아이폰 앱 스토어(AppStore)나 안드로이드 마켓(Market)에서 받을 수 있는 다양한 앱들이라고 생각하면 됩니다. 하이브리드 앱도 앞서 설명한 모바일 앱과 같지만 웹 기술(HTML, Java Script, CSS)을 좀 더 많이 사용하는 앱이라고 생각하면 됩니다. 이런 앱들은 점차 iPad, 갤럭시 탭과 같은 태블릿 기기, Daum TV, Google TV 같은 스마트 TV 등 다양한 스크린(N-Screen)으로 확장을 하고 있기 때문에 빠르게 범위가 넓어지고 있습니다. 또한 안드로이드, 아이폰 뿐만 아니라 MS의 윈도우폰, 삼성의 바다, RIM의 블랙베리 등 제 3의 모바일 OS가 무엇이 될 것인지에 따라서 더욱 넓어 질 것이라고 생각됩니다. 간단히 직무 내용을 정리를 하자면 우리가 일상적으로 사용하는 스마트폰에서 사용하는 앱들을 만들고 있으며 앞으로는 우리가 상상할 수 있는 스마트 폰 OS, 다양한 기기들에서 사용하는 앱들을 개발하고 있습니다.

하루 일과는?

하루의 시작은 스마트폰과 함께 합니다. 출근, 퇴근 시간 등 스마트폰을 통해 새로운 소식을 Feed, 트위터, 검색 등을 스마트폰으로 하고, 개발하고 있는 앱의 사용성 및 기능 확인도 스마트폰으로 합니다. 오전에는 15분 정도 팀 전체가 짧은 미팅을 통해 어제 한일, 오늘 할일, 중요한 이슈 등을 공유 합니다. 이외에도 논의할 것이 생기면 바로 바로 모여서 논의를 하고 진행을 하며, 타 팀과의 협업이 필요하면 회의를 합니다. 논의 및 회의를 하고 나니 고민이 풀리기도 하지만 새로운 업무가 생기기도 합니다. 만든 앱을 배포를 하기 전에는 Q/A(Quality Assurance)라는 과정을 거치게 되는데 이 기간 동안은 주로 버그를 없애는 일을 합니다. 쉽게 생각하면 사용자가 되어 테스트를 하고 문제를 발견하고 문제를 해결하는 과정이라고 보면 됩니다. 이 기간 동안은 빠르고 안정적인 앱을 만드는 것이 가장 중요한 목표 입니다. 이러한 일상적 업무와 더불어 앞으로를 위해 다양한 작업을 합니다. 중복작업을 줄이고 창의적인 일을 하기 위해 라이브러리화 작업도 하고, 반복되는 작업을 줄이기 위해 자동화를 하며, 더 나은 자신의 발전을 위해 서로의 지식을 공유합니다.

직무를 수행하는데 요구되는 자질은?

Mobile S/W Engineering은 새로운 기술이 너무나 빠르게 넘쳐나는 분야입니다. 변화하는 정보들을 빠르게 습득하고 근 미래를 예측하여 남보다 빨리 대응해야 합니다. 그래서 트랜드 변화에 민감해야 합니다. 아이폰 개발을 위해 C++, Objective C, 안드로이드 개발을 위해 Java를 알아야 하며 최근 들어 더욱 중요해진 하이브리드 앱 개발을 위해 웹 표준 기술(HTML/Java Script/CSS)등을 알아야 합니다. 아무리 좋은 앱도 서버가 없이 동작을 하기는 힘 들기 때문에 Back-End 기술도 알아야 합니다. 스마트 폰 뿐만 아니라 다양한 기기에서 프로그래밍을 해야 하기 때문에 저 사양의 기기에서 최첨단 고사양의 기기까지 고려를 해야 합니다. 저 사양 기기에서 최적의 성능을 위해 Performance Tuning에 신경을 써야 하며 알고리즘, 자료구조가 중요합니다. 마지막으로 우리의 고객은 아이폰, 안드로이드 등 다양한 기기를 사용하기 때문에 다양한 기계에 관심을 가지고, 다양한 개발에 관심을 가져야 합니다.

직무의 특성 또는 직무 수행 시 느끼는 어려운 점, 만족스러운 점은?

앱을 배포 후에 버그를 확인하고 수정 업데이트 하는 것이 Mobile S/W Engineering직무의 특징입니다. 앱 개발 이후, Q/A단계를 거치더라도 버그는 여러 개가 존재할 가능성이 높습니다. 때문에 다음 버그 수정 배포에서 해결할 버그들을 정합니다. 이전 버전에서 업데이트를 한 경우에도 문제가 없도록 수정을 해야 하기 때문에 하위 호환성을 고려해서 수정을 해야 합니다. 너무나 다양한 기기들이 존재를 하기 때문에 예측할 수 없는 문제들이 많습니다. 해당 기기를 가지고 있지 않은 경우 문제 해결이 어려운 경우들이 있습니다. 다양한 창의력을 발휘하여 어려운 난관을 헤치고 문제를 해결을 해야 합니다. 하지만 배포를 하려면 Q/A를 해야 하고 AppStore의 경우 승인 기간이 있습니다. 승인 기간을 거치고 나면 버그가 수정된 버전이 등록이 됩니다. 하지만 앱을 설치한 사용자가 업데이트를 하지 않으면 여전히 버그가 존재하는 상황이 발생합니다. 결국 이런 문제들로 버그를 해결하는데 에는 수많은 어려움이 있습니다. 그래서 더욱 더 버그를 최소화해야 하며 앱을 개발하는 사람은 항상 꼼꼼하고 안전하게 개발을 하는 습관이 있어야 합니다.

직무의 비전과 성장 경로는?

앞으로 앱 기술은 이보다 훨씬 다양하게, 그리고 훨씬 더 생활 깊숙이 파고들 것입니다. 스마트폰 뿐만 아니라 TV나 냉장고, 세탁기 등의 가전제품에서도 앱을 이용하여 다양한 컨텐츠를 즐기고 요리법을 확인하거나 빨래를 원격으로 하는 등, 앱 기술은 다양하게 변화하고 실 생활에 밀접해 지고 있습니다. 이러한 시대 변화와 더불어 앱/웹 기술의 역할은 더욱 확장할 것이고 더욱 많은 곳에서 필요로 할 것입니다. 다양한 개발을 통해 얻은 경험과 꾸준한 자기 계발을 통해 전문가로 성장 할 수 있습니다.