2022 OSAM 군장병 공개 SW 해커톤 참여 후기

KKH
·

들어가며

2022년 1월 17일, 저는 육군 정보보호병으로 입대했습니다. 군 복무를 하기 전부터 제 전공을 살린 보직으로 가고 싶었고, 운좋게도 정보보호병 22-1기에 합격하여 대학교 1학년을 수료한 뒤 바로 입대했습니다. 군 복무를 하면서도 전공 공부를 놓고 싶지 않았고, 훈련소와 후반기 교육이 힘들어도 좋으니 좋은 자대에 배치받아 공부할 수 있는 시간이 많았으면 했습니다.

훈련소와 후반기 교육을 거친 뒤, 다행히 컴퓨터를 많이 사용하는 보직과 자대로 배치를 받아 자기 개발을 할 수 있는 시간이 많아졌습니다. 짬(?)도 어느 정도 찼을 무렵, 국방오픈소스아카데미(OSAM)에서 군 장병을 대상으로 해커톤을 개최한다는 소식을 듣게 됐습니다. 이는 군 내에서 공부도 될 뿐만 아니라, 운이 좋다면 스펙까지 챙겨나갈 수 있는 좋은 기회라 생각해 꼭 참여하리라 다짐했습니다.

당시 저희 생활관에 있던 선임들도 참여 의사가 있었고, 근무지 간부님께서도 참여할 의사가 있으셔서 자연스럽게 저를 포함한 용사 3명과 간부님까지 총 4명으로 구성된 팀이 완성됐습니다.

OSAM 군장병 공개 SW 해커톤이란?

OSAM 로고

과학기술정보통신부와 국방부에서 주최하고 정보통신산업진흥원에서 주관하는 해커톤 대회입니다. 군 내에서 SW 개발 실력을 쌓을 수 있는 몇 없는 대회이고, 대회의 규모가 생각보다 크다보니 상훈도 높습니다. (과기부장관상부터 각군 참모총장상까지 있으니, 수상을 하게 되면 포상휴가까지 노려볼 수 있습니다!)

해커톤이라고는 하지만, 개발 기간이 한 달 가량 주어지기 때문에 사실상 완성도가 높은 하나의 프로젝트를 완성하는 공모전이라고 봐도 무방합니다.

참가 접수는 매년 다르겠지만, 8 ~ 9월부터 참가 신청을 하실 수 있을 겁니다. 저 또한 8월 말에 개최 소식을 듣고, 9월 초 쯤에 신청을 했던 걸로 기억합니다. 또한, 주제도 매년 조금씩 달라지는 걸로 알고 있는데, 2022년 주제는 병영생활 및 국방에서 활용 가능한 웹, 앱 서비스 였습니다.

참가 신청을 한다고 바로 참여하실 수 있는 것이 아닙니다. 참가 신청을 한 인원들 중 매년 200명 정도의 해커톤 참가자를 선발하고 있습니다. 선발 과정은 아래에서 자세히 설명 드리겠습니다.

참가자 선발 과정

OSAM 참가자 선발 과정

참가자 선발 과정은 위의 사진처럼 크게 이론 평가, 코딩 테스트, 개발 계획서로 나뉘어집니다.

이론 평가

이론 평가는 자신이 지원한 개발 분야에 따라 문제가 다르게 출제됩니다.

저는 웹 분야로 지원을 하였고, 문제는 HTML, CSS, JS, React 등의 문제들이 출제되었습니다. 바닐라 자바스크립트 문제도 나왔고, 리액트의 자세한 동작 원리 등에 관한 문제도 나왔으니, 웹 분야에 지원할 예정이시면 JS 기반의 프레임워크들도 공부하셔야 큰 도움이 됩니다.

이론 평가의 비중이 가장 높으니, 열심히 준비하셔서 잘 치시면 이후 소개해드릴 코딩 테스트를 조금 못 봤더라도 선발되실 수 있습니다!

코딩 테스트

OSAM 코딩 테스트 리더보드

아마 많은 분들이 가장 걱정하는 단계가 코딩 테스트일 것 같습니다.

2022년 기준 코딩 테스트에서는 총 4문제가 나왔고, C, C++, JAVA, Python 등의 언어로 풀 수 있습니다. 문제 유형은 1 ~ 2번은 쉬운 구현 문제였고, 3번은 조금 까다로운 완전탐색 구현 문제가 나왔습니다. 4번은 제가 풀지 못했지만, 아마 어려운 DP 문제로 추정됩니다. 저는 총 3문제를 풀었고, 리더보드를 보니 무난하게 합격할 성적이었습니다.

합격 컷은 정확하진 않지만, 2문제 정도 풀게 되면 합격하는 것 같았습니다. 코딩 테스트를 대비하시려면 백준이나 프로그래머스 등의 온라인 저지 사이트에서 다양한 구현 문제를 풀어보시는 것을 추천드립니다. 아무래도 해커톤이다 보니, 난이도 있는 알고리즘을 문제로 내기 보다는 구현 실력을 평가하기 위한 문제를 내는 것 같았습니다. 참고하셔서 좋은 성적 얻길 바랍니다!

(+ 코딩 테스트에서 3 ~ 5위 안에 들면 상품도 주니, 평소 PS에 관심이 있으신 분이라면 도전해보는 것도 좋습니다!)

개발 계획서

개발 계획서는 참가자 신청을 할 때 작성하실 수 있습니다. 참가자 접수를 마감하기 전까지 언제든 수정이 가능하니 기간 내에 편하게 작성해주시면 됩니다.

개발 계획서에는 자신이 개발하고픈 서비스의 간단한 설명과 개발 목표, 사업 전망 등을 작성하시면 됩니다. 저는 이전에 구성된 팀원 분들과 정해놓은 주제로 계획서를 작성했습니다. SW 마에스트로 등에서 작성해본 경험이 있기 때문에 크게 어려움을 느끼진 못했습니다. 만약 팀원이 없으시더라도, 자신의 계획서를 공개하고 팀원을 모집하거나, 혹은 다른 사람의 계획서를 보고 해당 팀의 팀원으로 신청할 수도 있습니다. 우선, 자신이 만들고 싶은 프로젝트 한 개는 있어야 하니 미리 생각해두시면 도움이 될 것 같습니다.

팀 빌딩

참가자로 선발되셨다면, 팀 빌딩을 하게 됩니다.

저는 사전에 미리 구성해 둔 팀이 있어 팀원들과 바로 팀 신청을 했지만, 만약 사전에 구성한 팀이 없다면 팀 매칭 페이지를 통해 팀을 매칭할 수 있습니다. 이 때, 다른 사람의 아이디어를 보고 해당 팀으로 신청을 할 수도, 자신의 아이디어로 팀원을 모집할 수도 있습니다. 신중하게 생각하여 마음에 맞는 팀원과 프로젝트를 진행하시면 되겠습니다.

개발

팀 빌딩이 끝나게 되면, 곧바로 해커톤이 시작됩니다.

약 한 달 정도의 기간이 주어졌고, 팀마다 멘토님을 매칭시켜 줍니다. 저희 팀에는 마이크로소프트에서 근무하시는 멘토님이 배정됐습니다. 주 1회의 멘토링을 진행했는데, 정말 많은 도움을 받았습니다. 운영사무국에서 매칭시켜 주는 멘토님을 적극 활용하시면 큰 도움이 되실 겁니다.

우리 팀의 주제는?

팀 빌딩이 끝난 뒤, 저희는 두 개의 주제 중 하나를 선택할 필요가 있었습니다.

하나는 사람들이 공감하기 쉬운 주제였고, 또 다른 하나는 군 내의 전문적인 업무와 관련된 주제였습니다. 전자를 선택하게 되면 많은 이들의 이해와 공감을 받을 수 있지만, 너무 흔한 서비스였기에 선택하기 꺼려졌고, 후자를 선택하게 되면 독창성은 있지만 다른 사람들이 이해하지 못할까봐 걱정됐습니다. 하지만 군 대회이기도 하고, 높으신 분들의 니즈를 충족(?)시켜 주기 위해 후자를 선택했습니다. 저희가 이해하기 쉽도록 잘 설명하면 되는 거니깐요...!

결국 저희 팀은 군 내의 많은 사이버 자산에 대한 통신 시각화를 하는 서비스인 커넥토그램을 개발하기로 했습니다. 저는 팀 내에서 프론트엔드 개발을 맡게 됐습니다. 이렇게 한 달 간의 대장정이 시작됐습니다...

CERT의 비애

저를 포함해 저희 팀에 속한 용사 3명은 모두 CERT 관제 근무를 돌고 있습니다. 그러다 보니 같이 모여 개발할 수 있는 시간이 정말 없었고, 같이 모일 수 있는 시간에는 멘토링을 진행했습니다. 누군가가 일을 하고 있을 때 누군가는 사지방에서 개발을 해야 하는... 슬픈 현실이었습니다.

그래도 CERT의 장점 중 하나인 개인 시간이 많은 것을 활용해, 프로젝트를 진행해 갔습니다. 처음 1 ~ 2주간은 방향을 잡지 못해 많이 힘들었지만, 멘토링과 팀원들 간의 토의 끝에 2주차 막바지에 방향성이 어느정도 잡혔고, 그 뒤로 진행 속도가 굉장히 빨라진 듯 합니다.

완성

OSAM 완성본

완성된 커넥토그램 대시보드

제출 마감일까지 저희 팀은 쉬지 않았습니다. 비번인 날에는 새벽에도 몰래 사지방에 가서 개발하고, PPT 다듬고, 시연 영상 녹화하고... 개발하면서 처음 써보는 라이브러리도 많았고, 심지어는 시연 영상 편집을 위해 영상 편집 프로그램도 배웠습니다. 지나고 보니 그 때 정말 어떻게 했나 싶은데, 옆에서 많이 지탱해 주신 생활관 선임분들... 이 자리를 빌어 감사드립니다 :)

제출을 하고 다른 팀들의 프로젝트를 구경했는데, 정말 잘한 팀이 많았습니다. 실제로 현업에서 개발하시다가 온 팀도 많았고, 프로젝트의 퀄리티 또한 뛰어난 팀이 많았습니다. 다른 팀들의 프로젝트를 보니 사실 수상은 크게 기대되지 않았고, 군대에서 프로젝트를 하나 완성했다는 것만으로도 뿌듯했습니다.

결과 발표

최종 프로젝트 제출을 하고 약 2주가 지나니... 11월 14일, 결과 발표 당일이 되었습니다.

저는 그 날에 팀장 역할을 해주신 생활관 선임과 주간 근무를 서는 날이었습니다. 큰 기대는 하고 있지 않았던 터라 오후에 시간날 때 한 번 확인해 보자고 했습니다. 점심을 먹고, 한 오후 3시쯤 결과 발표난 것을 확인했습니다.

결과는......

OSAM 해커톤 결과

저희 ACOC팀이 육군참모총장상을 수상하게 되었습니다! 같이 프로젝트를 진행해 주신 팀원분들, 멘토님까지 정말 감사드립니다!

OSAM 군장병 해커톤은 매년 개최하고 있는 듯 하니, 관심 있으신 분들은 꼭 참여해 보시기 바랍니다.

관련 링크

커넥토그램 깃허브 저장소