공개 SW 개발자 대회 후기


바쁘다는 핑계로 포스팅을 미룬지도 어느덧 두어달이 되어간다.

눈앞에 쌓인 일들이 하나 둘 씩 치워지며 다시 포스팅을 적을 여유가 생긴 지금 오랜만에 적을 포스팅의 주제는 얼마전 마무리된 공개 SW개발자 대회 후기이다.



대회 소개


우선 간략한 소개를 하자면 공개 SW개발자 대회는 오픈소스SW 사용과 기여를 장려하기 위한 개발자 대회로 오픈소스를 활용한 소프트웨어를 개발하는 것이 주 과제이다.

금상은 과학기술정보부 장과상이며 상금도 천만원 단위로 큰 규모의 대회이다.



과제 선정


큰 대회 규모 만큼 여러 과제들이 있으며 크게 지정과제와 자유과제, 지정과제 안에서는 기업형 과제와 사회문제 개선 과제가 있었다.

어떤 분야를 지원할지 고민이 많았고 결국 티맥스OS의 기업형 지정과제를 선택하게 되었다.

기업형 지정과제를 선택했던 이유는 당시 부끄러운 개발 실력으로(지금도..) 너무 큰 자유도를 요하는 개발보다는 기업형 지정과제 처럼 어느정도 자유도가 제한된 과제를 해결하는 것이 낫다고 판단했기 때문이다.

또한 같이 이번 대회를 지원한 대학 동기와 나는 개발 분야, 기술 스택이 모두 달랐으며 협업을 통해 좋은 성과를 내기 어렵다고 판단했었다.

따라서 둘다 그냥 재밌을것 같은? 과제를 선정했으며 입상보다는 공부와 경험에 의의를 두고 지원하게 되었다…(결과는 추후 공개)



과제 설명


우선 티맥스OS의 지정과제 내용을 살펴보자면 티맥스OS는 한국형OS인 티맥스구름을 개발 중에 있고 상용화 전 단계이다.

이 티맥스구름을 초등학생도 설치하기 쉽도록 calamares 오픈소스를 이용해 installer 의 UX 개선 및 모듈 개발이 티맥스OS에서 요구한 과제이다.



과정


당시 둘다 리눅스 개발경험, 시스템 프로그래밍 개발경험, 오픈소스 활용경험, QT 프래임워크 사용경험(크로스 플렛폼 어플리케이션 개발 프래임워크) 모든 면에서 부족했던 우리로선 모든 개발 과정이 큰 시험이었지만 돌려 말하자면 그간 모든 개발 과정이 소중한 경험이자 공부였다고 생각한다.

우선적으로 calamares 프로젝트의 아키택쳐를 이해하려는 노력으로 시작했다.

오픈소스의 구조를 이해하고 우리가 개선할 수 있는 부분을 알아보기 위해서였다.

모든 파일과 코드들이 어떻게 작동하고 움직이는지 모두 이해할 순 없었지만 install 과정이 잘 모듈화 되어있는 좋은 프로젝트 덕에 모듈간 구조, 작동, 세부 기능들에 집중해서 내가 어떤 모듈에 기여할 수 있을지 감이오기 시작했다.



개발 모듈


우리는 크게 2가지 기능을 지원하기로 했는데 첫 번 째로는 사용자 이름 자동입력 기능이고 두 번 째 기능은 파일 백업 기능이다.

비록 대단하지 않는 기능이라도 무조건 기능이 대단하다해서 사용자에게 좋은 편의를 준다고 생각하지 않았기 때문에 좋은 사용자 편의에 집중을 해서 개발 방향을 수립했다.

각각 user module과 partition module을 확장 기능을 지원하는 형태이다.

개발 계획을 수립 후 바로 QT 라이브러리를 뒤져가며 어떤 아키택쳐를 가져야 하는지, 비동기 처리는 어떤식으로 하는지, calamares에서는 어떤식으로 사용이 되었는지 공부하기 시작했다.

고된 노력 끝에? 간신히 개발 기한내에 프로젝트를 완성할 수 있었다.



발표, 질의 응답


큰 기대는 갖지 않고 티맥스OS의 간부님들 앞에서(비대면) 발표와 질의 응답을 진행했는데 간부님들께서는 우리를 귀엽게 생각한 듯 하다.

어린 학생이지만 조금은 마이너한 OS installer 개발을 지원했다는 사실에 조금은 신기하게 보신것 같기도 하고 무엇보다 calamares 프로젝트 아키택쳐를 직접 공부한건지 궁금해하셨다. 어린 학생들이 분석하기엔 어렵다고 생각하셨던 것 같다.

대회 기간 중 투자된 시간 중 실제 개발에 들인 시간보다도 calamares를 분석하고 공부한 시간이 더 길었기 때문에 당당히 대답할 수 있었다.

또한 QT 프래임워크의 이해도에 대해 질문이 들어왔었는데 아마 입상 이후에 티맥스OS에서 인턴을 하게된다면 Qt 프레임워크 사용을 염두하신 질문인 것 같았다.

이 질문에 대해선 높은 이해도를 가지진 못했지만 우리의 프로젝트 내에서 필요한 정도로 간단한 이해도는 갖고있다고 대답했다.

이 외 많은 기술 질문들이 있었지만 다 기억나진 않고 나름? 잘 대답했던 것 같다…ㅎ



느낀점


워낙에 큰 대회였기도 했고 다른 팀들의 수준이 높아 별 기대는 하지 않고 좋은 경험이다 생각하고 있었다.. 그러던 어느날 티맥스로부터 메일이 한 통 왔다.

내용을 보아하니 비록 과기부 주관으로 임명되는 입상은 실패했지만 그 노력이 가상해서 티맥스OS 기업명으로 따로 장려상 및 상금을 수상해주겠다는 내용이었다!!

좋은 경험과 공부였다고 생각하고 묻으려 했지만 너무나 감사하게도 멋진 기업으로부터 좋은 상을 받게되어 그간 노력이 더 스스로 예뻐보였던 것 같다.

많이 부족한 프로젝트였고 지금도 많이 부족한 나지만 이번 좋은 경험을 거름삼아 앞으로도 꾸준히 나아가야겠다 생각한다.


alt text