멘토링 기간 | 기본 4개월 (17주) *월 단위 연장 가능 |
멘토링 방식 | 1. 주 1회 1시간 화상 멘토링 (Slack으로 멘토님과 상시 소통)
2. 시니어 개발자의 꼬리질문 멘토링 방식
3. 프로젝트 가이드 및 Github로 상시 코드 리뷰
4. 멘토링 녹음본 및 스크립트 제공
5. 이력서, 기술 면접, 포트폴리오 등 커리어 코칭 |
멘토링 커리큘럼은 멘티의 현재 실력과 경험에 맞춰 맞춤형으로 진행됩니다.
선정된 멘토님과의 멘토링 과정에서 개인별 커스터마이징되며, 이미 실무 경험이나
기본 내용을 숙지하고 계신 분들은 심화 과정에 안내된 내용 중심으로 바로 진행할 수 있습니다.
Step 00. 숙지사항
F-Lab은 기술을 제대로 알고 쓰는 것에 중점을 두고 있습니다. 단순하게 “기업의 채용 우대 사항에 있는 특정 기술을 경험해 봤다” 정도만으로는 커리어를 향상시키기 어렵기 때문입니다.
F-Lab의 커리큘럼은 단순히 완주하는 것이 목표가 아닙니다.
많은 분들이 끊임없이 공부에 몰두하더라도, 좋은 회사에 입사하지 못하는 주된 이유는 진도를 나가는 데에만 급급하여 필요한 지식을 제대로 습득하지 못하고 넘어가게 되어, 면접에서 깊이 있는 답변을 하지 못하기 때문입니다. 분명히 공부했음에도 불구하고 면접에 가면 말이 나오지 않는 이유 또한 이 때문입니다.
사용하는 기술에 대해 깊게 학습하면, 면접에서도 깊이 있는 답변을 할 수 있습니다. 이는 좋은 인상을 줄 뿐 아니라, 개발자로서 학습한 지식을 코드에 적용하는 능력도 향상시킵니다. 깊은 학습은 개발 실력 자체를 향상시켜주며, 이는 본질적인 개발 역량의 향상을 의미합니다.
따라서 F-Lab에서는 멘토와 멘티가 1:1로 맞춤형 학습을 진행합니다. 멘티 개개인의 학습 수준과 방식에 맞춰진 커리큘럼을 통해, 꾸준하고 깊이 있는 학습 습관을 기르는 것이 중요합니다. 이를 통해 멘티님은 상위권 개발자로 성장할 수 있습니다.
Step 01. 데이터 엔지니어링 기본기 학습 (4주)
데이터 엔지니어는 컴퓨터 과학(CS) 기본기를 바탕으로, 빅데이터 처리를 위한 대용량 데이터 시스템 및 분산 처리 클러스터를 구축하고 운영하는 역할을 합니다. 지속적으로 쌓이는 거대 데이터를 분석하고 인사이트를 얻어 비즈니스 의사결정을 이어나갈 수 있도록 데이터 시스템 구축, 데이터 처리, ETL, 데이터 거버넌스 관리, 데이터 보안 정책 구성에 대한 깊이 있는 이해가 요구됩니다.
이러한 기술적 역량이 부족할 경우, 거대 데이터를 처리해야 하는 상황에서 처리 속도가 부족하거나, 무결성이 보장되지 않은 형태의 정확하지 않은 데이터 분석으로 인하여 비즈니스 의사결정에 차질을 주거나, 일정이 지연되는 등의 사업에 좋지 않은 영향을 줄 수 있습니다. 또한 미래의 데이터를 비롯한 의사결정을 할 수 있는 Data-driven 사내 문화를 구성하지 못하여 제품의 성장 지표나 근거 데이터를 바탕으로 하지 않은 의사결정을 야기할 수 있습니다.
따라서, 거대 데이터가 오고가는 환경에서 데이터 시스템을 구축하고 데이터를 처리해보며 규모가 있는 데이터를 안정적으로 다룰 수 있는 데이터 엔지니어로 성장하기 위해 기본기를 다지는 이론 학습 시간을 가집니다.
더불어 좋은 회사에서 엔지니어로 일하기 위해서는 소프트스킬과 같은 기본적인 소양이 필수적이므로 "좋은 엔지니어"라는 것이 무엇인지 이해할 수 있도록 기본 소양에 대한 학습 또한 진행합니다.
Step 02. 프로젝트 수행 (6주)
현업과 비슷한 환경을 경험하기 위해 클라우드 환경에 서버들을 구성하고 배포합니다.
단순히 도구를 이용하여 쉽게 배포하는 것이 아니라, 직접 서버에 배포를 수행한 후 자동화를 구축하는 방식으로 진행합니다. 이를 통해 배포 과정의 세부 사항을 깊이 있게 이해할 수 있습니다.
진행 내용
•
멘토님의 코드 리뷰를 통해 이론을 코드에 적용하는 법과 더 좋은 코드를 작성하는 법 학습
•
배포 프로세스의 번거로움을 체감하기 위해 직접 클라우드 서버에 배포를 해봅니다.
•
Spark Cluster 구축, 관리, 프로세싱, 최적화도 해보며, 모델을 실무 관점에서 요구하는 데이터 운용 및 인프라 구성 방법을 고민해보게 됩니다.
•
데이터 파이프라인 구성을 통해 데이터 처리를 자동화해보며 현업에서 자동화가 어떤 변화를 이끌어내는지 직접 그 입장이 되어 체험해 봅니다.
•
관습적으로 작성하는 부분에 대해 다시 고민해보며 “왜?”를 고민하는 습관 형성
•
Data Warehouse / Data Lake 차이 및 특징 학습
•
성능을 높힐 수 있는 방안에 대한 멘토님의 가이드
◦
Distributed Cluster
◦
Processing Job Plan
◦
Schema Evolution
◦
Streaming
Step 03. 데이터 엔지니어링 심화 학습 (6주)
Apache Spark를 이용하여 분산 데이터 처리 환경을 구성하고 이를 기반하여 데이터를 분석하는 방법에 대해 학습합니다.
규모 있는 데이터를 다룰 기회는 많지 않고, 혼자서 이런 환경을 구성하고 직접 공부를 수행하기에는 진입 장벽이 높으므로, 데이터 엔지니어를 위해 고안된 멘토링 프로그램을 통해 현업에서 요구되는 수준의 데이터 볼륨을 처리하는 방법을 배우게 됩니다.
누구는 빅테크 기업에 입사하고, 누구는 입사하지 못하는 이유는 프로젝트에서 한 고민의 깊이가 크게 차이나기 때문입니다. F-Lab 멘토링의 포트폴리오는 모두를 위해 공개되어 있지만, 그 시스템 구축의 결과물을 유사하게 따라하더라도 같은 성과를 내지 못하는 이유는 직접 고민하고 만들었던 결과가 아니기에 면접에서 이론적 개념이나 코드의 의도를 깊이있게 말할 수 없기 때문입니다.
정말 깊이있게 고민하고 코드를 작성한 프로젝트란 어떤 것인지, 어떻게 할 수 있는지 익히기 위한 프로젝트를 진행합니다.
진행 원칙
•
멘토님은 멘티가 프로젝트의 구현에 대해 깊이있게 고민할 수 있도록 본인의 경험을 전달하며 가이드를 드립니다.
•
프로젝트는 기능을 1개만 만들더라도 수준 높게 만드는 것을 목표로 합니다.
진행 내용
•
분산 컴퓨팅의 이해, 거대 데이터를 효율적으로 처리하는 방법
•
쿼리 플랜과 벤치마크를 이용하여 성능 테스트 및 프로파일링
•
프로파일링 정보를 바탕으로 시스템 및 카탈로그 튜닝
Step 04. 데이터 엔지니어링 프로그램 종료와 회고 (1주)
데이터 엔지니어링 프로젝트의 마지막 주차에는 지난 프로젝트의 경험을 바탕으로 전체적인 회고를 진행합니다. 이 과정에서 얻은 경험, 도전했던 문제점, 그리고 앞으로의 발전 방향 등에 대해 고민하고 토론하며, 지속적인 성장을 위한 기반을 마련하게 됩니다.
회고를 통해 개인별 또는 팀별로 얻은 깨달음과 피드백을 공유하며, 프로그램을 통해 얻은 기술적, 조직적, 문화적 학습을 정리하게 됩니다. 이 과정을 통해 개개인의 성장과 팀의 성장을 동시에 도모하게 됩니다.
진행 내용
•
지난 주차의 프로젝트 경험을 바탕으로 개인별 회고 진행
•
팀별로 얻은 깨달음과 피드백 공유 세션
•
프로젝트를 통해 얻은 기술적, 조직적, 문화적 학습 및 트렌드에 대한 토론
•
앞으로의 학습 방향과 목표 설정
(연장시) 심화코스 진행
4단계까지 진행했다면 데이터 엔지니어링에 대한 충분한 경험으로 스스로 성장할 수 있는 상태가 되셨을겁니다. 하지만 더 많은 것들을 해보고 싶으시다면 연장 멘토링을 통해 심화코스를 계속 진행하실 수 있습니다.
진행 내용
•
DeltaLake 및 Schema Evolution.
•
Debezium을 통한 Change data capture(CDC) 구축.
•
Spark Streaming + Kafka를 통한 Live Data Processing.
•
dbt를 이용한 SQL 기반 Data ETL management.
•
DataHub Recipes 구성으로 카탈로그 관리.
공통 커리큘럼
F-Lab 멘토링은 단순히 정해진 요구사항을 따라 구현하는 프로젝트 멘토링이 아닙니다.
모든 과정에서 이론을 기반으로, 스스로 생각하게 만들어 이유를 고민할 수 있도록 훈련합니다.
이를 통해 “왜 이렇게 설계했는지”, “왜 이 기술을 선택했는지”를 명확히 설명할 수 있는 개발자로 성장하게 됩니다. 이러한 접근 방식이 F-Lab 멘티들의 포트폴리오와 면접 결과가 좋은 이유입니다.
상위권 개발자로 성장하기 위한 커리큘럼의 큰 틀은 정해져 있으나, 멘티의 상황 분석과 현재 수준·목표에 맞추어 유연하게 조정하며 진행됩니다.
멘티의 학습 속도와 상황에 따라 커리큘럼 진행 기간은 달라질 수 있습니다.
멘토링 기간 내에 정규 커리큘럼 외에도, 필요한 시점에 멘토님께 이력서 피드백, 모의 면접을 요청할 수 있으며, 합격 이후의 회사 선택 기준, 처우 협상 방법, 커리어 방향성에 대해서도 조언을 받을 수 있습니다.
멘토님은 단순한 강사가 아닌, 멘티의 상황에 맞춰 함께 고민하는 ‘멘토님’의 역할을 수행합니다.
멘토링 수료 이후에는 F-Lab 커뮤니티를 통해 지속적인 성장과 커리어 지원을 받을 수 있습니다.
커뮤니티에서는 성장과 효과적인 구직을 주제로 한 세미나를 지속적으로 운영하며, 수료생 간 스터디, 네트워킹, 모각코, 알고리즘 스터디 등이 활발히 이루어집니다.
또한 멘토님들도 커뮤니티에 함께 참여하고 있어, 멘토링 종료 이후에도 높은 수준의 피드백과 자극을 지속적으로 받을 수 있습니다.
