안드로이드 개발 경력자분들과 커피챗 하면서 배운 점들

안드로이드 취준생의 고민들

Ji Sungbin
15 min readAug 8, 2022
Photo by Kenny Eliason on Unsplash

배경

제가 안드로이드 취준하면서 밑에서 말할 고민들을 갖기까지의 어떤 과정이 있었는지를 먼저 말하면서 시작하려고 합니다. 꽤 길수도 있어서 본문을 바로 보고 싶으신 분은 스크롤을 바로 건너뛰시길 추천드립니다.

저는 안드로이드 개발을 중학교 2학년 때 시작해서 작년(대학생 1학년)때 까지 공부만 하다가 제대로된 취준은 올해 초부터 시작하였습니다. 저는 제 주변 지인들이 많이 써주고 보기 예쁘고, 무엇보다 삶을 되게 편리하게 해주는 그런 앱을 만들고 싶었습니다.

취준을 시작하기 전에 내가 만들고 싶은 앱을 만드는 기업이 어디인지를 먼저 생각해 보았고, 그 답으로 “토스” 라는 기업으로 결정하게 됐습니다. 이 이후로 2021년 11월 16일 “토스팀에서 원하는 인재상 파악하기” 라는 글을 올리면서 토스 취준 생활이 시작됩니다.

토스 취준기

토스에 취직하기 위한 공부 과정은 Ready for Toss 레포에서 확인하실 수 있습니다. 이 중, 7번, 10번, 11번 글이 제 고민 형성에 아주 큰 기여를 했습니다.

https://jisungbin.medium.com/%EC%95%9E%EC%9C%BC%EB%A1%9C%EC%9D%98-%EA%B3%84%ED%9A%8D-%EB%B6%80%EC%A0%9C-ios-%ED%8F%AC%EA%B8%B0-73499aaf636

7번 글은 이렇게 시작됩니다. 모든 안드로이드 취준생 분들이 가장 먼저 갖는 고민이 이게 아닐까 싶습니다. 이 글이 올라가는 시점인 2021년 12월 1일 부터 제 실력에 대한 불신이 강해지고 공부의 질도 나빠지게 됩니다. 또한 “토스” 라는 기업이 너무 나에겐 높았던게 아닌가 하면서 괴로워 하는 시간들도 많아 졌습니다.

그래도 내가 정한 목표를 포기하긴 싫어서 끝까지 버티면서 공부하던 와중에, 10번하고 11번째 글을 보면 제목으로 나와 있듯이 토스팀에서 먼저 연락이 왔고, 이후 토스팀에 오피스 투어를 다녀올 수 있었습니다.

토스에 조금이라도 더 쉽게? 취직하기 위해 토스팀에 제 이름을 알리고 싶었습니다. 그래서 인스타그램에서 토스 관련 얘기 할 때마다 토스 멘션하고, SNS 에서도 토스 관련 개발자 분이 계시면 친구 요청을 하고 그랬습니다. 그 덕분인지 먼저 토스팀에서 연락이 왔습니다. (나중에 여쭤보니 이 덕분이 맞았습니다)

이 이벤트 덕분에 저와 같이 토스를 목표로 하시는 개발자 열 분과 같이 토스 안드로이드 개발자 분들과 얘기를 해볼 수 있었습니다. 이때 충격이였던게, 제가 제일 어렸고 결혼하신 분들도 꽤 계셨던거 같았습니다. 저 말고 다른 분들은 경력이 꽤 있으셔 보였고, 질문하는 주제도 저와는 아예 달랐습니다. 그 분들은 주로 육아와 직장 생활을 병행할 수 있는지와 같은 워라밸적 질문 요소가 많았고, 저는 토스팀에서 사용하는 기술 관련 질문만 했었습니다. 제가 했던 질문의 일부는 코루틴과 Rx 를 같이 쓰냐는 거였고, 같이 쓰고 있다는 답변을 받을 수 있었습니다.

이 질문부터 고민이 한 단계 더 고조되기 시작했습니다. 다른 분들은 되게 편안하게 기술과 관련 없는 것들을 주로 질문 하셔서 엄청 자신감이 충만해 보이셨고, 제가 질문하는 내용의 답변마다 제가 여태까지 준비하지 못했던 부분들이 대부분 이였습니다.

이 이벤트가 끝나고 토스를 포기해야 하나 생각이 가장 먼저 들었던거 같습니다. 먼저 저 말고도 토스에서 눈여겨 보고 있는 다른 개발자 분들이 열 분이나 더 계신다는 점에서 열 분을 이길 자신이 없었고, 제가 모르는 기술들이 막 나오는 부분들에서 너무 겁을 먹었던거 같습니다.

이 이후로 고민이 너무 심해져서 조언을 받아 보고 싶어졌고, 토스팀의 이벤트가 끝나고 2주 후인 4월 20일부터 본격적으로 안드로이드 개발자 분들께 커피챗 요청을 드리기 시작했습니다. 그렇게 해서 열 다섯분 정도 뵙고 많은 고민들을 해결할 수 있었습니다.

커피챗의 시작

현재 안드로이드 셀럽 개발자 분이라고 하면 나올 수 있는 대부분의 개발자 분들에게 커피챗을 요청드렸고 정말 감사하게도 다 진행될 수 있었습니다. 네이버 개발자분들, 뱅크샐러드 개발자분, 토스 개발자분들, 모멘티 개발자분, 카카오 개발자분들, 레몬트리 개발자분들, 등등…

대부분 제가 서울로 올라가서 점심 식사 — 카페로 진행습니다.

나의 고민들

제가 토스 이벤트 이후로 갖고 있었던 고민들을 다음과 같습니다.

1. 기업에서 신입에게 바라는 실력은 어느 정도 인가요?
2. 신입으로 입사하신 분들의 실력은 어느 정도 인가요?
3. 이력서는 어떤 구조로 써야 잘 썼다고 느껴질까요?
4. 본인이 사용하는 기술의 내부 원리까지 다 알고 있어야 이력서에 쓸 수 있는걸까요?
5. 이력서에 본인의 실력을 어필하겠다고, 필요 이상으로 오버 아키텍처링해서 만든 프로젝트를 쓰는 건 좋지 않을까요?
6. 이력서에서 본인의 긍정적인 인상을 강력하게 심을 수 있는 방법이 있을까요?
7. 이력서에서 강조해야 할 부분이 있다면 어떤 걸까요?
9. 0년차 신입이 토스 같은 큰 기업을 목표로 하는 건 너무 욕심일까요?
10. 안드로이드 프레임워크 내부 어떻게 동작하는지도 모르는데 서드파티(코루틴, 젯팩) 공부하고 있는건 잘못된 걸까요?
11. 개발이랑 코딩 테스트 공부 어떻게 하셨나요?
12. 컬처핏 면접은 어떻게 준비할 수 있을까요?
13. 취준 과정은 어떻게 해야 좋을까요?
14. 기술 면접 팁이 있을까요?
15. 안드로이드 과제로는 어떤 주제가 나올까요?
16. 한 기술 Deep Dive vs 기술 여러개 습득 - 어떤게 나을까요?

토스 이벤트에서 뵀던 열 분의 개발자분처럼 저와 비슷한 시기에 지원할 수도 있는 다른 개발자 분들을 이기기 위해선(이 중에서 내가 뽑히기 위해선) 이력서를 엄청 잘 써서 제 이미지를 강하게 각인시켜야 되겠다고 생각했었습니다. 그래서 이력서 관련 고민들도 꽤 있었고, 토스 이벤트 때 제가 모르는 얘기들이 많이 나오다 보니 도대체 기업들은 신입에게 어느 수준까지를 원하는지가 너무 궁금했습니다. 그리고 나머지 고민들도 흔한 고민거리였습니다.

이 고민들에 대해 경력 개발자 분들의 여러 생각을 들을 수 있었고, 이 중 모두 비슷하게 말씀해 주신 것들을 토대로 제 생각을 정리해서 공유해 보려고 합니다. (비밀스럽고 민감한 얘기들도 꽤 있어서 모두 공유드리진 못하는점 양해 부탁드립니다 😅)

원래는 이 글을 쓸 계획이 없었지만, 저처럼 같은 고민을 하시는 안드로이드 취준생 분들도 분명 많이 계실거라 생각하고 다들 목표하시는 기업에 가셨으면 좋겠어서 이 글을 쓰게 됐습니다.

경력자 분들의 생각

드디어 본문이 시작됩니다!

대부분 같은 주제들의 고민들이라 짧은 말씀으로 여러 고민들을 해결할 수 있었습니다.

[1. 기업에서 신입에게 바라는 실력은 어느 정도 인가요?]

기업은 지원하는 사람이 “신입” 인걸 인지한 순간부터 기대를 엄청 낮춘다는 말씀을 대부분 해주셨습니다. 즉, 이력서에 쓸 게 없으니 이력서에 대한 평가 기준을 낮추고, 이 사람의 역량 보다는 “성장 가능성” 을 더 많이 볼거라고 말씀해 주셨습니다. 이 말씀을 듣고 “내가 토스에 갈 실력이 될까?” 고민이 어느정도 안심이 되는 순간이였습니다.

신입과 경력의 평가 기준을 동일하게 갖는 기업는 잘못된 기업일 수도 있다고 몇 분은 얘기 해주셨습니다.

[2. 신입으로 입사하신 분들의 실력은 어느 정도 인가요?]

요즘에 새로 오시는 개발자 분들은 워낙 잘하시는 분들이 많다고 많이 말씀해 주셨습니다. 온보딩 과정 이후로 바로 작업하던 코드를 이어서 작업 하시는 신입 개발자 분들도 계시고, 새로운 피쳐를 맡아서 시작하시는 신입 개발자 분들도 계시다고 들을 수 있었습니다.

기업에서 신입에게 바라는 실력과는 약관 모순된다고 느꼈지만, 기업에서 살아남기 위해선 공부를 엄청 열심히 해야 되겠다고 결심하게 된 고민이였습니다.

[3. 이력서는 어떤 구조로 써야 잘 썼다고 느껴질까요?]

하나의 이력서를 생각보다 짧은 시간동안 본다고 말씀해 주셨습니다. 따라서 이력서는 본인이 강조하고 싶은 본인만의 기술 하나만을 콕 찝어서 그 기술을 바탕으로 구성하는게 가장 본인을 잘 기억시키고 어필하기 좋은 구조일 것이라고 들을 수 있었습니다.

저 같은 경우에는 컴포즈를 내부까지 깊게 파악하고 있어서 이 부분이 현재 시점에서는 저만의 큰 장점이 될거 같습니다. 최근 컴포즈 도입을 하고 있는 기업들이 많이 생기면서 해당 기업들에게 저의 이 강점은 크게 보이지 않을까 나름 기대하고 있습니다. 따라서 저의 경우에는 제가 컴포즈의 내부를 분석함으로써 최적화를 이런 식으로 구현해 낼 수 있었다는 점과 같이 얻었던 좋은 효과들을 강조하면서 이력서를 쓸 생각입니다.

[4. 본인이 사용하는 기술의 내부 원리까지 다 알고 있어야 이력서에 쓸 수 있는 걸까요?]

이력서에 적힌 모든 것들이 곧 기술 면접에서의 질문이 된다고 다들 말씀해 주셨습니다. 특정 기술에 대해 질문이 나왔을 때 막힘 없이 대답할 수 있을 정도로만 공부하면 된다고 들을 수 있었습니다.

이 기술에 대해 확실하게 알고 있고, 이 기술이 무엇을 해결하기 위해 나왔으며, 특정 인자의 여부로 인해 결과가 어떻게 달라지는지와 같이 아주 자세하게 알고 있는 것들만 이력서에 쓴다면, 해당 기술에 대해 질문에 들어왔을 때 자신있게 대답할 수 있을 것이고 이는 큰 보너스가 될 것이라고 저는 생각합니다.

반면에 이 기술에 대해 자세하게 알고 있는게 아니면 이력서에 쓰면 안되겠다고 저는 판단했습니다. 괜히 썼다가 이 기술이 신입이 이해하기에 되게 어려운 기술이라면 이 기술에 대해 확실하게 알고 있는지 꼬리 질문이 들어올 가능성이 있고, 여기에서 대답을 잘 못하면 마이너스로 적용될 수도 있다고 생각했기 때문입니다.

[5. 이력서에 본인의 실력을 어필하겠다고, 필요 이상으로 오버 아키텍처링해서 만든 프로젝트를 쓰는 건 좋지 않을까요?]

3번 고민에서 들었던 말씀처럼, 짧은 시간동안 이력서를 보시기 때문에 이력서에 기재한 기술들을 다 보지 못할 가능성이 많다고 말씀해 주셨습니다.

또한 그 많은 기술들을 다 쓴다면 4번 고민처럼 오히려 질문에 제대로 대답하지 못해 마이너스가 될 수 있겠다고 저는 판단했고, 중요한 기술들만 이력서에 쓰려고 합니다.

[6. 이력서에서 본인의 긍정적인 인상을 강력하게 심을 수 있는 방법이 있을까요?] / [7. 이력서에서 강조해야 할 부분이 있다면 어떤 걸까요?]

이 고민들은 3번 고민과 중복되는 고민이였던거 같습니다.

이력서에 적힌 모든 것들이 곧 기술 면접에서의 질문이 된다고 다들 말씀해 주셨습니다. 특정 기술에 대해 질문이 나왔을 때 막힘 없이 대답할 수 있을 정도로만 공부하면 된다고 들을 수 있었습니다.

이 기술에 대해 확실하게 알고 있고, 이 기술이 무엇을 해결하기 위해 나왔으며, 특정 인자의 여부로 인해 결과가 어떻게 달라지는지와 같이 아주 자세하게 알고 있는 것들만 이력서에 쓴다면, 해당 기술에 대해 질문에 들어왔을 때 자신있게 대답할 수 있을 것이고 이는 큰 보너스가 될 것이라고 저는 생각합니다.

[9. 0년차 신입이 토스 같은 큰 기업을 목표로 하는 건 너무 욕심일까요?]

이 고민을 얘기 하면서 개발자 분들의 다양한 과거 스토리를 들을 수 있었습니다. 대기업 부터 시작하신 분들도 계셨고, 의외로 창업으로 시작하신 개발자 분들이 꽤 있었습니다. 물론 스타트업 같이 작은 기업으로 시작하신 분들도 계셨습니다.

어쨋든 대부분 개발자 분들의 결론은 “욕심은 아니다” 였습니다. 다들 지금 열심히 하고 있으니 지금처럼 쭉 노력만 하면 가능하다고 말씀해 주셨고, 제게 가장 큰 고민이였던 “토스 라는 기업이 너무 나에겐 높았던게 아닌가” 가 해결되는 순간이였습니다. 더 열심히 노력해서 목표를 이뤄보겠다는 동기를 얻을 수 있었습니다.

[10. 안드로이드 프레임워크 내부 어떻게 동작하는지도 모르는데 서드파티(코루틴, 젯팩.. 등등) 공부하고 있는건 잘못된 걸까요?]

이 고민은 개발자 분들의 가치관에 따라 말씀이 다 달랐습니다. 크게 2가지로 나뉘었습니다.

  • 순수 안드로이드 프레임워크나 언어만을 이용해서 원하는 기술을 바로 구현할 수 있어야 한다.
  • 신입인데 프레임워크단 까지 깊게 알 필요는 없고, 여러 기술들을 아는게 좋아 보인다.

첫 번째 가치관을 먼저 얘기해 보겠습니다. 코루틴의 경우에는 우리가 매일 쓰는 Job 인터페이스가 kotlin 이 아닌 kotlinx 라는 코틀린의 추가 패키지에 구현돼 있습니다. Job 인터페이스가 상속하고 있는 CoroutineContext 인터페이스가 순수 코틀린 영역인 kotlin 패키지에 정의돼 있습니다.

kotlin 패키지에는 suspend 키워드, CoroutineContext, Continuation 과 같은 코루틴의 핵심 인터페이스만 정의돼 있습니다. 이 kotlin 패키지를 이용하여 kotlinx 의 코루틴을 구현할 수 있어야 한다와 같이, 특정 기술에 구애 받지 않고 이 기술이 어떤걸 해결하기 위해 어떠한 방식으로 접근했는지를 이해해서 이를 그대로 구현할 수 있어야 한다를 중요하게 생각하시는 개발자 분들이 계셨습니다.

첫 번째 가치관을 들었을 때 매우 어려워 보입니다. 따라서 현실적으로 신입 수준에서 한 기술을 프레임워크 단으로 딥다이브 해서 깊게 아는건 아주 힘든 일이므로 한 기술 딥다이브 보단 여러 기술들을 알고 상황에 맞게 활용하는 능력을 우선시 하는 두 번째 가치관을 가진 개발자 분들도 계셨습니다.

저는 신입 관점에서 굳이 저를 뽑을 차별성을 만들기 위해 안드로이드 프레임워크를 분석할 계획입니다. 이 분석은 스터디로 계획해서 아마 성빈랜드에 모집 글이 올라올 거 같습니다. 분명 여러 신입분들이 계실텐데 그 중에서 절 뽑을 이유를 만들어야 되겠다고 생각했습니다.

[11. 개발이랑 코딩 테스트 공부 어떻게 하셨나요?]

대부분 코딩 테스트 공부는 따로 안하셨다고 하셨고 그냥 백준 같은 문제집만 많이 푸셨다고 하셨습니다. 개발 공부도 대부분 그때그때 필요한 부분들만 찾아서 하셨다고 한거 같습니다.

(사실 그리 중요한 고민이 아니라 가벼운 대화 느낌이였어서 따로 메모해 두질 않아 기억이 나질 않습니다 ㅠㅅㅠ)

한 가지 중요한 점은, 제대로 배우고 싶다면 본인이 공부한 내용들로 플로우 차트를 그려 보는게 효과가 괜찮다고 말씀해 주셨습니다. 저 또한 직접 플로우를 나타내 보는게 복습과 전체적인 재이해에 도움이 많이 됐습니다. (이 말씀을 듣고 컴포즈 내부 플로우를 그려보게 됐습니다)

[12. 컬처핏 면접은 어떻게 준비할 수 있을까요?]

컬처핏 면접이 가장 걱정되는 과정이였습니다. 기술 면접은 공부를 열심히 해서 통과할 수 있지만, 컬처핏 면접은 어떻게 준비를 해야 할지 너무 막막했습니다. 대부분 개발자 분들도 마찬가지로 저와 같이 딱히 준비를 할 수 있는 방법이 없다고 말씀해 주셨습니다. 유일한 준비 방법이라면 해당 기업에 대해 공부하는 방법이 전부였습니다.

하지만 몇몇 개발자 분께서 이런 말씀을 해주셨습니다.

컬처핏 면접을 합격하겠다고 해당 기업에 대해 공부해서 자신의 진심이 아닌 주입된 지식대로 말하면, 합격을 해서 일을 하게 되도 문화가 자신과 안 맞아서 못 버틸 가능성이 꽤 있다.

또한 모든 개발자 분들이 컬처핏에서 떨어지면 이 기업는 그냥 나랑 안 맞는 기업라고 생각하는게 좋다고 말씀해 주셨습니다.

[13. 취준 과정은 어떻게 해야 좋을까요?]

일단 본인이 생각이 없는 기업이여도 최대한 많은 곳에 서류를 넣어 보고 내 수준이 어디까지 합격하는지를 파악하는게 중요하다고 말씀해 주셨습니다. 이런 식으로 미리 내 수준을 파악하고, 내가 가고 싶은 기업들에 붙을 자신감이 생길 수준까지 올라왔다면 그때 마지막으로 해당 기업들에 지원하는 것이 제일 베스트라고 들을 수 있었습니다.

[14. 기술 면접 팁이 있을까요?]

모든 개발자 분들의 답변이 동일했습니다.

  • 모른다면 모른다고 해라.
  • 아는 부분 까지만 말하고, 어정쩡하게 말하지 마라.

모르는 걸 아는 척 해서 어정쩡하게 말하는 것 보다 오히려 모른다고 확실하게 말 하는게 더 좋은 이미지를 줄 수 있다고 많이들 말씀해 주셨습니다.

[15. 안드로이드 과제로는 어떤 주제가 나올까요?]

이건 그때그때 상황에 따라 달라서 본인도 모른다고 다들 말씀해 주셨습니다. 그냥 랜덤 같습니다.

하지만 과제에서 높은 점수를 받을 수 있는 팁은 들을 수 있었습니다.

  • Testable 한 코드 (테스트 코드가 작성돼 있으면 좋음)
  • 코드 한줄 한줄에 대한 의미

예를 들어 함수를 작성한다고 하면 왜 알고리즘을 이렇게 짰으며, 왜 네이밍은 이렇게 했는지, 왜 이 파일에 위치해 있는지 등등 이런 모든 것들에 대한 의미가 있어야, 기술 면접에서 관련해서 질문이 들어 왔을 때 막힘 없이 대답할 수 있을 거라고 하셨습니다.

또한 Testable 한 코드도 신경을 쓰시는 분들이 계시다고 들을 수 있었습니다. 이것도 알고 있으면 좋을 팁 같습니다.

[16. 한 기술 Deep Dive vs 기술 여러개 습득 — 어떤게 나을까요?]

10번 고민과 중복되는 고민이였습니다.

이 고민은 개발자 분들의 가치관에 따라 말씀이 다 달랐습니다. 크게 2가지로 나뉘었습니다.

- 순수 안드로이드 프레임워크나 언어만을 이용해서 원하는 기술을 바로 구현할 수 있어야 한다.

- 신입인데 프레임워크단 까지 깊게 알 필요는 없고, 여러 기술들을 아는게 좋아 보인다.

여기까지가 공개할 수 있는 제가 질문 드렸던 내용들이고, 여러 개발자 분들의 말씀을 들으면서 개인적으로 큰 도움이 됐던 내용 중 한 가지를 공유하고 글을 마치려고 합니다.

한 기업만 너무 보지 말기

제가 토스에만 올인을 하고 있다는 걸 아셨던 몇몇 개발자 분들이 해주셨던 말씀이 있습니다.

너무 한 기업만 보지 마라. 그랬다가 그 기업 떨어지면 감당 못 한다.

저도 항상 이 문제에 대해 걱정하고 있었고, 그래서 선택한 방법이 무조건 붙게 공부를 엄청 열심히 하자 였습니다. 근데 역시 “무조건” 이라는 건 없었고, 개발자 분들의 조언대로 토스만 바라보는걸 끝내기 위해 더 많은 기업들을 찾아봤던거 같습니다.

그래서 지금은 6개 정도 기업을 준비하고 있습니다. 다 채용 공고를 보고 해당 공고를 기준으로 준비하고 있으니 좋은 결과를 기대하고 있습니다.

끝!

한참 토스에 올인해서 취준을 했을 때 아주 많은 고민들이 생겼었고 해당 고민들을 안드로이드 경력자 열 다섯 분들과 얘기 하면서 어떻게 해결 할 수 있었는지에 대해 글을 작성해 봤습니다. 생각보다 비밀스러운 얘기가 많았어서 공개한 내용이 많진 않지만 저처럼 고민이 너무 많아서 진전이 안되는 분들에게 도움이 됐음 좋겠습니다. 봐주셔서 감사합니다.

(원래는 질문 드린게 30개 가까이 됐었어요, 진행은 1.5~2시간 정도?)

안드로이드 개발자 분들을 위한 카카오톡 오픈 채팅방을 운영하고 있습니다.

--

--

Ji Sungbin

Experience Engineers for us. I love development that creates references.