2020년 4월 14일 화요일 – 앱 개발

앱 개발

휴가 중에는 시간이 빛의 속도로 흘러간다. 오늘 하루 대부분은 안드로이드 앱 개발을 하는데 사용했다. 나는 안드로이드 스튜디오라는 도구를 쓰고 있는데, 이 도구는 초보자도 쉽게 앱을 개발 할 수 있도록 도와주는 정말 혁신적인 툴이다. 이것이 나오기 전에는 이클립스라는 툴을 사용해서 앱을 개발했는데, 내 입장에서는 사용법도 어렵고 훨씬 복잡했다.

앱 개발을 시작하는 건 참 막연한 일인데, 사실 그렇게 많은 준비가 필요하지 않다. 오히려 많은 준비가 필요하다고 생각하면 실패할 확률이 높다. 아마 나와 같은 전철을 밟아 본 사람이 있을 것이다. 안드로이드 개발에는 주로 Java라는 언어가 쓰인다. 그래서 나는 ‘안드로이드는 Java로 개발해야하니 먼저 Java를 배워야겠구나’라는 생각을 가지고 ‘Java의 정석’이라는 책을 사서 Java를 공부하기 시작했다.

합리적인 이야기같지만 사실 전혀 쓸데없이 힘을 빼는 행위다. 안드로이드 개발에서 Java가 쓰이는 건 맞지만 사실 대부분의 기능은 API로 구현되어 있기 때문에, Java의 내부에 대해서 모두 알아야 할 필요는 없다. 적어도 개발을 시작해보려는 초보자 단계에서는 말이다. 열심히 Java의 정석을 보고 난 이후에 앱 개발을 시작하려고 하면 처음과 똑같이 막막하다. 정확한 비유는 아니지만 Java는 기계공학에 가깝고, 안드로이드는 제품 개발에 가깝다.

앱 개발에서 훨씬 더 중요한 것은 바로 ‘검색 능력’이다. 내가 원하는 기능을 구현하기 위해서는 공식 문서를 뒤져보거나 다른 사람들이 삽질했던 기록들을 찾아보는 것이 가장 효율적이다. 그래서 일단 개발을 시작하려면 만들고 싶은 앱을 먼저 기획해보고, 어떤 기능들이 들어갈지 모두 결정이 된 상태에서 시작하는게 가장 좋다. 정 없다면 이미 있는 앱의 기능들을 똑같이 구현해보는 것도 정말 좋다.

개발의 상당 부분이 ‘검색 능력’에 의존하기 때문에 사실 안드로이드 개발은 전공자만 할 수 있는 일이 아니다. 전혀 전공자가 아닌 직장인이라도 얼마든지 시작할 수 있는 것이 바로 앱 개발이다. 그래서 그런지 코딩 교육 기관들 중에서는 직장인들을 대상으로 한 앱 개발 클래스를 전문으로 하는 곳도 있다. 이들이 개발한 앱들은 현업 개발자들이 만든 것보다 더 잘나가는 경우가 있는데, 앱에서 중요한 건 결국 아이디어기 때문이다.

직업이 개발자인 내가 개인 프로젝트를 진행하는 이유는 소소하게 부업을 해보고 싶기도 하지만, 개인 개발은 회사에서 하는 개발과는 또 다른 느낌이기 때문이다. 개인적으로 하는 개발은 일보다는 놀이에 가깝다. 코드의 안정성이나 테스트보다는 그냥 만들고 싶은 기능을 만들어보는 것에 중점을 두기 때문이다. 물론 이것도 팀원을 모으게되고, 규모가 커지고 본격적으로 시작하게 되면 일로 느껴질 수도 있겠다.

자신만의 아이디어가 있으며, 굳이 돈을 따지기보다 그 아이디어가 앱으로 서비스되고 누군가 그것을 쓰는 것만으로도 기쁨을 느낄 수 있다고 생각한다면 한 번 앱 개발에 도전해보는 것도 나쁘지 않을 것이다.


2020. 4. 14. diary (한글) 앱 개발