본문 바로가기
기타

[잡담] 안드로이드 멘토링 - 과제(1)

by JongSeok 2023. 2. 13.

안드로이드 개발 관련 멘토링을 받을 수 있는 좋은 기회가 생겨 멘토님이 내주신 1주차 과제에 대해 고민해보려 한다.

 

[과제] 지금 진행하고 있는 프로젝트가 있다면 다시 점검해보자.

Q. 채용공고를 봤을 때, 나한테 현재 어떤 점이 부족한가?

A. 대부분의 기업의 채용공고를 살펴보면 "Kotlin 개발에 능숙하신 분", "MVVM 패턴 설계가 가능한 분", "Android Jetpack 및 Architecture Component 사용에 능숙하신 분"과 같은 내용이 자격요건에 포함된다.

자격요건에서 요구하는 사항들을 봤을 때 본인의 경우를 대입하자면 다룰 줄 아냐고 물어본다면 다룰 줄 안다고 말할 수 있지만 '잘' 다룰 줄 아냐 혹은 능숙하냐고 물어보면 선뜻 그렇다고 대답할 수 없다. 모든 부분을 숙달할 수는 없겠지만 공고에서 공통적으로 요구하는 능력 위주로 꾸준히 준비해야겠다.

 

그리고 미뤄두고 있는 Github 사용법(Profile, Branch, Pull Request)을 공부할 필요성을 느낀다..

개발자에게 github 사용은 필수적이라는걸 알지만 git 명령어와 conflict에 겁이나고, 코드를 혼자서만 관리하다 보니 git을 단순히 commit&push 정도로만 사용하고 있다.  

 

Q. 현재 진행하고 있는 프로젝트는 위의 내용 중 어떤 부분을 개선하는 프로젝트이고 어떻게 바꾸고 있는가?

A. 나는 현재 세종대학교에서 교내 학생들이 자체적으로 굿즈를 구매하고, 공동구매가 이뤄질 수 있는 굿즈샵(?), 쇼핑몰(?) 형태의 프로젝트를 한 달가량 진행하고 있다. 어려운 기술스택이나 복잡한 로직이 사용되지는 않지만 팀원 개인의 개발역량 향상과 3월 중 앱을 통해 실제로 서비스 가능할 정도의 완성도를 목표로 진행하고 있다.

 

이전 프로젝트에서는 단순히 앱을 동작시킬 수 있게끔, 구조는 전혀 신경쓰지 않고 필요한 기능이나 뷰에 대해 겨우겨우 굴러갈 수 있도록 하는 것에 집중했다. 이번 프로젝트에서는 채용공고의 요구사항을 갖추기 위해 Coroutine, JetPack 라이브러리, MVVM 패턴을 최대한 적용하고 있다. 적절한 기능에 적당히 사용하고 있는지, MVVM 패턴에서 View, ViewModel, Model을 잘 분류하고 있는지는 모르겠다. 공부하는 내용을 한 프로젝트에 집약시킨다는 느낌으로 앱에 MVVM 패턴과 DataBinding을 적용하고 '검색, 최근 검색어' 기능에 로컬 DB, Room을 사용하고 서버 API 호출/응답에는 Coroutine과 Repository 패턴을 적용해보고 있다. 

 

비교적 간단한 프로젝트에서 설계적으로 복잡한 부분이 있으나 확실히 구조적으로도 보기 이쁘고, 오류나 수정사항이 발생했을 때 로직을 수정하기에 좀 더 수월한 것 같다.

그치만 아직 MVVM 패턴에 대해서는 설계와 적용 모두에 많이 어설픈 것 같다. 기능 개발과 동시에 설계 패턴을 보완하는 방식으로 공부해야겠다.

 

멘토님께 질문이 있습니다!

Q. 프로젝트에서 인공지능, 영상처리, 머신러닝 등을 활용하는 복잡한 기술스택을 사용해 본 경험이 없는데 취업 포트폴리오 측면에서 비교적 단순한 프로젝트이지만 출시 및 실제로 사용자들에게 서비스해 보는 경험이 긍정적으로 평가될까요? 아니라면 이제는 복잡한 기술을 적용한 프로젝트를 진행해 보는 것이 좋을까요?

728x90
반응형