인(人)턴(Turn) - 당신 인생의 전환점
우아한 테크 캠프
흔히 인턴이라고 하면 단기간 회사에서 정식 구성원이 되기 위해 실습 훈련을 밟는 일원을 말합니다. 말이 실습 훈련이지 막상 회사에 가면 짧게는 2개월, 길게는 6개월, 1년 동안 제대로 된 실습 훈련을 받지는 못합니다. 개발자라면 이는 더 더욱 힘듭니다. 개발자에게 2 개월의 하계 인턴이라는 제도는 이도저도 할 수 없는 어중간한 기간일 수 밖에 없습니다. 이런 2 개월의 시간을 의미있게 만들어보자는 취지하에 우리는 새로운 인턴 제도를 그려 보았습니다. 2개월동안 하계 인턴을 지원한 이들에게 제대로 된 실습 개발 교육을 제공하기로 했습니다. 학교에서 배우는 따분한 코딩 수업이 아니라 체계적인 실무 교육과 실습 위주의 강의, 실제 회사에서 프로젝트를 수행할 수 있는 역량을 키울 수 있는 교육, 우리는 인생의 전환점이 되어줄, 우아한 테크 캠프를 열었습니다.
우아한 테크 캠프는 내부 개발자들이 교육을 지원했던 과거의 배민 학당에서 벗어나 프로그래밍 교육 기관 출신 강사분들이 세운 코드스쿼드라는 교육 기관에서 2 개월 풀 타임으로 소프트웨어 교육을 지원하기로 하고 김정 대표님, 윤지수 마스터님, 정호영 마스터님과 함께 채용 심사 과정부터 함께 했다. 500 명이 넘는 지원자, 200 명이 넘는 서류 통과자, 코딩 테스트 및 면접 진행자 70 명을 거쳐 최종 24 명의 인원이 선발됐습니다. 채용 선발 과정에서는 내부 개발자 분들의 아낌없는 지원으로 원활히 진행될 수 있었습니다.
채용을 진행하면서 빠듯한 일정에 힘들기도 했지만 우리는 젊은 지원자 분들의 열정과 열의를 보며 옛 생각에 잠기기도 했고 면접관들끼리 후기를 공유하며 요즘 젊은분들의 지식과 경험에 놀라기도 하며 나름의 의미있는 시간을 가졌습니다. 면접은 면접관에게 자신을 알리는 대화라고 합니다. 대화의 과정을 통해 면접자 뿐만 아니라 면접관 또한 새로운 간접 경험을 체득하는 값진 시간이 아니었을까 생각합니다.
2017년 7월 3일 월요일, 우아한 테크 캠프가 시작되었습니다. 경쟁하지 않는 구도 안에서 많이 배울 수 있는 장을 열어주고 싶은 취지에서 만든 이 교육 과정은 웹과 모바일의 두 개의 트랙으로 나뉘어 진행되었습니다. 짧은 시간안에 인턴분들이 많은 걸 얻어갈 수 있는 강의로 채우려고 노력했고 강의 내용은 주차별로 아래와 같습니다. 기초부터 응용까지 스스로 실습하고 코드리뷰하며 서로 회고하는 시간을 통해 개개인이 더 발전할 수 있는 교육을 지원하려 했습니다. 4 주 동안 개발 교육만 진행이 된게 아니라 중간 중간 우아한 형제들의 철학을 엿볼 수 있는 강연과 피플팀과의 워크샵을 통해 우형의 문화 또한 체험할 수 있는 기회를 전했습니다.
1주차
- 아이스브레이킹 + 팀빌딩
- HTML/CSS 활용한 개인 프로필, 팀 홈페이지 만들기
- AWS EC2로 팀홈페이지 배포하기
- 워크샵 with 피플팀 테동소 (테크캠프 동기를 소개합니다)
2주차
Web | Mobile | 공통 |
---|---|---|
JavaScript 언어 기초 | Swift 언어기초와 개발 환경 | 문제 해결 기법 - 김범준 이사님 |
Debugging | 객체 중심 프로그래밍과 함수 중심 프로그래밍 | 세션 발표 - 김봉진 대표님 |
Event, DOM, Ajax | 기본 iOS 앱 아키텍처와 정적 화면 만들기 | |
Template 처리와 관리 | 음식 자판기 앱 만들기 | |
Tab UI Component 개발 |
3주차
Web | Mobile | 공통 |
---|---|---|
웹 애니메이션 | 애플 디자인 가이드라인과 동적 화면 만들기 | 문제 해결 기법 - 김범준 이사님 |
슬라이딩 UI 개발 | 네트워크 API 연동과 JSON 객체 매핑 | 세션 발표 - 장인성 이사님 |
API 연동과 웹페이지 개발 | CollectionView와 MVC 패턴 개선하기 | |
배민프레시 웹 만들기 | 배민프레시 앱 만들기 |
4주차
Web | Mobile | 공통 |
---|---|---|
모바일 웹 개발 | 앱 아키텍처 개선과 메모리 관리 | 문제 해결 기법 - 김범준 이사님 |
모바일 Swipe UI 개발 | 동시성 문제 해결과 앱 설계하기 | 세션 발표 - 한명수 이사님 |
웹프론트엔드 테스트와 단위테스트 구현 | 단위 테스트와 TDD 경험하기 | |
WebPack 기반 개발환경구축 | 앱 배포와 사용성 분석 도구, 프로파일 도구 활용 |
지난 1달, 4주는 캠프 운영진만이 아닌 강사진에게도 의미있는 시간이었습니다. 3월 20일 코드스쿼드의 김정 대표님과 처음 만나 교육형 인턴 프로그램을 기획하면 어떻겠냐라며 시작된 첫 만남이 빠르게 진행돼 여기까지 왔습니다. 이 교육이 인턴분들에게 긍정적인 피드백을 받을 수 있는 건 무엇보다 강사님들의 노력의 힘이라고 생각합니다. 강사님들은 체계적인 강의안과 인턴분들이 성장할 수 있는 환경을 조성해 주셨으며 스스로 생각하며 문제를 해결해 나가도록 유도하며 지식 전달이 아닌 방법을 찾게 교육해 주셨습니다. 우형에서 색다른 인턴 프로그램을 진행하며 나름의 재미를 찾으며 강의를 진행해 주신 두 마스터님은 지난 1달간의 교육을 아래와 같이 회고합니다.
김정 대표님 - 모바일 마스터님
모바일 개발자가 되고 싶었던 인턴도 있고, 웹과 모바일을 다 해야만 한다고 생각하기도 했습니다. 모바일 개발자가 고민해야하는 기술 분야나 도메인 지식을 포괄해서 생각하는 방법을 경험하고 있습니다. 새로운 업무 환경에서, 새로운 개발 환경에서, 새로운 언어를 배우며 서로의 코드를 읽고, 서로의 생각을 배우고, 서로의 부족함을 채워갑니다.
앱을 만들기 위해서 기획하고, 프로토타입을 만들고, 다시 설계를 하고, 짝프로그래밍으로 구현을 해봅니다. 각자 배웠던 언어도 다르고 경험도 다양해서 코딩 스타일도 달랐지만, 테스트를 작성하며 과정속에서 협업을 경험합니다. 다 같이 리뷰하며 다른 생각을 두려워하지 않습니다. 스스로 몰입하고, 성장하고, 또 다른 사람의 성장에 도움을 주는 경험은 다음주에 시작할 프로젝트 활동의 긍정적인 에너지 원천이 될 것입니다.
캠프를 기획하면서 “함께 경험하며 다같이 배우는 과정“을 만들어보고 싶었습니다. 4주가 지난 지금 시점에서, 그 목표에 딱 절반쯤 다가간 것 같습니다.
윤지수 마스터님 - 웹 마스터님
좋은 환경에서 열정이 넘치는 주니어 개발자들과 함께 하고 있습니다. 과정에서 중요하게 여기는 부분은, 설계(design), 협력, 그리고 성장 입니다. 좋은 코드를 만들기 위해 우리는 ‘first design’을 중요하게 여기며 ‘code and fix’에서 벗어나가려 노력중입니다. 더 많은 사고 과정을 거치며 소프트웨어 개발의 참 맛을 느끼고 있습니다.
협력은 더 빠른 결과를 만들어낸다고 합니다. 페어프로그래밍을 하고 어려운 문제를 함께 해결할 때 더 팀이 단단해지고 더 빠른 해결방법이라는 것을 깨닫게 되는거 같네요. 우리는 매일 일어나는 코드리뷰, 페이프로그래밍을 통해서 서로서로 끊임없이 배우는 중입니다. 많은 것을 내려놓고(?) 서로의 코드를 리뷰하고 개선해 나가는 중입니다. 불필요한 경쟁은 없으며, 서로를 신뢰하고 도우며 발전하고 있습니다.
7월 한달간의 교육 과정에 대한 만족도를 조사한 결과 교육 프로그램에 대한 만족도는 매우 높았습니다. 단순 지식 전달이 아닌 생각하는 프로그래밍을 강조하는 교수님들의 강의와 직접 코딩하며 만들어보는 과정이 많은 도움이 된다고 합니다. 8월에는 7월에 배운 교육 과정을 통해 인턴 분들이 스스로 프로젝트를 만드는 실습 시간을 갖게 됩니다. 알찬 교육의 결과물을 직접 기획, 개발하며 수업 내용을 활용하는 시간이 될 겁니다.
이번 교육은 운영하는 사람의 입장에서도 즐거운 시간이었습니다. 젊은 분들의 패기와 열정에 흥분됐고 이분들에게 제공된 기회와 환경이 때론 부러웠습니다. 우리에게 또한 좋은 추억을 만들어준 24명의 멋진 인턴 분들에 감사하며 이분들에게도 잊지 못할 2 달이 되었으면 합니다.