2020.07. 회고 (공개 SW 공모전 참가)

reloxo99·2020년 8월 19일
0

Retrospect

목록 보기
1/3

들어가기 전에

학교 선배들과, 그리고 동기와 함께 무작정 참가하게 되었습니다. 가지고 있는 지식이라곤 교과 과정에서 배운 기본적인 것이 대부분인 저는 경험삼아 나가보자는 생각으로 참가하게 되었습니다. 19년도 겨울 방학에 만들어 본 로그인 시스템이 안드로이드 개발의 전부인 제가, 그리고 팀에 막내인 제가, 이런 역할을 맡게 될 줄은 정말 꿈에도 상상하지 못했습니다. (지금 생각하면 왜 그렇게 당당하게 할 수 있다고, 열심히 한다고 한건지 이해되지 않는 부분이기도 합니다.) 아직 공모전이 마무리되지 않았지만, 1차 제출일을 2주 남겨둔 이 시점에서 진행 사항들과 제가 느낀점을 공유해 볼까 합니다.

첫 회의, 그리고 역할 분담

회의 주제를 각자 하나씩 가져와 공유하고 설명하는 시간을 가졌습니다. 이에 대해서 투표를 통해 "핸드폰 속에서 볼 수 있는 내 옷장"이라는 주제로 선정되었습니다. (지금은 주제의 방향이 약간 바뀌게 되었습니다.) 비록 원하는 주제는 아니었으나, 처음의 생각은 '아 나는 경험삼아 해 보는 거니까 괜찮아. 해보자' 하는 마음으로 진행되는 상황을 보았습니다.

제 역할은 ios 개발이었으나, 공모전 주제에 맞게 안드로이드 개발로 역할이 바뀌었습니다.

  • 인공지능 팀 : 선배 5명
  • 안드로이드 팀 : 팀장님, 저와 제 동기

안드로이드 팀에서는 어플의 개발과 더불어 데이터베이스 관리까지 함께 해야 했으나, 팀에서 데이터베이스를 다룰 수 있는 사람이 팀장님 뿐이었기에 자연스럽게 역할이 분담 되었습니다. (저와 제 동기가 안드로이드 어플 개발을 담당하게 된거죠.)

개발 과정

초반의 설레발

여러번의 회의 후, 프로젝트의 방향이 잡히기 시작했습니다. 저는 이제서야 개발을 시작할 수 있었죠. 기본적으로 Bottom Navigation View 를 이용해 하단 메뉴바 구성을 해 둔 상태에서 회의 내용을 반영하기 시작했습니다. (지금에서야 알았지만, 제 동기는 이 때에서야 안드로이드 공부를 시작했다고 하더군요...) 인스타그램과 비슷하게 구현하되, 커뮤니티 기능을 추가로 구현하기로 했습니다. 제 동기는 프로필 메뉴를, 저는 커뮤니티 메뉴를 담당해서 개발에 착수했습니다. 그리고 1주 반 뒤, 커뮤니티 메뉴가 필수적이지 않은 기능이므로 1차 제출때는 제외하고 만들자는 의견이 나왔습니다. 저도 5개 메뉴 중 가장 어려운 메뉴이었기에 동의하였지만, 그동안의 노력이 물거품이 되는 것 같아 아쉬운 마음이 컸습니다.

커뮤니티를 없앤 이후

커뮤니티 메뉴를 미련과 함께 묻어준 후, 인스타그램과 같이 피드메뉴 를 만들기 시작했습니다. 스크롤로 팔로우 하는 사람들의 글 보기, 글쓰기, 댓글 쓰기, 좋아요, 사진 올리기, 올린 사진에 태그달기 등의 기능을 구현해야 합니다. (피드의 개발은 현재 진행형입니다.)
로그인/회원가입 기능 또한 만들어 주어야 했습니다. 19년도 겨울에 만들어둔 코드를 가져와서 쓰되, 프로젝트에 맞게 손을 봐야 하는 부분들이 있었기에 어느 정도의 시간이 또 소요되었습니다.
어플리케이션 시작 이미지 (Splash Image) 도 만들어야 했습니다. 아직도 로고를 정하지 못해, 팀 이름을 이미지로 저장해 이를 시작이미지로 만들어 주었습니다. 3초동안 떠 있다가 로그인 화면이 나타나도록 하는 이 코드는 상당히 단순했으나, 제가 이해하고 직접 작성하는데에는 시간이 어느정도 걸렸습니다.

쳇바퀴같은 하루

지속적인 회의와 매일 동일하게 개발로 시작해 개발로 끝나는 하루에서 얻은 교훈은 다음과 같습니다.

"나만 일한다고 느껴지면 나는 팀에서 중요한 기어다."

이번 프로젝트를 위해 안드로이드를 처음 접하는 동기와 그리고 인공지능팀의 선배들과 함께 개발을 하며, 항상 '왜 나 혼자 이렇게 힘들어야 하지?', '나만 열심히 하는 것 같다.. 힘드네'하는 생각을 달고 살았습니다. 물론 개개인이 힘들어 하는 부분이 다르겠죠. 하지만 깃허브를 통해 프로젝트의 완성도를 보면 그 사람이 얼마나 노력했는지, 얼마나 많은 시간을 투자 했는지를 확인할 수 있습니다. 팀에서 깃에 업로드 / 푸시하는 사람은 저 뿐이고, 데이터베이스를 담당하는 팀장은 제가 요청하는 부분에 대해서만 관리한다고 보여졌습니다. 이런 상황에서 저는 제 방학을 바쳐 만들어 가고 있던 이 공모전의 프로그램에 문득 회의감이 느껴지고 말았습니다. 그래서 일주일을 개발을 하지 않고, 저와 가족만을 위한 시간을 보내며 지냈고, 쳇바퀴같이 책상 앞에서 시작해 책상 앞에서 끝나던 하루에서 벗어났습니다. 그리고 저 없어도 잘 돌아가는 듯 보이는 팀을 보고 괜히 혼자 짜증이 났지만, 다시 슬랙을 확인하고 개발 현황을 쭉 보니 '내가 팀에서 중요한 기어로서 역할을 하고 있었구나.' 하는 생각을 하게 되었습니다. 제 동기는 멀쩡히 돌아가는 코드를 SDK 버전을 맞추지 않아 실행하지 못하고 있었고, 인공지능 팀은 나름대로 열심히 데이터를 만들고 학습시키고 있었습니다. 제가 복귀하여 동기의 문제를 해결하고, 다시 코드를 만지기 시작하자 저 뿐만 아니라 모두가 각자의 분야에서 열심히 하고 있음을 제가 간과하고 있었습니다. 또, 제가 잠시 쉼으로 인해 팀의 프로젝트 진도가 나가지 않는 것을 보고 제가 중요한 기어로서 역할을 하고 있었다는 생각이 들었습니다.

앞으로의 계획

매일같이 안드로이드를 공부하고 이를 적용까지 해야하는 이 과정은 상당히 촉박한 시간 안에 이루어져야 합니다. 다른 개발자의 코드를 보고 제 코드에 적용하기 위해 어느 부분을 바꾸어야 하는지, 어느 부분을 적용해야 하는지를 생각하는 이 과정, 그리고 개인적으로 공부해서 적용하는 이 과정이 상당히 빠르게 진행되어야 합니다. 의도치 않은 계기로 안드로이드를 단시간에 공부하고, 사용할 수 있는 어플리케이션을 만들며 많은 지식이 머리에 들어오게 되었습니다.
비록 현재 제 위치에서는 배워야 할 점도 많고 이를 제 지식으로 바꿀 시간도 오래 걸리겠지만, 최근 2달간의 안드로이드 공부를 통해 많은 발전을 경험할 수 있었습니다. 공모전이 끝나지 않았으니 앞으로 남은 2주간 또 무언가를 더 배우겠죠. 교내 교과과정을 통해 배울 수 없었던 부분들을 직접 부딛히며 배울 수 있다는 점이 가장 인상깊었고, 빠른 시간 안에 제 성장 과정을 직접적으로 볼 수 있었던 것 또한 흥미로웠습니다. 앞으로 제가 개발자로서 어떤 루트를 선택할 지, 어떤 성향의 개발자가 될 지는 모르겠습니다. (제가 개발자가 된다는 가정 하에 말입니다.ㅎㅎㅎ) 하지만 앞으로 프로젝트에 있어서 이를 대할때 어떻게 해야할 지 등의 제 자세를 알 수 있게 된 계기 같습니다. 무엇이든 제가 만들고 싶은 것을 계획만 제대로 한다면 개발이 막연하게 두렵고 어려운 것이 아니라는 것이 실감났습니다. (계획이 제일 중요합니다.)

개인적 후기

어떻게 보면 흐지부지 흘러갈 수 있는 2달이 저는 나름 얻는 것도 많고, 배우는 것도 많은 시간으로 지나갔습니다. 혼자 무언가를 만드는 것도 좋지만, 팀으로서 개발하는 경험도 쌓고 아이디어 회의부터 개발까지 전부 해 보니, 회사 내 직업 분배가 괜히 있는게 아니라는 걸 새삼 다시 느끼게 되더군요. 이번 공모전은 최선으로 마무리 하고, 다음 기회가 된다면 조금 더 괜찮은 아이디어로 계획부터 체계적으로 세워볼까 합니다. (물론 개인 프로젝트도 마찬가지겠지만요)
벨로그의 첫 시작을 OSS 공모전 참가기로 시작하려 했으나 쓰다보니 제 여름방학 회고가 되어버렸네요. 앞으로 하나씩 천천히 써 볼까 해요. OSS 참가기는 1차 제출이 마무리 된 후, (그리고 운이 좋다면 최종 선발이 된 후 ) 다시 작성하겠습니다ㅎㅎㅎ.

profile
한국외국어대학교 컴퓨터전자시스템공학부 전공중인 3학년 대학생입니다.

0개의 댓글