ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 앱 스토어 배포 경험이 신입 개발자 취직에 얼마나 큰 영향을 미칠까?
    내 이야기/취업정보 2022. 3. 25. 19:45
    반응형

    안녕하세요 ~

    우아한형제들에서 iOS개발자로 일하고 있는 레인스톤입니다:)

     

    최근에 코로나 확진이 되어서 회사뿐만 아니라 개인 블로그도 잠시 쉬었습니다.

    몸 상태는 크게 나쁘진 않았지만 기침 + 코막힘만으로도 일상생활이 충분히 불편하더라구요 ㅠㅠ

    이제는 슬슬 컨디션이 좋아지고는 있어서 다행입니다:)

     

    오늘은 앱 스토어 배포 경험이 취직에 얼마나 중요한지 살펴보고자 합니다.

    앱 스토어 배포와 관련된 질문이 최근 많이 생겨서요...

    그럼 출~발~

     

    앱 스토어 배포 경험은 필수인가?

    결론부터 말씀드리면 iOS 신입 개발자 기준으로 앱 스토어 배포 경험은 필수가 아닙니다.

    필수가 아니라고 생각하는 이유는 명확합니다.

    비전공자 + 신입 포지션에 지원한 주변 사람들 중에 앱 스토어 배포 경험없이 취직에 성공한 친구들이 많기 때문입니다.

    (많다의 기준은 주관적일 수 있으나, 어쨌든 생각보다 많은 친구들이 배포 경험없이 취직에 성공했습니다.)

     

    물론 얼마나 좋은 회사에 취직했는지? 등과 연관지어 분석하면 결과는 다를 수도 있겠습니다.

    어쨌든 '취직' 자체만 연관지어 살펴본다면 앱 스토어에 개인 앱 배포 경험없이 취직에 성공한 친구들도 있고

    배포 경험이 있어도 취직에 어려움을 겪고 있는 친구들도 있습니다.

     

    정리해보자면 '배포' 자체보다 더 중요한 무엇인가가 있는 것 같습니다.

     

    그렇다면 앱 스토어 배포 경험이 필요없는가?

    저는 개인적으로 배포 경험이 반드시 필요하다고 생각합니다.

    위에서는 반드시 필요한게 아니라더니? 좀 이상하죠?

     

    여기서 제가 강조 하고 싶은 포인트는 '배포' 자체는 큰 의미가 없지만,

    과정에서 배우는 것들이 생각보다 많이 중요하다고 생각합니다.

     

    이해가 쉽도록 제 경험을 간단히 회고해보겠습니다.

    저는 약 2개월 정도를 준비해서 앱 스토어에 배포할 앱을 제작했었습니다.

    처음에는 단순히 '배포' 자체를 해보는 것이 취직에 유리할 것이라고 생각했습니다.

    하지만 앱을 만들어서 배포를 완료하는 그 과정에서 '배포' 자체보다 더 중요한 경험을 했습니다.

     

    1. 엣지 케이스 대비

    앱을 만들어서 배포하기 전까지는 여러 앱을 '클론 코딩' 해보는 방식으로 공부했습니다.

    여기서 클론 코딩은 강사가 불러주는 코드를 한 줄 씩 받아적는 방식을 의미하는 것은 아닙니다.

    만들고자 하는 앱을 정한 뒤에 기능에 대해 스스로 고민해보고 구현해보는 방식입니다.

     

    저는 이 과정을 반복하면서 많은 자신감을 얻었습니다.

    이미 출시되어 운영되고 있는 앱들을 내가 얼추 비슷하게 만들 수 있게되었기 때문이죠!?

    취직을 해서도 크게 어려움이 없을 거라고 순진하게 생각했습니다...

    하지만 실제로 배포를 목적으로 앱을 만들다보니 모르던 것들이 보이기 시작했습니다.

     

    그 첫 번째가 엣지 케이스입니다... ㅠㅠㅠ

    사실 출시하고자하는 앱의 '주요 기능'은 1개월 정도 안에 모두 구현을 완료했었습니다.

    그런데 출시까지는 2개월이 걸렸다고 했었죠? 

    1개월 동안 여러가지 엣지 케이스에 대해 생각하고 대비하는 준비를 했습니다.

    (취직하고보니 이 과정을 qa라고 하더라구요...ㅎㅎ)

     

    학습목적 클론 코딩은 주요 기능을 구현하면 해당 프로젝트가 마무리되는 방식이었습니다.

    하지만 앱을 배포할 목적으로 제작해보니까 단순히 주요 기능을 완성하는 것에서 끝이 아니라

    사용자들이 사용하면서 발생할 수 있는 모든 케이스에 대응이 필요했습니다.

     

    예를 들어

    • 서버에서 데이터를 받아오기 전에 데이터(정보)가 필요한 버튼을 누른다면?
    • 로그인이 필요한 화면에서 로그아웃 후에 특정 action을 한다면?
    • single, double tap gesture를 모두 받는 화면에서 연속으로 tap action이 발생한다면?

     

    이 과정에서 모바일 개발자가 수행해야하는 임무는 주요 기능 구현뿐만 아니라,

    수많은 사용자가 앱을 사용해도 개발자의 예측 범위 안에서 모든 action이 발생하고

    처리될 수 있도록 개발하는 것을 포함한다는 걸 알게됐습니다.

     

    2. 유지보수 용이성

    앱을 배포한 이후도 문제였습니다.

    기존에 학습목적으로 클론코딩한 프로젝트는 완성한 순간 그 코드를 다시 볼 일이 없었습니다...ㅋㅋㅋㅋ

    하지만 앱을 배포하고 난 뒤에는 사용자들로부터의 피드백을 항상 신경쓰고 대응해야 했습니다.

    모든 엣지 케이스를 대비한다고 했지만 대비하지 못했던 케이스도 있었고

    사용자의 요청에 따라 추가적인 기능을 붙여야할 상황도 있었습니다.

     

    사실 앱 배포를 계획할 때 이러한 상황들을 예상했었기 때문에 유지보수가 쉬운 구조를 위해 노력을 많이했습니다.

    그 덕분에 사용자의 피드백에 빨리 빨리 대응할 수 있었던 것 같습니다.

    유지보수를 생각하고 앱을 기획하고 제작하느냐 vs 그렇지 않느냐 사이에는 큰 차이점이 존재한다는 걸 알게됐습니다.

    유지보수를 생각하고 코딩을 하면 일단 앱 구조가 깔끔해지고 기능 추가&삭제 등에 유연하게 대처가 가능해진 다는 걸 배웠습니다.

     

    3. 앱 배포 과정

    그리고 마지막으로 배포 과정 자체에서 배울 점도 많았습니다.

    그 전까지는 swift 문법을 배우고 iOS 동작과 앱 개발에 대해서만 배웠다면

    배포를 하는 과정에서는 Apple Certification, Provisioning Profile, App Thining, dSYM file 등에 대해 배우게 됐습니다.

    사실 이런 개념들은 앱을 배포해보지 않으면 알기 어려운 지식이라고 생각합니다.

     

    물론 그냥 구글링을 통해 해당 키워드를 검색해서 학습해보는 방식도 있지만

    실제로 앱을 제작 및 배포하는 과정에서 찾아보는 것과 단순 학습 사이에는 큰 차이가 존재한다고 생각합니다.

     

    배포 자체보다 배포 과정에서 배우는 지식

    결국 앱을 배포해보는 경험은 '나 배포 해봤어요'라는 경험보다

    그 과정에서 배우는 앱 개발자로서의 태도, 지식 등이 더 중요하다고 생각합니다.

     

    그리고 배포 과정에서 무엇을 배웠는지를 포트폴리오에 최대한 상세하게 녹여내는 것이 중요한 것 같습니다.

    앱을 배포해봤다고 포트폴리오에 적어서 제출하시면, 면접 때 반드시 아래와 같은 질문들을 받게 됩니다.

     

    • 왜 이런 앱을 배포해봤는지?
    • 배포하는 데 뭐가 어려웠는지?
    • (누군가와 함께 했다면) 함께 하면서 어려운 점이 뭐였는지?
    • ~ 기술을 왜 사용하였는지?
    • 배포하면서 배운 점이 무엇인지?

     

    간단하게 예시를 들었지만 면접관마다 훨씬 넓은 범위의 질문을 하실 수도 있고

    같은 질문이라도 훨씬 깊은 범위로 질문을 하실 수도 있습니다.

     

    그렇기때문에 배포하는 과정에서 힘들었던 점 + 배웠던 점 등을 의도적으로 인지하시고

    정리해두시면 앱 배포라는 경험이 엄청난 포트폴리오가 될 수 있을 거라고 생각합니다.

     

    끗!

    그럼 오늘은 여기까지 ~

    화이팅하세요:)

    반응형

    댓글

Designed by Tistory.