소프트웨어 공부의 핵심은 ‘알고리즘’과 ‘사람’ … 삼성소프트웨어멤버십 학생들을 만나다
대학교 졸업을 앞둔 4학년 개발자들이자 삼성소프트웨어멤버십 동기인 ‘야미야미’팀은 지난 제2회 글로벌 해커톤 – 웨어러블 챌린지에서 우수상을 받았다. 그저 수상의 성취감을 맛보고 싶어 참가했다는 이들에게는 예상과 달리 치열한 자세도, 거창한 계획도 없었다. 반면에 이들이 개발한 스마트워치용 서비스는 수다 떨며 뚝딱 만들었다기에는 담백하면서도 섬세했다. 이들이 뿜어내는 유쾌한 에너지에 궁금함을 멈출 수 없었다. 인터뷰를 위해 삼성소프트웨어멤버십 강북센터를 찾았다.
‘야미야미’팀의 개발 팀원들. 왼쪽부터 김영성(24), 이주찬(25), 이지애(24), 전상수(27), 양봉수(25).
삼성소프트웨어멤버십 동기들끼리 참가했다.
우리는 올해 1월부터 삼성소프트웨어멤버십 강북센터 25-1기로 활동하고 있는 동기생들이다. 전상수 팀장이 동기들 단체 채팅방에 ‘글로벌 해커톤’이라는 행사에 참가하고 싶은 사람이 있는지 물어 팀을 구성하였다. 이주찬 팀원 같은 경우에는 전상수 팀장이 새벽 2시에 전화해서 영입했다. 참가할 수 있는 행사 중에서 가장 가까운 시일 내에 있던 행사이기도 했다.
틈틈이 센터 회의실에서 모여서 자유롭게 서비스 아이디어에 관해 의논했다. ‘다마고치’를 키우는 서비스를 만들어보자는 의견도 있었고, 스마트워치용 앱의 단골분야인 헬스케어 서비스 이야기도 나왔다. 심장박동 센서를 활용하여 상대방의 호감도를 알아보는 ‘그린라이트’ 서비스, 내 기분 상태에 따라서 경로를 안내하는 네비게이션 서비스 아이디어도 있었다. 행여 쓸데없는 아이디어라고 하더라도 생각에 한정을 짓지 않고 아무거나 던진 후 괜찮겠다 싶은 아이디어를 선택해나갔다. 어차피 우리 모두 서비스 구현 능력을 갖춘 개발자들이므로 개방적인 분위기 속에서 회의를 진행하는 편이다.
스케쥴러 서비스, ‘G Calendar’를 떠올린 계기
원래 우리의 첫 서비스 아이디어는 스마트 알람이었다. 스마트워치로 사람의 수면을 단계별로 파악한 후 점차적으로 알람을 울려 깨울 수 있게 하고, 심박 수와 움직임을 인지하여 아직 침대에서 일어나지 않았다면 추가적인 조처를 하는 서비스였다. 그런데 행사 사전설명회를 다녀온 후 아이디어를 급선회하게 된다. 이미 이와 유사한 서비스가 있다는 이야기를 들어 개발 흥미가 떨어졌기 때문이다.
우리는 ‘삼성 기어 SDK’ 스마트워치 제품에 있는 로터리 휠 기능에 주목했다. 그리고 손목에 차고 있으니 별도로 꺼내보지 않아도 알림을 받을 수 있다는 웨어러블 기기의 장점을 연결해 시계의 본질을 생각해보았다. 우리가 평소에 시간을 확인하는 이유는 자신의 일정을 파악하기 위함이지 않나. 그러나 현재 우리는 시간 체크 따로, 스케쥴 체크 따로 하고 있다. 우리는 로터리 휠을 활용한 스케쥴러 서비스로 두 가지 행동을 합쳐보기로 했다.
어떻게 한 번에 스케쥴 확인이 가능한가.
서비스 초기 콘셉트는 초등학생들의 방학 생활 계획표였다. 그보다 더 단순하면서도 깔끔하게 만들고 싶었다. 원형의 시간표를 다 보여주면 지저분할 것 같았다. 가독성을 높여 한 번에 스케쥴을 확인할 수 있게 하고 잡다한 기능을 빼서 해커톤 행사에서 보여줄 수 있는 최대의 기능을 보여주기로 마음먹었다.
메인 화면이라고 할 수 있는 첫 번째 화면에는 시계를 보여주되 동그란 점 포인트와 침 포인트 UI를 활용하여 로터리 휠을 돌리면 나오는 두 번째, 세 번째 화면에 해당 시간대에 예정된 스케쥴과 날씨를 각각 보여주는 거로 구현하기로 했다. 이를 위해 일정 데이터는 ‘구글 캘린더‘에서, 날씨 API는 ‘오픈웨더맵‘에서 가져온 후 스마트폰과 웨어러블 기기를 연동하였다.
이렇게 되면 기존에 스마트폰을 꺼내서 잠금화면을 풀고, 캘린더 앱을 누르고, 오늘 날짜를 눌러 확인했던 스케쥴을 단순히 로터리 휠을 돌려 확인할 수 있게 된다.
서비스를 더 발전시킬 계획은 없나.
현재까지 개발한 서비스에다가 좀 더 자연스러운 화면 전환을 돕는 애니메이션 효과와 적정 알림 기능을 추가하여 해당 웨어러블 기기가 시장에 출시될 즈음에 앱 스토어에 런칭할 예정이다. 또한, 사용자가 로터리 휠을 계속 돌리는 예상 밖의 동작을 했을 때 나타날 수 있는 버그를 사전에 없앨 수 있도록 예외 상황에 대한 처리를 잡아줄 예정이다.
서비스 개발 외에 이곳에서 하고 있는 활동은 무엇인가.
삼성소프트웨어멤버십 회원으로 선발되면 6개월마다 최소 1개의 자유 과제를 수행하며 각자의 경력을 만들어나가게 된다. 학교 팀 프로젝트를 할 때의 느낌과는 달리 여기서는 모두가 개발에 대한 열의를 갖고 주도적으로 과제에 임하는 것이 특징이다. 센터 사무실 출퇴근에서부터 과제 기획, 팀 구성 등 모든 과정은 자율적으로 이루어진다. 무엇보다 다양한 학교와 학과 출신의 사람들이 모여 있어 내가 알지 못하던 분야를 공부할 수 있고 학교에서보다 더 높은 수준의 프로젝트를 진행해볼 수 있는 매력이 있다. 로봇학부에 재학 중인 전상수 팀장과 김영성 팀원 같은 경우에도 이곳에 와서 소프트웨어에 관한 전반적인 공부를 하는 중이다.
전상수 팀장은 현재 기어 VR과 하드웨어를 연동하는 과제를, 양봉수 팀원은 무료 인터넷 강의 웹 서비스 과제를, 이주찬 팀원은 동영상 편집 프로그램에 관한 과제를 수행하고 있다.
소프트웨어 공부에 있어 중요한 점은 무엇이라고 생각하나.
‘알고리즘’과 ‘사람’을 꼽고 싶다. 소프트웨어 분야에서는 알고리즘 문제를 많이 풀어보고 공부하는 것이 중요하다. 기업에서도 입사 시험으로 알고리즘 문제를 선택하는 추세이다. 개발자 수는 점점 많아지고 있지만, 개발을 잘하는 개발자는 적다. 코딩할 줄 아는 것이 기능을 만들어내는 능력을 갖춘 거라면, 알고리즘을 짜는 것은 문제 해결 능력을 갖추는 것이다.
예전에 커브드 스마트폰이 출시된 적이 있었다. 스마트폰 기기를 상하로 또는 좌우로 휘어져 있도록 만들기 위해서는 고도의 기술력이 있어야 하므로 기술적으로는 대단한 제품임은 틀림없었지만 판매량은 저조했다. 사용자가 필요로 하는 상품이 아니었기 때문이다. 소프트웨어는 결국 사람이 쓰는 것이다. 사람을 이해해야만 좋은 소프트웨어가 나온다고 생각한다. 다시 말해 기술에 감성을 입힐 줄 알아야 한다. 그래서 기술적인 부분보다는 사람에 대해 먼저 알았으면 좋겠다. 개인적으로 인문고전 책 읽기와 봉사활동을 추천하고 싶다.
끝으로 하고 싶은 말
20대 때 많은 경험을 해보는 게 좋은 것 같다. 딱히 손해 보는 게 없을 때라고 생각한다. 그리고 어떤 커리큘럼을 따라간다고 해서 잘 되는 것도 아니고, 따라가지 않는다고 해서 안 되는 것도 아니라고 본다. 놓치지 않으려고 하면 다 놓친다. 무언가를 하게 되면 놓치는 게 생길 것 같아서 안 하려고 하는데, 실제로 그렇게 잃을 게 많지 않다.
우리는 재미를 추구한 팀이었고 “다 같이 즐기고 오자.”는 가벼운 마음으로 행사에 참가했었다. 즐기면서 개발하니까 오히려 더 좋은 결과가 있지 않았나 싶다. 여러분도 지금 생각하고 있는 일을 바로 실천했으면 좋겠다. 우리는 보통 생각만 많이 하기 마련이다. 하고 싶은 걸 하시라.
원문 : [우리지금만나 8] 삼성소프트웨어멤버십 학생들을 만나다
안경은 앱센터 외부필진 / 자신이 하고 싶은 일을 하는 사람들을 좋아합니다. 그들의 이야기에 귀를 기울이는 것을 즐깁니다. 글로 정리해 사람들과 공유할 때 신이 납니다.