이호준 멘토님의 우당탕탕 멘토링 -3-

지난 2편에 이어 일주일이 지난 시점에서 이 글을 쓴다.

지난 2편과 현재 글을 쓰는 사이에 글을 세 개 더 썼다.

내용이 길고 분석한 내용을 멘토링 시리즈 본문에 담고 싶지 않아서 링크를 달아두겠다.

앱 다섯 개를 분석해 오는 게 숙제였고,

첫 번째 앱인 배달의 민족은 여기,

두, 세 번째 앱인 쿠팡이츠와 요기요는 여기,

네 번째 앱인 당근마켓과 카카오톡은 여기,

에 정리해두었다.

아무튼 ! 이번 멘토링은 신랄하게 까이는 것부터 시작했다.

애초에 멘토님께서 앱을 분석하라고 하신 의도는 어떤 앱을 분석해서 그 이면에 숨어있는 핵심 비즈니스 알고리즘이나

스마트폰만이 가지고 있는 기능에 대해 더욱 깊게 파고들어 보라는 얘기였는데,

이 앱은 여기 부분을 이런 기법으로 구현했을 것 같고 저 앱은 그냥 흔들면 이런 기능이 나오는데 이러이러한 기법으로 구현했을 것 같습니다... 정도로만 분석해 왔기 때문이다.

으악

이번 멘토링 시간에는 당근마켓의 키워드 푸시 알림 기능을 구현해보았다고 가져가본 것에 대해, 거기서 분석을 그칠 게 아니라 한 단계 더 나아가서 사용자가 지정한 키워드가 사용자의 지역에서 올라온 상품에 포함되었을 때 알림을 보내도록 하는 것이 당근마켓 푸시 알림에서 가장 주목해야 할 부분이고 여기에는 어떤 알고리즘이 쓰였을 것 같냐고 물으셨다. 그러면서 LBS(Location-base service, 위치 기반 서비스)와 GeoCoordinate 의 개념에 대해서 좀더 파악을 해봤어야 한다고도 말씀하셨다.

map_image

또한 배달의민족/쿠팡이츠/요기요 UI 분석한 것에 대해서는 멘토님께서 NHN과 AfreecaTV 에서 있었던 일화를 들려주면서, 재치 있게 저녁이 있는 삶의 코딩 방식과 없는 방식 에 대해 설명해주셨다. 예를 들어 어떤 앱의 메인화면에 광고가 있고, 메인 컨텐츠가 있고, 그 밑에 또 광고가 있다고 하자. 이에 대해 AfreecaTV에서는 그 페이지 하나를 한번에 그려내도록, 그러니까 어떤 파일의 일부를 건들면 그 화면 전체가 영향을 받도록 설계했다고 말하셨다(지금도 그렇다는 건 아니다). 반면에 NHN에서는 한 칸 한 칸을 모듈, 쉽게 말해 클래스로 관리하여 광고의 위치를 바꾸거나 광고 칸에 들어가는 로직을 바꾸는 데에 아주 작은 시간만 필요하도록 설계했다는 이야기를 해주셨다.

brick_image

추가적으로 여기어때 같은 숙박앱을 설치하는 것만으로도 무인텔 같은 곳에 결제를 하면 해당 숙박시설의 방키를 사용자의 스마트폰에 다운받을 수 있게 만드는 일화도 들려주셨다. 스마트폰에 내재된 NFC라는 기술 덕분에 그런 것이 가능한 것이었고 당연히 다운받은 키의 사용권한 expire 시간까지 설정할 수 있었다. 요지는 NFC처럼 스마트폰에서만 활용할 수 있는 기술들을 최대한 많이 알고 있어야 앱 개발자로서 인정받을 수 있고 그중에서도 특정 기술에 대해 좀더 전문적인 지식을 갖추면 갖출수록 좋다는 것이었다.

그래서 ! 오늘 해주셨던 이야기에 맞추어 세 가지 숙제를 내주셨다.

하나는 분석했던 앱들 중에서 다섯 개 전부가 아니어도 괜찮으니 오늘 보여드렸던 것보다 한 스텝씩 더 나아간 수준의 분석을 해올 거.

둘째는 앱의 화면을 여러 가지 모듈을 이용해 구성하고, 필터를 넣으면 특정 모듈의 데이터만 바뀔 수 있도록 만들어 올 것.

마지막으로 셋째는 최대한 많은 부분에서 스마트폰만이 가지고 있는 기능을 자세히 분석해올 것.

이것을 다 하는 것에 총 6일의 시간을 주셨다.

불가능하다는 것을 멘토님도 알고 나도 알고 있지만,

최대한 열심히 하여 실망시켜드리지 않으려고 한다.

그래야 내게도 개발자로서의 행복이 조금이라도 더 빨리 찾아오겠지 !