[후기]국방 오픈소스 아카데미 헤커톤 후기

오동재·2021년 12월 2일
1
post-thumbnail

국방 오픈소스 아카데미는


🎧사전 교육, 사지방 컴퓨터는 terminal이 안되는데..

나는 사전교육으로 Cloud를 들었다. 처음 Cloud를 들은 이유는 대학교 동기들이 Cloud 분야로 프로젝트를 진행하기로 해서이다.(결국은 다들 부대 상황으로 인해 포기하고 나만 본선에 나가게 되었다..)

중간에 Web으로 분야를 바꿨었다가 다시 Cloud로 변경했는데, 이는 Web으로 해도, 마땅히 계획서를 제출할 아이디어가 없고, 블록체인이 Cloud에 가장 가깝다고 생각했기 때문이다.

사전교육이 아주 특출나다고는 말 못하겠다. 특정부분이 잘 이해되지 않는 부분이 많았고, docker와 k8s를 실습해보고 싶었지만 사지방 컴퓨터의 terminal이 안되는 환경때문에 이 또한 쉽게 실습하지 못했다. GitHub codespace와 같은 Cloud 서비스를 찾아서 했으며 됐을 수도 있겠지만 replit과 goorm으로는 실습환경을 따라하기 쉽지 않았고, 결국 실습부분은 영상을 보기만 했다. 다음에는 사지방의 환경을 고려해 local이 아닌 cloud에서 환경을 셋팅하는 법을 영상에서 소개해주면 좋을 것 같다.

⌨코딩 테스트, 문제가 다 똑같아서..

코딩 테스트 문제의 난이도는 겁먹었던 것 보다는 나쁘지 않았던 것 같다. 3번문제에서 이상한 실수로 시간을 많이 잡아먹어 4번 문제는 제대로 보지도 못했지만, 1~3번까지는 특별한 사전지식 없이도 풀 수 있었던 것 같다.
군대의 특성상 특정 시간을 정해놓고 해당 시간에만 코딩테스트를 보는 것은 힘들 것이다. 하지만 모든 참가자가 똑같은 문제가 나온 것 같아 변별력이 없을 수도 있겠다는 생각이 들었다. 헤커톤 예선의 목적만 있다면 상관없겠지만 상위권 참가자들에게 별도의 상품이 있으니, 다른 계정으로 문제를 미리 보고 답을 제출할 수도 있을 것 같다는 생각이 들어 쪼끔 아쉬웠다.

👨‍👨‍👦‍👦아이디어 중심의 팀빌딩

팀을 먼저 꾸리는 방식이 아닌, 좋은 아이디어에 사람이 모이는 형태로 팀빌딩이 이루어졌다. 좋은 방식의 팀빌딩이라고 생각된다. 원하는 인원수만큼의 팀원을 모으지 못해 조금 힘들게 프로젝트를 진행한 것이 조금 아쉽기는 하지만, 팀빌딩 방식 자체는 여러 피드백을 거쳐 형성된 방식인 것 같아 만족스러웠다.

👨‍🎓훌륭한 멘토와 함께

예상보다 훨씬 뛰어난 현업자의 멘토링을 받게 되었다. 멘토라고해봤자 20대정도를 생각했으나, 실전 경험이 매우 풍부하신 경력 20여년의 개발자 멘토님의 멘토링을 받게 되어 의미있었다. 우리 팀은 Cloud 분야의 이태영 멘토님의 멘토링을 받았는데, 따끔한 충고부터 따뜻한 격려까지 좋은 멘토링이 되었다. 이건 지극히 개인적인 취향이지만, 나는 따끔한 충고가 더 큰 도움이 되었던 것 같다. 다른 사람도 아닌 경력 20여년의 멘토님이 현실을 직시할 수 있는 현실적인 조언을 해주셔서 이를 바탕으로 프로젝트를 설계하고 진행할 수 있었다.

💻GitHub Codespace 제공

군 부대 특성상 개발이 힘든 환경인데, 이를 배려해 GitHub codespace 환경을 제공해주었다. 국방 오픈소스 헤커톤에서 가장 마음에 드는 부분 중 하나였다. 정말 VSCode를 실행시킨 것과 다름 없는 환경이 Web에서 펼쳐졌다. 덕분에 사회에서 코딩하던 것과 비슷한 환경에서 막힘없이 개발을 진행할 수 있었다. 조금 아쉬웠던 것은 codespace가 가끔 막혀서 실행되지 않았다는 점이다. 이 부분은 예산 문제 혹은 서버 문제인 것 같아 어쩔 수는 없었지만, 정말 개발이 급할 때에 이러한 문제로 개발을 할 수 없는 상황이 닥친다면 조금 답답할 것 같았다.

나는

🛠무얼 만들었나

Hyperledger-fabric을 이용해 블록체인을 국방 데이터 유통에 접목시킨 Blo-my를 기획하고 만들었다. 자세한 내용은 여기를 클릭하여 github repository로 이동할 수 있다.

👍팀장

나는 팀장이었다. OSAM2021은 아이디어를 중심으로 사람이 모이는 형태로 팀이 구성되었다. 22살의 마땅한 프로젝트 경험도 없는 나는 내가 프로젝트를 총괄하고 이끄는 것이 부담스러웠고, 다른 사람의 팀으로 들어가 묻어가고 싶은 마음이 있었다. 자신의 아이디어를 구상한 팀장이라면 다 계획이 있지 않겠는가!

하지만 생각보다 마음에 드는 아이디어는 보이지 않았다. 아무리 묻어가더라도 내가 하고 싶지 않은 개발을 하면 의미가 없을 것 같았고, 결국 내 아이디어를 조금 보완해 팀원을 모아보기로 했고, 그렇게 모인 팀원들과 진행한 프로젝트가 앞서 언급한 Blo-my이다.

'팀장'이라는 직책은 나에게 굉장히 많은 것을 가르쳐주었다.

🏃‍♂️기획은 탄탄하게

학교에서도 작은 프로젝트에서 리더역할을 여러번 맡았었다. 하지만, 교과목 프로젝트는 비교적 작은 규모의 프로젝트였고, 내가 설계하고 내가 개발하면 완성할 수 있는 수준이었다. OSAM2021 헤커톤은 아무래도 1~2학년 학교 교과목에서 진행하던 프로젝트보다는 규모가 컸고, 혼자서 모든 개발을 감당할 수 있는 수준이 아니었다. 또 팀원들끼리 다룰 수 있는 언어도 달라, 미리 설계가 끝나야 비로소 개발이 시작될 수 있었다. 앞에서 말한 디자인을 통한 설명도 개발이 진행되는 동시에 이루어지면 안되는 단계이다. 해당 단계는 팀장이 미리 준비를 해놓고, 개발을 시작하기 전, 팀원들에게 설명을 해줘야하는 부분이다. 이를 깔끔하게 하기 위해서는 기획단계에서 최대한 구멍이 없게, 기획을 그대로 따라가도 개발에 지장 없게끔 탄탄한 기획을 해야한다는 것을 몸소 느낄 수 있었다.

🎨디자인 능력은 필수?

기획을 탄탄하게 하더라도 아무래도 내가 생각한 것을 오로지 '글'만을 이용해서 남들에게 이해시키는 것이 쉽지는 않은 것 같다. 나는 내가 구상한 아키텍쳐를 주로 PPT를 이용해 표현하여 팀원들을 이해시키기 위해 노력했고, 그림과 글로도 부족하면 zoom회의를 통해 미팅을 했다. 내 생각을 남에게 완벽히 이해시키기란 생각보다 쉽지 않았다. 뿐만 아니라, 개발을 진행하면서 내 생각을 동시에 전달하는 것은 더욱 어려웠다. 급한 마음은 쉬운 설명도 부족한 설명으로 바꿔놨다. 종종 팀원들이 아키텍쳐를 이해하지 못하면 답답하기도 했다. 하지 만 역으로 생각해보면, 팀원들은 제대로 설명하지 못하는 팀장이 얼마나 답답했을까? 이러한 과정을 겪으면서 오늘날, 적당한 포토샵 사용 능력, UI 제작 능력 등은 Front-end에 관심이 없더라도, 어느정도 필수로 요구되는 능력이지 않을까 하는 생각이 들었다.

📚풀스택 개발자가 되자

프로젝트를 진행하면서 굉장히 답답한 부분이 있었다. 내가 django와 typescript에 대해서 무지하는 점이다. frnot-end 부분은 기초적인 html, css, js밖에 모르고 back-end는 spring, java, Go밖에 모른다. 혼자서 모든 것을 구현할 때에는 이 좁은 개발 스펙트럼이 큰 문제가 되지 않았다. 내가 할 줄 아는 것만 다뤄서 개발해도 큰 문제가 없었기 때문이다. 하지만 누가 바닐라JS를 사용해서 front-end를 개발하겠는가. 그런 사람은 아무래도 없을 것 같다. 사용하면 훨씬 간편한 repository들이 많을텐데, 굳이 단순한 것만을 고집하는 사람은 없을 것 같다.

본론으로 돌아가, 내가 front-end와 back-end를 손보기 힘들다는 것이 굉장히 안타까웠다. WEB이 어떤식으로 돌아가는 지는 알겠는데, 어떤 함수가 어떤 return을 주게끔만 만들어주면 되는 간단한 작업도 혼자서는 힘들었다. 내가 꾸역꾸역 만드는 것보다 담당자에게 말하는 게 빨랐지만, 군대의 특성상 연락이 늦어지는 경우가 많았다. front-end도 어떤 버튼이 이 자리에 있으면 좋겠는데, 이를 수정하는 것을 내가 하기는 힘들었다. 덕분에 WEB부분에서 문제가 있거나, 개선사항이 있으면, 나는 팀원과 소통할 뿐, 스스로 코드를 수정하기가 힘들었다.

😺개발자의 기본 소양, Markdown, GitHub

이번 프로젝트를 진행하면서 Github을 관리하고 Readme를 작성하며 Github, Markdown과 친해질 수 있어서 좋았다. 이는 내가 어떠한 형식의 개발자가 되더라도 개인 프로젝트를 하기 위해서는 꼭 알아두어야 할 기본 소양인 것 같다. 이번 프로젝트에서 많이 다루면서 전보다 익숙해졌지만, 아직은 부족하다.

===================================================

🎉수상


상을 받으면 좋겠다는 생각은 했지만 막상 수상하니 기분이 좋았다ㅎ. 덕분에 블록체인에 대한 견문과 포상휴가를 받을 수 있어 좋은 경험이었다.

profile
https://donggni0712.tistory.com 로 이사했습니다~

0개의 댓글