amplitude.init("2e2e5a386856efdf3237cf254a9d14d9"

수료생이 전하는 내일배움캠프의 생활기 | 안드로이드 과정 이선주

수료생이 직접 이야기하는 생생한 내일배움캠프 생활을 들어보세요.
May 20, 2024
수료생이 전하는 내일배움캠프의 생활기 |  안드로이드 과정 이선주
✍🏼
내일배움캠프 안에서는 어떤 일들이 일어나고 있을까요? 4개월동안 오롯이 집중해야 하는 내일배움캠프를 선택하기까지, 많은 고민이 될 수밖에 없을 거예요. 이러한 분들을 위해 내일배움캠프를 직접 경험한 수료생들이 들려주는 '진짜' 내배캠 이야기로 여러분을 초대합니다. 수료생들의 생생한 경험담을 통해 내일배움캠프에서 어떤 성장과 발전을 마주할 수 있을지 그려보세요.
 
안녕하세요, 저는 안드로이드 2기를 수료한 이선주입니다. 오늘은 제가 경험한 내일배움캠프 생활을 모두 전달해드릴게요!
 

⏳내일배움캠프에서의 하루

Q. 오전 9시부터 오후 9시까지 어떤 일정으로 진행되나요?

캠프는 평일 9시부터 21시까지 진행됩니다. 기본적으로 매일 9시에 입실 체크, 9~10시 코드카타, 13~14시 점심시간, 18~19시 저녁 시간, 20시 회고 및 TIL 작성, 21시 퇴실 체크를 하는 타임 테이블을 지키며 진행됩니다. 매일 입실과 퇴실 체크를 잊지 말고 해야 합니다. 입실 후 퇴실까지의 시간에 따라 출석 현황이 달라집니다. 12시간 이상 출석해야 정상적으로 출석 처리가 됩니다. 이때 반드시 9시에 입실, 21시에 퇴실을 해야 하는 것은 아닙니다. 다만, 당일 24시까지 12시간 이상의 출석 시간을 채울 수 있도록 해야 합니다. 또한 식사 시간이 정해져 있긴 하지만, 같은 팀 내에서 시간을 조율할 수도 있습니다. 취업 시 코딩테스트를 준비하기 위해 매일 코드카타, 즉 알고리즘 문제를 한 문제 이상 풀고, 풀이 코드를 제출해야 합니다. 캠프에서 프로그래머스 문제 목록을 구글 시트로 제공하는데요. 주어진 문제 목록 중에서가 아닌 다른 문제(프로그래머스 사이트의 다른 문제, 타 사이트(백준, 리트코드 등)의 문제)를 풀어서 제출해도 됩니다. TIL이란, Today I Learned의 약자로, 매일 자신이 학습한 내용이 무엇인지 정리하여 작성하는 입니다. 나중에 본인이 공부했던 내용을 다시 찾아볼 때 참고하기 좋기도 하지만, 취업할 때 개발자로서의 성장 과정과 꾸준함을 어필할 수 있는 수단이 될 수 있어 중요하기 때문에 잊지 않고 써야 합니다.
 

Q. Zep에서의 학습은 어떻게 이루어지나요?

교육은 메타버스 공간인 zep에서 진행됩니다. 조별 공간이 마련되어 있어, 주차 별로 자신이 속한 조에 따라 모여서 앉으면 됩니다. 100% 온라인 과정이기 때문에 몰입하기 어려울 수 있을 것으로 예상할 수 있으나, zep 내에서 화면 공유 기능을 사용하여 집중하여 서로 학습하는지 확인할 수 있어 몰입을 할 수밖에 없는 환경이 만들어집니다.
그 외 주차별 발제(각 주차별 학습 목표 및 과제 내용 안내)와 과제 발표회, 그리고 각종 세션은 zoom에서 진행됩니다.
 

📚내일배움캠프의 커리큘럼

Q. 내일배움캠프는 4개월간 어떤 커리큘럼으로 진행되나요?

약 4개월간의 커리큘럼은 온보딩, 프로그래밍 기초/심화, 앱 개발 입문/숙련/심화, 앱 개발 실전 주차로 구성되어 있습니다. 매 주차(앱 개발 실전 주차 제외)마다 학습 자료(온라인 강의)와 과제를 준다. 또한, 매 주차 새롭게 팀이 편성되어, 캠프 내 다양한 수강생들과 함께 공부합니다. 온보딩 주차
주어진 앱 개발 종합반 강의를 들으며 앱 개발이란 무엇인지에 대해 맛보기를 할 수 있는 시간입니다. 이때는 주어진 강의를 다 이해하려 하기보단, 앱 개발이란 이런 것이구나 감을 잡으며 코드를 따라서 작성해 보시면 됩니다. 프로그래밍 기초/심화
앱 개발에 사용하는 언어인 코틀린 문법에 대해 학습합니다. 이때 코틀린에 대해 충분히 학습을 해놔야 앱 개발 주차로 들어갔을 때 무리 없이 진행할 수 있습니다. 앱 개발 입문/숙련/심화
본격적인 앱 개발 학습이 진행되는 시기입니다. 각 주차는 2주 동안 진행이 되는데요. 1주 동안 학습 자료를 보며 개인적으로 공부를 한 뒤 1주 동안 팀 단위로 과제를 진행하여 제출하고, 과제를 발표합니다. 이 과정 동안 앱 개발 능력도 학습이 되지만, 협업 스킬과 발표 스킬 또한 많이 성장할 수 있습니다. 앱 개발 실전
팀 프로젝트를 통해 그동안 해온 과제들보다 규모가 큰 앱을 개발하게 됩니다. 안드로이드는 구글 플레이스토어에 앱 배포 후 사용자 테스트를 진행해 보는 과정까지 경험할 수 있습니다.

Q. 사전캠프에 참여하셨나요?

참여하지 않았습니다.
 

Q. 각종 언어 및 프레임워크 학습에서 어려운 점은 없으셨나요?

언어 학습
문법을 빠르게 암기하는 것이 중요합니다. 먼저, 유튜브에 코틀린 문법 강의를 검색하여 시청하며 문법을 익혔습니다. 하지만 타 프로그래밍 언어(C++, Python)를 이미 사용해 본 경험이 있어 Kotlin을 사용하려 할 때 언어 간 문법이 헷갈리는 어려움이 있었습니다. 그래서 Kotlin으로 매일 코드카타를 진행하는 것이 문법 암기에 많은 도움이 되었습니다. 문제를 풀고 난 후 다른 사람들의 Kotlin으로 작성한 풀이를 읽어보며, 더 Kotlin다운 코드가 무엇인지 학습했습니다. 예를 들어 C++에 익숙해 배열 안에 있는 원소들을 순회할 때 index를 이용한 반복문을 사용하곤 했는데요. 코드 카타를 진행하며 Kotlin에서는 collection 함수인 forEach를 사용하여 더 간결한 코드를 작성할 수 있음을 알게 되었습니다. Kotlin Playground 사이트의 코틀린 웹 컴파일러를 사용해 헷갈리는 Kotlin 표현이 있을 때 바로 실행 결과를 콘솔에 출력해 가며 코드를 실행 시켜보는 것도 학습에 도움이 되었습니다.
주특기 학습
어려웠던 학습 내용 중 하나는 RecyclerView입니다. 하나의 RecyclerView를 사용하기 위해 작성해야 하는 코드(RecyclerView 아이템 항목 XML 파일(XML), RecyclerView Adapter 클래스, RecyclerView Holder 클래스, 등)이 많았고 각 클래스의 역할이 무엇인지 헷갈렸기 때문입니다. 이는 RecyclerView응 프로젝트에서 반복적으로 사용하면서 자연스럽게 학습이 되었습니다.
주어진 온라인 강의를 듣고 학습한 내용을 기술 블로그에 정리하는 방식으로 학습했습니다. 글을 작성하면서 그냥 강의만 듣는 것보다 기억에 더 남게 되고, 추후 학습했던 내용을 다시 찾아보고 싶을 때 자신이 작성한 블로그 내에서 검색 기능을 통해 빠르게 찾아볼 수 있어 편하게 복습할 수 있기 때문입니다.
공부하다가 모르는 부분이 생기면 구글에 검색하여 기술 블로그들을 찾아보기도 했지만, 안드로이드 개발자 공식 문서를 우선으로 참고했습니다. 기술 블로그는 작성된 지 오래된 글일 경우 deprecated 된 내용이 있을 수 있고, 정확하지 않은 내용이 있을 수 있기 때문에 공식 문서를 참고하는 것이 보다 정확하기 때문입니다.
 

Q. 내일배움캠프는 정규 과정 외에도 다양한 세션을 제공하고 있습니다. 가장 만족한 세션은 무엇인가요?

수강생들의 학습 방향을 잡아주기 위한 세션들(마인드 셋 특강, TIL 작성법 특강, 학습법 특강, 등), 수강생들이 어려워할 만한 내용을 추가로 한 번 더 다루는 세션들(클래스 상속& 추상화 세션 , OOP 세션, MVVM 패턴 적용하기 세션, 등), 취업 활동에 도움이 되는 세션들(이력서 작성 세션, 협력사 세션 들)이 진행되었습니다. 제게 도움이 많이 된 세션들을 아래에 정리했습니다. 예병수 튜터님의 Git 협업 세션
그동안 프로젝트 현상 관리를 할 때 소스 트리와 github를 연동하여 사용하거나, 안드로이드 스튜디오에 내장된 gVCS를 사용했었는데, Github 특강을 통해 터미널 명령어로 현상 관리하는 법을 쉽고 빠르게 배울 수 있어 좋았습니다. 정용현 튜터님의 OOP 세션
OOP의 개념만 다루신 것이 아닌, 실제 안드로이드 스튜디오에서 View 객체들의 상속 관계를 살펴보며 세션을 진행하신 부분이 재미있고 유익했습니다. '맘맘' 협력사 세션
기업에서 신입 개발자들에게 기대하는 점이 무엇인지를 알게 되어 좋았습니다. 개발자 취업 준비를 하다 보면 어느 정도 수준까지 공부해야 하는지 막막할 때가 많았는데, 그러한 정량적인 기준보다는 성장 가능성을 보여줘야 한다는 점을 알게 되어 도움이 되었습니다.
 

Q. 내일배움캠프의 하이라이트라 할 수 있는 최종 프로젝트, 선주 님은 어떤 점이 가장 좋으셨나요?

프로젝트 기획 단계에서 디자인 튜터님께 받은 첫 튜터링에서, 앱 플로우를 처음부터 끝까지 다시 고민해 보라는 피드백을 받았습니다. 프로젝트 기획에 자신이 있던 상태에서 받은 피드백이었는데, 그때 개발자의 입장과 사용자의 입장에는 차이가 있다는 것을 실감했습니다. 주어진 요구사항대로 개발하는 것은 쉽지만 주어진 요구사항이 사용자 입장에서 유용할지, 기획적인 부분도 함께 고려하는 개발자가 되는 것이 중요하다는 것을 알게 되었습니다. 최종 프로젝트를 통해 앱을 기획 단계부터 개발, 배포 및 사용자 테스트까지 직접 진행해 보며 사용자 입장에서 생각해보는 경험을 얻을 수 있어 도움이 되었습니다.
최종 프로젝트는 앱 개발 실전 주차에서 6주 간 진행됩니다. 팀 구성은 리더, 부 리더, 팀원들로 구성됩니다. 팀의 리더와 부 리더는 팀 프로젝트 전 쌍을 이뤄(혹은 혼자) 신청할 수 있으며, 팀원은 각 팀에 무작위 배정됩니다. 팀원과의 협업 방식은 지난 주차들의 팀 프로젝트 진행 방식과 거의 동일합니다. 지난 팀 프로젝트와의 차이점은, 각 팀마다 담당 튜터님이 배정된다는 것과, 이 전까지의 프로젝트들과는 다르게 매주 한 시간 씩 디자인 튜터님과의 튜터링 시간을 통해 UI/UX에 대해 더 전문적인 피드백을 받을 수 있다는 것입니다.
 
 

🧑🏼‍🏫내일배움캠프에서 만난 사람들

Q. 내일배움캠프의 튜터님은 어떤 분들인가요?

튜터님은 언제든지 모르는 것을 물어볼 수 있는 존재입니다. 내일배움캠프의 가장 큰 장점은 캠프 동안 튜터님들께서 상주하신다는 것입니다. 튜터님들도 zep에 접속하고 계시기 때문에, 언제든 튜터님께 찾아가 질문들 드릴 수 있다. 학습을 하며 이해가 잘 안되는 부분, 과제를 하며 오류가 난 부분 등을 여쭤볼 수 있습니다. 학습/과제 관련 내용에 국한되지 않고, 현업에서 어떤 기술이 자주 쓰이는지, 어떤 부분을 추가로 학습하면 좋을지 등 궁금한 것이 생기면 무엇이든 여쭤볼 수 있습니다.
주특기 학습 주차부터 캠프 커리큘럼과 동시에, 수준별 학습이 시작됩니다. 수준별 학습은 3개의 반(베이직/스탠다드/챌린지)로 나뉘어 진행됩니다.튜터님들께서는 각 반 수업을 담당하시며, 추가적인 학습에 도움을 주십니다.
앱 개발 심화 주차에 들어가면, 팀별 담당 튜터님이 배정됩니다. 담당 튜터님께 앱을 기획하는 단계에서부터 이 기능이 실제 사용자들에게 의미가 있을 기능일지, 기간 내 구현할 수 있는 기능일지 등을 여쭤보며 도움을 받을 수 있습니다.
 

Q. 튜터님께 도움을 받았던 경험을 한 가지 말씀해주세요.

최종 프로젝트 때 polymorphic list를 shared preference에 저장하기 위해 JSON 직렬화 및 역 직렬화하는 과정에서 서브 클래스 필드의 정보가 저장되지 않는 문제가 있었습니다. 튜터님께서 github를 통해 제가 작업 중인 branch를 확인하여 전체적인 코드를 살펴보셨고, polymorphism을 위해 클래스 간 상속을 구현하는 부분에서 문제를 발견하셨습니다. 저는 data class가 sealed class를 상속하도록 구현했는데, data class는 상속 없이 구현하거나 상속해야 하는 경우 sealed interface를 사용해야 했던 것입니다. 튜터님이 꼼꼼히 살펴보셔서 문제를 해결할 수 있었습니다.
 

Q. 내일배움캠프의 매니저님은 어떤 역할을 해주시나요?

캠프 안드로이드 트랙에는 두 분의 매니저님이 계셨습니다. 최다현 매니저님께서는 일정 및 공지 사항 전달, 주차별 발제를 진행하셨습니다. 또한, 과제 발표회나 zoom 세션 등에서 진행을 주로 담당하셨습니다. 다현 매니저님께서는 zep에 상주하진 않으셨지만 문의가 있을 때 슬랙 DM을 통해 언제든 연락을 드릴 수 있었습니다. 류이환 매니저님께서는 수강생들의 생활 관리를 도와주셨습니다. 매일 9시 수강생들의 출석 체크 현황을 확인하시고, 식사 시간마다 zep으로 안내를 해주시고, TIL 제출 현황을 확인하여 미제출자에게 제출 독려를 해주시는 등 세세한 부분까지 신경을 써주셨습니다. 이환 매니저님께서는 zep에 상주하셔서 언제든 편하게 찾아갈 수 있었습니다.
 

Q. 매니저님께 도움을 받았던 경험이 있나요?

캠프를 진행하며 공식적인 학습 시간은 9 to 9이지만, 새벽까지 zep에 남아 추가로 공부하는 경우가 많았습니다. 그러다 보니 잠이 부족하여 아침에 알람 소리를 듣지 못해 9시에 zep에 접속하지 못하는 날들이 종종 있었는데, 이환 매니저님의 모닝콜 덕분에 너무 늦지 않게 출석할 수 있었습니다. 주특기 학습 주차(앱 개발 기초/숙련/심화)에서의 과제 발표회에서, 다현 매니저님께서 진행하시며 주신 발표 피드백도 도움이 많이 되었습니다. 자신감 있는 태도로 발표하기, 앱 실행 시나리오를 짠 후 앱 시연 영상 녹화하기, 등의 피드백을 통해 발표 스킬 개선에 도움을 받았습니다.
 

Q. 팀프로젝트에서 만난 팀원들은 어땠나요?

커리큘럼 주차별 팀이 새로 배정됩니다. 이때 팀 배정은 기본적으로 무작위지만, 팀 프로젝트가 원활하게 진행될 수 있도록 수준 균형이 맞도록 매니저님께서 편성을 해주시는 것으로 알고 있습니다. 팀이 배정되면, 가장 먼저 팀 노션 페이지를 만듭니다. 팀 노션 페이지에 팀원 소개를 작성하며 서로 자기소개를 하고, 팀 리더를 뽑습니다. 이때, 팀 리더는 복불복으로 뽑으면 안 된다는 규칙이 있습니다. 그리고 해당 주차동안 매일 오전 데일리 스크럼과 회고 내용을 페이지에 기록합니다. 팀 노션 페이지를 통해 각 팀원이 매일 공부를 어디까지 했는지/프로젝트 작업은 어디까지 진행했는지를 공유할 수 있습니다.
 

Q. 팀원과 교류하며 가장 기억에 남는 일화를 작성해 주세요.

캠프 수강생들과 서로 어떻게 내일 배움 캠프에 참여하게 되었는지 이야기했던 것이 가장 기억에 남습니다. 저처럼 컴퓨터공학을 전공하고 졸업 후 취업 준비를 위해 캠프에 들어온 수강생분들도 많았지만, 다른 배경의 수강생분들도 많이 계셨습니다. 비전공자이지만 개발자라는 직업을 도전하고자 들어오신 분도 계셨고, 전공자이지만 자신은 개발과 맞지 않는 것 같다고 느껴 비개발 직군에서 일을 하다가 개발 공부를 다시 시작 해 보고자 오신 분도 계셨습니다. 이러한 배경에 대해 들으니, 성적에 맞춰 컴퓨터공학을 전공하고 졸업 후 별 생각 없이 전공을 살리기 위해 개발자 준비를 하고 있던 저는 왜 나는 개발자를 준비하고 있는지 꿈에 대해 진지하게 돌아본 계기가 되었습니다.
 

💡안드로이드 개발자를 고민하는 후배들에게 하고 싶은 말

처음 시작할 때 미리 알고 시작했다면 좋을 지식은 없는 것 같습니다. 캠프에서 코틀린 문법부터 학습을 시작하기 때문에 내일배움캠프는 충분히 앱 개발을 처음 하는 사람에게 적합한 캠프라고 생각합니다.
 
 

고민이 끝났나요? 이제 내일배움캠프에서 개발자로의 여정을 시작하세요

국비지원 부트캠프는 인생에 딱 한번 얻을 수 있는 기회입니다. 내일배움캠프는 수강생들이 이 기회를 헛되이 날려보내지 않도록 최선을 다해 교육과정을 준비했습니다. 개발자로 새로운 커리어를 시작하고 싶다면 단단한 의지만 준비해오세요. 내일배움캠프와 함께 보내는 4개월은 인생 최고의 성장 경험이 될 것입니다.
 
 
 
CREDIT
글 | 이선주 내일배움캠프 수료생 편집 | 정효재 팀스파르타 에디터
 
 

취업 준비, 어디서부터 시작해야 할지 모르겠다면?

 
🧐비전공자인데 IT 업계 취업할 수 있을까?
😟프로젝트 경험이 부족한데, 어떻게 준비해야 할까?
🥺IT 기업으로 이직하고 싶은데 뭐부터 시작해야 할까?
 
이런 고민을 하고 있다면, 내일배움캠프의 IT 취업 컨설팅을 받아보세요.
취업 코칭 전문가들이 여러분의 고민을 해결해 드립니다.
 
다음 링크에 이메일을 입력하시면 메일로 1:1 커리어 상담권과 취준 자료집을 보내드릴게요.
 
Share article
Subscribe to our newsletter
RSSPowered by inblog