"서울대생 필수앱, 우리 작품이죠"..서울대 개발동아리 '와플스튜디오' [스물스물]

문광민 2021. 6. 11. 17:27
음성재생 설정
번역beta Translated by kaka i
글자크기 설정 파란원을 좌우로 움직이시면 글자크기가 변경 됩니다.

이 글자크기로 변경됩니다.

(예시) 가장 빠른 뉴스가 있고 다양한 정보, 쌍방향 소통이 숨쉬는 다음뉴스를 만나보세요. 다음뉴스는 국내외 주요이슈와 실시간 속보, 문화생활 및 다양한 분야의 뉴스를 입체적으로 전달하고 있습니다.

서울대 개발동아리 '와플스튜디오'
서울대학교 학생들만 이용할 수 있는 시간표 어플리케이션(앱) 스누티티(SNUTT)의 누적 가입자 수는 3만 명에 이른다. 2012년에 처음 만들어졌고, 학년도별 서울대 신입생이 3300명 내외라는 점을 고려하면 현재 서울대생 대부분이 SNUTT를 사용하고 있는 셈이다. 앱의 관리자는 '와플스튜디오(WaffleStudio)'라는 서울대 컴퓨터공학부 소속 동아리다.

와플스튜디오는 2007년 개발과 창업에 관심이 깊은 서울대 컴퓨터공학부 재학생들이 같이 개발 활동을 이어갈 사람을 찾기 위해 만들어졌다. 동아리 이름엔 '와플처럼 맛있는 서비스를 만들자'는 의미가 담겼다. 와플스튜디오는 SNUTT 외에도 'SNUEV'(서울대 강의평가 서비스), '샤달'(서울대 무료 배달 앱), '식샤'(서울대 학식 메뉴 앱) 등 서울대생들이 일상적으로 사용하는 서비스를 운영하고 있다. 이들 앱은 광고 하나 없이 무료로 운영된다.

와플스튜디오 회장 최한결 씨(컴공 15)
와플스튜디오 회장을 맡고 있는 최한결 씨(26·컴퓨터공학부 15학번)는 "우리 동아리는 수익화를 철저히 지양한다. 운영하는 서비스들도 결국 저희의 개발 실력을 높이는 데 초점이 맞춰졌다"고 말했다. 또 "개발자 커뮤니티를 만들어서 잘하는 사람을 옆에 두고 다 같이 배우면서 시너지 효과를 통해 개발자로서 더 빠르게 성장하는 게 와플스튜디오의 목적"이라고 했다.

다음은 와플스튜디오 학생들과의 일문일답.

―교내에서 와플스튜디오의 인지도는.

▷최한결=코로나19 상황에도 불구하고 루키 교육과 여러 프로젝트 활동을 체계적으로 하면서 지원자도 꾸준히 늘고 있습니다. 루키 교육 지원자 수를 기준으로, 2019년에 20명에서 2020년 60명으로 늘어났습니다. 또 체험 홍보를 대신 해달라는 메일부터 채용 진행과 관련한 연계 프로그램을 제안하는 메일까지, 최근 들어 회사들에서도 연락이 자주 들어옵니다.

―동아리 신입회원은 어떻게 모집하고 있나.

▷최한결=와플스튜디오는 개발 경험, 능력 등에 따라 Rookies, Programmers를 따로 모집합니다. Rookies는 프로그래밍 언어를 접해본 경험이 있고 웹/모바일 개발 경험이 없는 사람들을 뽑고, 2학기가 시작하기 전 모집합니다. Programmers는 앱/웹 개발 프로젝트를 참여해본 경험이 있는 분들, 또는 이에 준하는 실력이 있는 분들을 뽑고, 1학기 시작 후 모집합니다. Rookies의 경우 5개월 동안 난이도 높은 세미나와 과제를 진행하고 이를 잘 수행한 분들은Programmers로 승급해 프로젝트를 시작할 수 있는 자격을 얻게 됩니다.

―아이디어 착안부터 결과물 배포까지의 과정은.

▷최한결=저희는 기획자를 따로 두지 않습니다. 팀 프로젝트를 하고 싶은 개발자, 디자이너들끼리 아이디어 제안 회의를 합니다. 아이디어를 제안한 사람이 팀을 꾸리고, 각 개발자와 디자이너들은 회의에서 나온 아이디어에 참가합니다. 6개월~1년 정도 개발해서 서비스가 나오면 와플스튜디오 서버에 서비스를 올리고 학내에 홍보한 후 서비스를 시작합니다.

와플스튜디오 'SNUTT' 팀이 회의하고 있다. [사진=와플스튜디오]
―개발 과정에서 겪는 시행착오 사례는.

▷최한결=모든 개발 과정이 시행착오입니다. 개발을 시작할 때에도 많은 방법들 중 서비스에 맞는 최선의 방법을 찾아 설계해야 하고, 개발 도중에도 매일 새로운 버그와 문제에 맞닥뜨립니다. 저희는 이런 경우, 비슷한 사례를 검색하거나 와플스튜디오 선배들에게 질문해서 해결합니다. 예를 들어 개발 도중 성능이 예상보다 나오지 않는 경우 검색을 통해 성능을 개선시키기 위한 다양한 옵션들을 미리 찾아봅니다. 서비스의 상황, 해당 옵션을 사용하기 위한 비용 등을 종합적으로 고려해본 후 최선의 방식을 찾습니다. 그래도 문제가 있는 경우엔 와플스튜디오 내부 Q&A를 통해 선배들에게 질문해 성능 문제를 해결합니다.

―시중의 서비스를 이용하면서 경외감이 드는 경우는.

▷최한결=구글·네이버 검색, 카카오톡 등 엄청난 규모의 데이터를 다루는 서비스들이 안정적으로 돌아가는 것을 보면 경외감을 느낍니다. 구글에서 검색할 때마다 이런 생각이 듭니다. 검색어 하나를 입력할 때마다 10만개 이상의 검색 결과가 나옵니다. 동시간대에 검색하는 사람들이 또 전 세계에 수천만명이 있을 것입니다. 상상할 수 없는 규모의 검색자들과 데이터가 어딘가에 저장돼 있을 텐데 그게 또 0.5초 만에 튀어나오는 것을 보면 경이롭습니다. '이 결과값들은 대체 어디 저장돼 있는 걸까.' 이런 생각을 합니다.

와플스튜디오 운영팀 조일현 씨(컴공 15)
▷조일현(25·컴퓨터공학부 15학번)='뱅크샐러드'나 '토스' 같은 금융 서비스들이 만들기 힘든데, 정말 멋집니다. 정부의 마이데이터(Mydata)가 상용화되면 와플스튜디오에서도 시도해 볼 수 있지 않을까 하는 생각이 듭니다.

―개발자의 관점에서 '아름다운' 결과물의 기준은.

▷최한결=개발자 관점에서 좋은 결과물은 우선 성능이 매우 뛰어나고 활용성·재사용성이 높은 결과물입니다. 이 중에서도 '아름다운' 결과물은 해당 성능과 활용성·재사용성을 구현함에 있어서 군더더기 없이 깔끔한 것입니다. 수학이나 다른 예술적 분야에서도 단순하지만 핵심을 찌르는 것들이 '아름답다'고 평가됩니다. 개발도 마찬가지입니다. 단순하지만 핵심을 찌르는 것들이 더할 것도 뺄 것도 없이 완벽하다고 평가됩니다.

와플스튜디오 운영팀 김상민 씨(컴공 18)
▷김상민(21·컴퓨터공학부 18학번)=많은 개발자에게 아름다움의 기준은 '얼마나 깔끔하고 응집성과 결합성을 잘 갖춘 코드를 작성하였는가?'라고 생각합니다. 눈에 보이는 프로덕트의 매끄러움도 중요하지만, 일반적으로 프로덕트의 매끄러움은 UX(User Experience)/UI(User Interface) 디자이너나 기획자와의 협력을 통해 나타나는 편이지만, 개발자만이 추구할 수 있는 아름다움은 코드의 퀄리티에서 나타난다고 생각합니다.

―코딩을 배운다면 일상이 얼마나 달라진다고 생각하나.

▷최한결=코딩은 결국 컴퓨터와 하는 대화입니다. 코딩을 배우면 컴퓨터에게 더욱 많은 작업을 시키고, 더욱 디테일한 요구를 할 수 있습니다. 컴퓨터로 반복적인 작업을 하는 사람들이 많은데 이런 사람들이 코딩을 배운다면 많은 일을 컴퓨터가 대신 처리해 줄 수 있을 것입니다. 생산성도 높아질 수 있습니다.

와플스튜디오 운영팀 변다빈 씨(언어학과·컴공14)
▷변다빈(25·언어학과&컴퓨터공학부 14학번)=인터넷을 이용하는 모든 사람들이 인터넷에 대한 원리를 이해해야하는 것은 아니듯, 막연한 위기감 때문에 스트레스를 받아가며 관련 지식을 배울 필요는 없다고 생각합니다. 자연스레 흥미가 생길 때, 또는 스스로 필요하다고 느낄 때 IT 분야에 대한 두려움을 갖지 않고 접근하는 열린 마음 정도를 가지면 좋겠습니다.

―개발에 관심 있는 대학교 인문사회계열 학생들에게 조언을 해준다면.

▷최한결=개발에 관심이 있으시다면 어떤 공부든 시작해보시고 빨리 자신만의 프로그램을 만들어 보시기 바랍니다. 다만 프로그래밍이란 것은 엄청난 인내심과 집중력을 요구하기 때문에 마음의 준비를 하고 뛰어 드시기 바랍니다.

▷변다빈=저는 문과 출신으로, 인문대에 주전공을 두고 있는 개발자입니다. 진지한 마음으로 개발자가 되길 원한다면, 조금 답답할지라도 각 기술들의 근본적인 원리를 소홀히 하지 않으면 좋겠습니다. 기본 지식이 탄탄하면 새롭고 다양한 지식을 접할 때 배우는 속도가 갈수록 빨라지고, 문제 해결 능력도 좋아질 수 있습니다. 조급한 마음에 겉핥기식 학습을 하기보다, 자신이 경험한 것에 확신을 가질 수 있는 개발자가 되면 좋겠습니다. IT기업은 늘 구인난이라지만, 그들이 원하는 것은 기본이 튼튼한 능력 좋은 개발자입니다. 자신감을 키우고 자신의 경쟁력을 증명할 가장 좋은 방법은 혼자 또는 주변 사람들과 직접 무언가를 만드는 것입니다.

―학원에서 코딩을 배우는 인문사회계열 학생들이 놓치기 쉬운 것은 무엇이라고 생각하나.

▷최한결=공학적인 시각으로 접근하는 것을 놓치기 쉽습니다. 프로그램을 만드는 것은 다리를 짓는 것과 비슷합니다. 학원에서 6개월~1년 가까이 배우면 누구나 그럴 듯한 프로그램과 웹 페이지를 만들 수 있습니다. 하지만 효율성·안정성을 고려하지 않는다면 여러 상황에 대처하지 못하고 무용지물이 되므로 공학적인 시각에서 충분히 고민하는 과정이 필요합니다. 구체적으로 어떤 학습이 더 필요한지는 공학적 시각에서 자신의 코드에 질문을 계속 던지며 탐색을 해나가면 자연스럽게 얻을 수 있을 것입니다.

▷변다빈=학원에서 프로그래밍 지식을 익히려는 분들은 대부분 마음이 조급할 것입니다. 그러나 지금까지 개발 경험을 돌아보건대, 급하게 성과를 내려고 하는 경우에는 결과물이 만족스럽지 못하거나, 완성하더라도 그 과정에서 얻을 수 있는 지식을 충분히 학습하지 못한 경우가 많았습니다. 입문 단계는 학원이나 강의 등 타인의 도움을 받는 것이 효율적일 수도 있겠지만, 개발은 다른 분야들과 달리 문제에 당면했을 때 그 원인을 분석하고 해결책을 찾아나가는 과정 자체가 실력이고 업무입니다. 아무리 많은 경력을 가진 사람이라도 모르는 것이 있을 수밖에 없습니다. 끊임없는 검색과 주변 사람들을 통해 모르는 부분을 빠르게 보완해나갈 줄 아는 게 좋은 개발자라고 생각합니다. 이러한 '문제 해결 능력'을 기르기 위해선 학원에 너무 의존하지 않고 스스로 프로젝트를 진행하며 수많은 시행착오에 직면해야 합니다.

와플스튜디오 'SNUTT' 팀이 앱 사용자에 관한 온라인 회의를 하고 있다. [사진=와플스튜디오]
―개발 분야에선 새로운 공부거리가 끝없다. 변화를 따라가기 벅차진 않나.

▷최한결=저는 변화를 즐기는 편이라 변화를 따라가기 벅차다고 생각해 본 적은 아직 없습니다. 제가 새로운 기술을 보는 관점은 얼리어답터가 최신 휴대전화를 보는 관점과 같습니다. 최신 기종이 나왔을 때 많은 사람들은 변경 사항을 알아보고 직접 매장에서 새로운 기능을 사용해보며 즐거워합니다. 마찬가지로 저도 새로운 기술이 소개됐을 때 배움에 대한 걱정을 하기보다 해당 기술이 가져올 변화를 기대하고, 해당 기술을 사용해보면서 즐거움을 느낍니다.

▷변다빈=몇 년만 지나도 주요하게 사용하는 기술이 변화하는 경우가 많습니다. 때문에 끊임없이 새로운 변화를 감지하고, 이를 학습하는 일을 게을리 하지 않아야 합니다. 그러나 수많은 변화 속에서도 근본적인 아이디어 자체까지 뿌리째 바뀌는 경우는 흔치 않습니다. 기본기를 잘 다진 개발자라면, 새로운 공부거리는 부담이 아닌 즐거움에 가까울 것이라 생각합니다.

▷조일현=근본이 잘 잡혀있는 개발자 입장에서 새로운 기술이나 프레임워크를 배우는 것은 귀찮을 뿐, 쉽습니다. 공부 시간을 새로운 기술, 프레임워크가 아닌 실질적인 개발 원론을 공부하는 데 더 많이 투자해야 합니다. 개발 초창기에는 새로운 기술 변화를 신나게 따라가려고 노력했는데 이제는 좀 더 조심스럽게 적용하고 있습니다. 좋아 보이는 신기술이 처음의 하이프(hype) 때문에 사용자들이 많아졌다가 문제점이 있는 걸 발견하고 버려지는 경우도 있어서 이미 알고 있는 믿을 수 있는 기술에 더 의존하게 되는 경향이 생기는 것 같습니다.

―롤모델로 삼는 개발자가 있는가.

▷최한결=롤모델은 딱히 없습니다. 주변에 있는 개발을 잘하고 배움을 계속 해나가는 동료·선배 개발자들을 보면서 자극을 얻습니다.

―개발자에게 필요한 자세는.

▷변다빈=다른 사람이 커리큘럼을 정해주거나 과제를 내주지 않아도, 혼자 공부하고 성장할 줄 아는 게 가장 중요합니다. 개발 과정에서 수많은 낯선 문제를 맞닥뜨리게 되는데, 주변의 도움을 받을 수도 있겠지만 기본적으로는 스스로 문제를 이해하고, 정의하고, 해결할 수 있어야 합니다. 답이 보이지 않는 상황에서도 좌절하지 않고 밤을 새서라도 문제를 해결하겠다는 끈기도 필요합니다. 다른 분야의 분들과 원활한 대화가 가능한 의사소통 능력도 중요합니다. 대부분 결과물은 다른 개발자들, 기획자, 디자이너 등 다양한 사람들과 소통하며 만들어집니다. 무엇보다 개발자는 새로운 것을 만들어내는 즐거움을 느낄 줄 아는 사람이어야 합니다.

와플스튜디오 ’SNUTT’ 팀 [사진=와플스튜디오]
―개발자만이 누릴 수 있는 행복은.

▷최한결=하루 종일 고민하던 문제를 해결했을 때의 성취감에서 오는 행복, 원하는 것을 만들고 사람들이 그 가치를 공감해 주는 데서 오는 행복

▷변다빈=영국의 SF 소설가이자 미래학자인 아서 C. 클라크는 '충분히 발달한 과학 기술은 마법과 구별할 수 없다'는 말을 남겼습니다. 우리는 과거의 사람들이 마법이라 여길만한 일들이 일상이 된 사회에서 살고 있습니다. 개발자는 이런 사회에서 IT 기술 원리를 이해하고, 개인의 영향력을 극대화할 수 있는 직업 중 하나입니다. 문자들의 나열인 코드만으로 수많은 사람들의 삶에 영향을 주는 즐거움을 가질 수 있으니까요. 또 개발 과정에서 수많은 문제 해결이 수수께끼를 풀어가는 것과 비슷하기에 이런 지적 만족감을 얻을 수도 있습니다.

▷김상민=실제로 개발 업무가 본인의 성장과 직접적인 관련이 있는 경우가 굉장히 많습니다. 다양한 코드를 짜 보면서 더 좋은 코드를 짜기 위한 방법을 고민하고, 새로운 패러다임을 공부하는 게 자연스럽게 진행됩니다. 항상 새로운 것을 배우고 더 좋은 개발자로 발전하는 기쁨을 누릴 수 있는 게 개발자가 누리는 가장 큰 즐거움입니다.

[문광민 기자]

[ⓒ 매일경제 & mk.co.kr, 무단전재 및 재배포 금지]

Copyright © 매일경제 & mk.co.kr. 무단 전재, 재배포 및 AI학습 이용 금지

이 기사에 대해 어떻게 생각하시나요?