첫 토이 프로젝트 후기 (by 집에서는 코딩 안 하는 개발자)

토이 프로젝트 (총선 의석 수 계산기 안드로이드 앱) 후기

Jiha Song
4 min readMar 22, 2020

안드로이드 앱을 출시했다. 2월 중순부터 만들기 시작해서 3월 19일에 게시했으니 한 달 정도 만에 ‘출시’라는 목표를 달성해서 기쁘다.

(앱 링크 : https://play.google.com/store/apps/details?id=coolever.android.asc)

무슨 앱인가

한 마디 표현은 이렇다. ‘대한민국 21대 총선 의석 수 계산기’

나에게 필요해서 만들었다. 21대 국회의원 총선거가 4월 15일이다. 그리고 작년에 선거법 개정안이 국회 본회의를 통과하여, 당장 돌아오는 총선부터 새로운 선거법의 영향을 받는다.

이게 뭐가 문제냐면 비례대표 국회의원 의석 수 계산이 복잡해졌다는 점이 문제다. 이전에는 정당의 지지율에 따라 47개의 국회의원 자리를 각 정당이 나눠가졌는데, 이번에는 30석이 준연동형이고 17석이 병립형이고 뭐고 암튼 복잡하다. 거대 정당이든 소수 정당이든 쉽게 예측하기 힘든 건 마찬가지였다. 여기저기 검색해봐도 계산식을 정확히 알려주는 곳이 없었다.

그래서 만들었다. 앱에 각 정당의 예상 지역구 의석 수와 예상 정당 지지율을 입력하고 계산 버튼을 누르면 결과가 나온다. 계산식을 모르는 사람이어도 쉽게, 한눈에 결과를 볼 수 있는 앱을 만들었다.

앱 스크린샷 1

왜 만들었는가

개발자로 살면서, 개발자 문화를 자연스레 접하면서 뼈아픈 부분이 하나 있었다. 모름지기 ‘진짜 개발자’라면 취미로 코딩을 하고, 언제나 새로운 기술에 대한 관심을 가지고 있다는 믿음이 그것이다. 어쩐지 개발자라면 그래야 할 것 같다. 그 이미지가 나를 계속 압박해왔다.

노력은 해봤다. 선배는 지하철을 타고 이동할 때 트위터로 개발자나 테크 기업의 포스팅을 보거나, 최신 기술 소식을 메일로 받아본다고 하길래 따라 해 봤다. 결과는 이랬다. 트위터 접속 빈도가 줄었다. 메일함에 ‘새 메일’ 비중이 늘어 갔다.

경력의 시작이 안드로이드 앱 개발이었던 나에게, 개발이란 나를 심리적으로 위축시키는 것이었다. 버튼의 상태에 따라 모양과 동작을 다르게 하는 기능 조차 오랜 시간을 들여 검색해야 했다. 검색도 잘해야 원하는 결과가 나오는데 헤매곤 했다. ‘~~라는 기능 만드는 방법을 찾으려면 무슨 검색어가 좋은지’ 선배에게 묻는 일이 일상이었다. 결국 퇴근 후엔 개발이 아닌 쉼을 찾았다. 그렇게 시작해서 꾸준히 외면해왔다.

앱 스크린샷 2

그러다가 최근에 몇 개의 온/오프라인 강의 및 세미나를 들으면서 코딩을 하고 싶다는 욕구가 올라오기 시작했다. 가장 큰 계기는 BSIDESOFT 대표님이 진행하는 코드스피츠 강의들이었다.(후기 글)

특히, 객체지향적 설계 원칙과 디자인 패턴에 대한 강의를 Java언어로 진행했던 두 시즌(s83, s84)의 영향이 컸다. 코드를 작성하고 코드를 객체지향 설계의 원칙에 맞게 배치해서, 변화에 의한 여파를 줄이는 작업을 하고 싶었다. 배운 것을 하나하나 적용하고 싶었다. 그러려면 내 프로젝트가 필요했다. 그래서 만들기 시작했다.

작업하며 느낀 것들

내가 정말 필요로 했기에 확신을 갖고 기능 구현의 우선순위를 판단할 수 있었다. 회사에서는 작업의 우선순위가 회사의 사정에 의해 결정되지만, 이번 프로젝트는 내 의지로 모든 것을 결정할 수 있다는 점이 좋았다. 시간이 늘어지는 것을 감수하고도 리팩토링을 하기도 했고, 빠르게 기능을 만들고 싶을 때는 개판 오 분 전 코드를 만들어놓고 방치하기도 했다. 자기 효능감을 많이 체감했던 지난 한 달이었다.

여러 권의 책이 아니라 한 권의 책 만을 반복적으로 읽는 자녀를 걱정하는 어떤 부모의 사연을 들은 적 있다. 어쩐지 아이의 입장에서 듣게 되었다. 상담사는 다행히 ‘그래도 괜찮다’고 말해주었다. ‘독서 스타일에 정답은 없다.’는 말도, ‘독서 스타일은 아이와 함께 성장한다.’는 말도 위안이 되었다.

이 경험과 코드를 바탕으로, 다음번 토이 프로젝트에서는 새로운 기술을 익혀 볼거다. 조급하지 않게, 그렇지만 꾸준하게.

--

--

Jiha Song

Software Developer strong at Java, Spring Framework, Elasticsearch, Docker