본문 바로가기
Mind

모바일 개발을 시작하는 누군가에게

by _dreamgirl 2021. 6. 10.
반응형

어제 페이스북에 접속 했다가 커뮤니티의 한 사람의 질문이 오전내내 떠올랐다.

그 질문이 어쩌면 나도, 방법을 잘 몰랐을 때의 내 마음이 아니였을까 해서 글을 써보기로 했다.

 

대학교에서 아는 선배가 공모전 프로젝트 팀원을 찾길래 그기회로 모바일을 개발을 처음 하게 되었다.

대학교 3학년, 방학 때 무언가 해야할 것만 같아서. 시작한 공모전. 한 달동안 안드로이드 책을 살피고 그대로 실습 예제를 따라 해봤다.

이클립스에서 애뮬레이터를 띄운 상태에서 코드를 적용하고 테스트를 했던 기억이 있었다. 블루투스 기능이 켜져 있으면 서로 파일을 옮길 수 있는 P2P 앱이었다. 정말 아주 간단한 수준에서의 결과물을 만들어냈다. 

가장 기억에 많이 남는 것은 실행을 시키고 제대로 되지 않았다는 것. 그래서 이클립스를 껐다 켰다 반복했다. 이상하게도 다시 켜서 실행을 시키면 잘 되더라는 것. 이게 프로그래밍인가. 하는 실망감과 너무 어렵다는 생각이 자주 들었다. 

4학년이 되면서 주변에서 모바일을 공부하는, 특히 Android 관련 프로젝트를 수행하는 친구들이 늘어났지만 그 때에도 나는 모바일로 밥 벌어 먹고 살거라는 생각은 하지 않았기 때문에 제대로 된 관심을 보이지 않았다.

 

하지만 그 경험으로 인해 첫 회사에서 모바일 개발 업무를 맡았다. 사수한테 하나씩 설명 받으며 배운 경력이 아니라 주로 혼자 삽질하고, 부딪히고, (이슈도 내보고), 보수적으로 문제가 없는 상태의 코드를 만들고 적용하는 것이 우선이었던 것 같다.

그러면서 기능 단위로 개발을 했고, 단말기 스펙의 영향도, OS에 따라 API 함수를 어떻게 적용해야 하는지를 체득했다.

많은 앱들과 기능 단위의 서비스를 몇 개월 단위로 찍어 내기도 했었다. 그러면서 다른 OS에 대한 궁금증이 생겨서 현재의 iOS 까지 넘어오게 되었다. 현재는 하나의 서비스를 운영하면서 여러 솔루션을 적용하고 패치하고 있다. 화면 개발 보다는 기능 개발에 가깝고 여러 솔루션들을 거치게 때문에 SDK를 다루고 어떤 분야이든 깊게 파고들 수 있는 분석력이 필요하다.

 

iOS 개발로 넘어올 때 Android를 혼자 어떻게 공부해 냈는지를 떠올렸다.

사람마다 자신만의 공부 방법이 다 있겠지만 나는 먼저 개발 언어부터 했다. 언어 관련 서적은 2-3권은 본다. 기본 문법책이라도 아는 내용도 계속 봤다. 개념을 설명하라고 하면 가끔 혼란스러울 때가 있지만 개념보다는 그 내용들이 눈에 익숙해지는 것을 권한다. 그리고 실습 예제들은 굳이 따라 하지 않기도 했다. 하지만 어떻게 동작하는지 모르는 내용들은 꼭 한 번씩은 실습해봤다.

안드로이드 책들은 보면 개념에 맞는 예제를 찾고 제공하기가 어려운 것이 맞다. 그것은 꼭 모바일 분야에만 국한 되는 것은 아니고 어떤 것을 만드느냐에 따라 필요한 개념들이 있기 때문이다. 그래서 보통 책들을 보면 언어의 특징, 문법,  UI를 만들기 위한 Component, 기타 패키지와 라이브러리, SQL과 관련한 데이타 연동에 대한 설명들이 주다. 그것들을 익혔다면

 

개발 환경 Tool에 익숙해졌으면 좋겠다. 안드로이드 스튜디오가 초창기 만들어지고 있는 시기에 나는 실무에서는 이클립스에서 만들어진 앱을 운영하기 위해서 이클립스로 작업했지만, 틈틈이 공부해서 2015년도에는 안드로이드 스튜디오에서 앱을 제작하고 오픈했다.  지속적으로 밀고 있는 개발 환경 Tool은 대세라 결국에는 써야 한다. 그리고 때로는 개발 환경 tool의 버그도 있을 수 있기 때문에 어떤 버전으로 업데이트 되었는지 알고 있는 것도 좋다고 생각한다. (느껴본 사람만은 알 것이다.)

이것은 iOS 개발 환경 Tool인 XCode도 별반 다르지는 않았다.

 

주변에서 많이 들었던 조언은 많이 만들어보라는 말이었다. 자신만의 라이브러리 혹은 궁금한 것들을 찾아보고 적용해보는 것. 실무에서 어떤 기능이나 SDK를 필요로 할 때 테스트 앱 혹은 테스트 단위 코드를 항상 만들어보고 적용하고 있다. 

그리고 개발자 사이트 접속을 자주 하고 많이 언급되는 라이브러리와 패턴을 공부할 것. 라이브러리를 갖다 쓰는 게 뭐 그리 어려운가. 나는 그 기능을 개발해서 내 라이브러리를 쓸거야. 라고 생각한 적도 있었다.  하지만, 갖다 쓸 줄 아는 사람이라면 단순히 적용하기 쉬워서가 아닌 그 만큼의 효율과 성능의 이유, 우리가 만들려는 서비스에서의 장단점을 알고 써야 할 것 같다.

 

이정도면 시작하는 친구들에게 생각해 볼 수 있는 정도가 아닐까.

나는 요즘 시간이 걸리더라도 어려운 개선사항도 해결해내는 사람이 되고 싶다. 그리고 혼자가 아닌 여러명과 함께  서비스를 이끌어갈 있는 곳에 가고 싶다. 그래서 고민이 많다. . 그래도 항상 여기에서는 건설적인 고민을. 열심히 합시다!

반응형

'Mind' 카테고리의 다른 글

프리랜서 전향  (4) 2021.09.03
그리운 사람들  (0) 2021.08.16
안타까운 현실  (0) 2021.05.31
욕심  (0) 2021.05.13
2020  (0) 2020.12.25

댓글