본문 바로가기
개발/개발 기타

2020 IBM Call for Code 해커톤 도전기

by JeonJaewon 2020. 8. 3.

 시작

 이번 학기에 교내 IT 서비스 개발 동아리를 가입하게 됐습니다.

동아리에서 기획, 디자인 포지션을 맡은 친구들과, 개발을 같이 할 같은 과 친구들 두명과 함께 IBM에서 진행하는 해커톤에 참여하게 됐어요. 5인의 팀원 모두 해커톤은 처음이었습니다. 

 

 IBM의 콜 포 코드는 코로나, 기후 재난 등과 같은 어려움을 코드를 통해 세상에 기여하고, 해결해보자는 취지의 해커톤입니다. 기나긴 아이디어 회의 끝에 저희 팀은 봉사 단체들과 봉사자들을 연결시켜주는 플랫폼을 구상하고 개발에 들어갔습니다.

 

 플랫폼은 안드로이드 앱으로 개발하기로 했습니다.


대략 이런걸 만들고자 했어요

 처음 구상한건 더 엄청난 규모였지만.. 정직하게 24시간 안에 개발하기에는 무리가 있어 최종 버전에는 다음과 같은 기능이 포함되어 있습니다.

  • 봉사 단체와 봉사 지원자간의 연결 및 소통 지원 (Watson을 통한 FAQ 지원)
  • 현재 봉사가 필요한 세계적인 이슈를 지도에 표시 (IBM Weather API 활용)

 저는 기본적인 프로그램 구조와, 메인 페이지 레이아웃 구현, 구글 맵 API와 IBM Weather API를 활용한 지도 기능을 구현했습니다. 개인적으로 Weather API 설명 문서가 좀 빈약하다고 느꼈습니다. 덕분에 생각보다 많은 시간을 할애하게 됐습니다. (물론 새벽으로 갈 수록 제정신이 아니었던 탓도 있습니다)

 메인페이지는 바텀 네비게이션을 사용해서 1액티비티 - 多프래그먼트 구조로 구현되어 있고, 그 외의 화면이 전환되는 부분은 일부 액티비티를 추가하는 식으로 구현했습니다. API 호출은 AsyncTask를 활용해 JSON 형태로 받아와 파싱해서 활용했습니다. 

 생각보다 많은 부분이 개발되지 못하고 잘려나가서 아쉽습니다.. 사실상 미완성 상태로 제출하게 되었습니다. 

 

메인 페이지 1

 

 

 

 

메인 페이지 2

 

 

 

 

지도

 

 

 

 

 

왓슨

 


 

느낀 점

 해커톤도 처음이지만 기획, 디자인과의 협업도 처음이었습니다. 그 전까지의 프로젝트 경험은 대부분은 개발자들끼리의 협업이었기 때문이죠. 그러다보니 많은 생각을 하게 됐습니다. 내가 중요치 않게 여겼던 픽셀 단위의 공백이 누군가에겐 버그와 마찬가지로 보일 수 있음을 알게 됐습니다. 처음엔 "이렇게 까지 해야해?" 싶은 생각이 들었지만, 이내 생각이 바뀌었습니다.

 내가 프로그래밍을 하는 것 처럼 디자이너에게는 이러한 요소들이 자신의 맡은 일이고, 당연히 고쳐야 하는 부분이었습니다. 이런 점은 개발자들간의 협업에서는 느낄 수 없던 뜻깊은 경험인 것 같습니다. 서로간의 영역을 충분히 존중해줘야 한다는 생각이 들었어요.

 

 해커톤은 역시 무박으로 진행되는 것이 묘미라고 생각했지만... 다량의 커피 복용의 부작용으로 팀원들이 정신적 육체적으로 피폐해져 가는 것을 보며 밤은 가급적이면 새지 말자는 생각을 다시 한번 하게 됐습니다. 

 

제출 시간이 다가올수록 전염되는 붕괴 상태

 


 

그래도 재밌었다

 항상 코딩을 하면서 "이건 기간 더 필요해" , "그렇게 빨리 못 해" 등 일정관리에 대해 부정적으로 생각하기만 했는데 생각보다 사람을 갈구면 많은 일을 할 수 있구나! 라는걸 깨닫게 되었습니다.

 팀원들간의 케미도 잘 맞아서 즐겁게 참여할 수 있었습니다! 또 IBM에서 도미노 피자를 5명에 3판인가? 시켜줘서 매우 배부르게 쳐묵했습니다. 땡큐 IBM

 

댓글