본문 바로가기

컴퓨터과학부 2학년의 경험

빔프로젝터 / 빔프로젝터로 실행해본 게임 앱 / 빔프로젝터로 실행해본 밤하늘의 별을 보여주는 앱

 

1학년 2학기, 학과 행사 경품 추첨에서 운이 좋게도 빔프로젝터에 당첨되었다. 성능은 그저 그랬지만, 안드로이드 기반이라 다른 앱을 설치할 수도 있었다. 키보드와 마우스를 블루투스로 연결해 게임을 돌려도기도 하고, 밤하늘의 별들을 보여주는 앱을 만들어 천장에 비추곤 했다.

여름방학 때 게임 앱을 만들어보기도 했고, 안드로이드 기반 빔프로젝터로 이리저리 갖고 놀다보니 자연스럽게 안드로이드 개발에 관심이 생겼다. 게임 앱과 밤하늘의 별 앱은 플래시로 만든 것이지만, 이제는 더 표준적인 방법인, 안드로이드 스튜디오를 설치해 자바로 앱을 만들어보고 싶어졌다. 당시 내 노트북은 비록 저전력 CPU에 내장그래픽이었지만, 충분한 인내와 함께라면 어찌어찌 개발은 할 수 있었다. 그렇게 자바를 배우기 시작해 학교 공지사항을 보여주는 앱 같은 것들을 만들고 놀았고, 자연스럽게 플래시는 내려놓게 되었다.

 

매우 간단한 내용의 외주 앱 개발

 

그러다 같은 과 동기의 지인으로부터 앱 개발 외주 제안을 받게 되었다. 앱의 내용은 구글 지도 상에서 실시간으로 추가/변경되는 경유지를 포함하는 최적의 경로를 표시하고 시뮬레이션 하는 것이었다. 당시에 앱 개발 경험도 부족하고 자바 또한 잘 몰랐던 나로서는 매우 무모한 선택이었지만, 상업용 출시가 아닌 프로토타입 정도의 확인만을 목표로 하셨기에 흥미롭게 제안을 수락했다. 나름 열심히 구글링하고 문서를 읽어가며 어떻게든 앱에 구글 지도를 띄우고, 마커와 경로를 표시하고, 길찾기 알고리즘을 적용해 개발했다. 구글 지도는 국내에서 대중교통 외 길찾기 기능이 제공되지 않았기에 직접 강남 일대 주요 도로에 대한 데이터를 직접 작성했다. 굉장히 단순하고 볼품없지만 어쨌든 주어진 요구사항과 날짜를 맞춰 완료했고, 약간의 용돈도 생겼다.

 

정말로 입문자를 위한 좋은 책이었다.

 

한편으로는, 같은 기간에 나는 운이 좋게도 이지스퍼블리싱 출판사의 책 베타테스터에 선정되어 아이폰 앱 개발도 함께 진행했다. 당시 저렴한 윈도우 노트북 밖에 없던 나는, (바림직하진 않지만) 해킨토시를 통해 책을 따라 앱 개발을 진행했다. 하지만 베타테스터 활동 목적으로만 개발했을 뿐, 지나치게 낮은 성능의 컴퓨터에서 더 많은 것을 하진 않았다. 학생으로서 앱스토어 개발자 등록 비용 또한 부담되었고, 다른 재밌는 것들이 많았기에 내 iOS 및 Swift 개발은 이때가 처음이자 마지막이 되었다.

 

가장 공을 들여 만들었던 앱이다.

 

5월 학교 축제와 6월 기말고사 사이의 그 애매한 기간, 나는 사실상의 마지막 앱 개발을 하게 된다. '내가 정말 플래시에 의존하지 않고 게임 앱을 만들 수 있을까?'에 대한 답으로, 간단하지만 예쁜 게임을 하나 만들었다. 만들고 보니 꽤 오랜 시간을 플레이하게 되었는데, 이제 내가 더이상 앱 개발을 하지 않으니 언젠가 웹으로 다시 만들어보고 싶긴 하다. 앱을 만든 이후에 아는 동생이 이것을 즐겨하게 되어서 고마운 마음에 몇 번 더 개선하곤 했지만, 그 외 간단한 목적을 제외하곤 더 이상 앱 개발을 하지 않게 되었다. 인생의 큰 분기점 하나를 만났기 때문이다.

 

2학년 때 나는 부학생회장이기도 했고, 연애도 했고, 안드로이드 앱 외주 개발과 iOS 앱 베타테스터를 동시에 진행했으며, 학교 공부도 열심히 하되 친구들과도 열심히 놀았다. 정말 정신없는 날들이었다. 그러다 1학기 어느 과목의 기말고사를 1시간 앞두고 입영통지를 받아 여름방학 때 군복무를 시작하게 되었다. 비록 4급 보충역이었기에(원래 3급이었는데 체중에 대한 4급 판정 기준이 바뀌어 재검하게 되었다) 4주간의 훈련소 과정만 수료하고 기존에 살던 학교 근처 원룸에서 계속 지냈지만, 생활 패턴이 많이 달라지게 되었고 개인적인 일들로 정신이 없기도 했다. 그래서 그때는 큰 개발은 안 하고, 간단한 웹 개발을 하거나 여러 컨퍼런스를 다녀보곤 했다. 그리고 당시 복무하고 있던 지역아동센터를 위한 것이나 그곳의 아이들을 위한 것(영단어 학습 사이트, 수학 문제 생성 프로그램 등)을 간단히 만들곤 했다.

 

UOSTime 개발을 시작하게 되었다.

 

그렇게 시간이 흘러 2017년 여름이 되었고, 나는 UOSTime 개발이라는 매우 중요하고도 좋은 기회를 맞게 된다. 사용자가 많이 있는 서비스를 개발하고 운영해볼 수 있다는 점이 매우 흥미로워 공고를 보자마자 지체없이 지원했다. 물론, 당시 내 웹 개발 수준은 매우 초보적이었다. 하지만, 지난 2년간 내가 개발에 대한 흥미를 갖고 있음을 주변에 보여왔다는 점과 개발에 할애할 수 있는 시간을 충분히 가지고 있다는 점(소집해제까지 1년이 남은 상태였다)이 좋게 보였던 것 같다. 그렇게 웹 개발을 본격적으로 시작하게 되었고, 쉽게 경험하지 못할 다양한 것들을 경험할 수 있었다.