💻

Devops

멘토링 기간
기본 4개월 (17주) *월 단위 연장 가능
멘토링 방식
1. 주 1회 1시간 화상 멘토링 (Slack으로 멘토님과 상시 소통) 2. 시니어 개발자의 꼬리질문 멘토링 방식 3. 프로젝트 가이드 및 Github로 상시 코드 리뷰 4. 멘토링 녹음본 및 스크립트 제공 5. 이력서, 기술 면접, 포트폴리오 등 커리어 코칭
멘토링 커리큘럼은 멘티의 현재 실력과 경험에 맞춰 맞춤형으로 진행됩니다. 선정된 멘토님과의 멘토링 과정에서 개인별 커스터마이징되며, 이미 실무 경험이나 기본 내용을 숙지하고 계신 분들은 심화 과정에 안내된 내용 중심으로 바로 진행할 수 있습니다.

Step 00. 숙지사항

F-Lab은 기술을 제대로 알고 쓰는 것에 중점을 두고 있습니다. 단순하게 “기업의 채용 우대 사항에 있는 특정 기술을 경험해 봤다” 정도만으로는 커리어를 향상시키기 어렵기 때문입니다.
F-Lab의 커리큘럼은 단순히 완주하는 것이 목표가 아닙니다. 많은 분들이 끊임없이 공부에 몰두하더라도, 좋은 회사에 입사하지 못하는 주된 이유는 진도를 나가는 데에만 급급하여 필요한 지식을 제대로 습득하지 못하고 넘어가게 되어, 면접에서 깊이 있는 답변을 하지 못하기 때문입니다. 분명히 공부했음에도 불구하고 면접에 가면 말이 나오지 않는 이유 또한 이 때문입니다.
사용하는 기술에 대해 깊게 학습하면, 면접에서도 깊이 있는 답변을 할 수 있습니다. 이는 좋은 인상을 줄 뿐 아니라, 개발자로서 학습한 지식을 코드에 적용하는 능력도 향상시킵니다. 깊은 학습은 개발 실력 자체를 향상시켜주며, 이는 본질적인 개발 역량의 향상을 의미합니다.
따라서 F-Lab에서는 멘토와 멘티가 1:1로 맞춤형 학습을 진행합니다. 멘티 개개인의 학습 수준과 방식에 맞춰진 커리큘럼을 통해, 꾸준하고 깊이 있는 학습 습관을 기르는 것이 중요합니다. 이를 통해 멘티님은 상위권 개발자로 성장할 수 있습니다.

Step 01. 기본기 심화학습(4주)

Devops 개발자에게 있어서, Container에 대한 지식은 모든 기술에 대한 기본이 됩니다. 하지만 Container 기술이 어떻게 구현되었는지 그 원리를 아는 Devops 개발자는 드뭅니다.
그렇기 때문에 Container 기술을 바닥부터 알기 위한 지식들을 배웁니다.
기본적으로 Linux 시스템에 대해서 공부하고, Docker와 Container 기술이 어떻게 구성되어 있는지, 그리고 실제로 Linux의 기본 시스템으로 Docker 없이 Container를 구현하면서 Container 기술에 대한 기본기를 확실히 다집니다.
그림으로 배우는 리눅스 구조
모던리눅스 교과서
도커 교과서
쿠버네티스 교과서
쿠버네티스 인 액션
실습
Docker 없이 Container 만들기

Step 02. 프로젝트 진행(7주)

Kubernetes를 이용하면서 최대한 실제 업무에서 마주칠 수 있는 상황을 구현해 보고, 그 상황을 어떻게 해결할 지 본인이 스스로 고민하는 것이 중요합니다.
대부분의 개발자들이 Devops라고 할 때 어디서부터 시작해야 할지, 막막한 경우가 많습니다. 업무의 범위가 너무 넓게 느껴지기도 하고, 실제로 이 많은 기술들이 다 쓰이는지, 그 기술들을 어느정도 깊이로 공부해야 하는지가 애매하기 때문입니다.
그렇기 때문에 본인이 실제로 문제 상황(장애 상황) 등을 만들고, 무엇이 문제인지, 문제를 어떻게 해결해야 할지, 그 문제를 해결하기 위해서 어떤 기술을 써야할지를 직접 경험하면서 왜 Devops 개발자들이 이러한 기술을 선택했고 어떻게 활용하는지 본인 스스로 깨닫는 시간을 가집니다.
진행 원칙
Application 코드는 복잡하지 않아도 됩니다. 단순하게 이미 공개되어 있는 코드나 Docker image 등을 사용해도 좋습니다. 중요한건 Infra적인 관점에서 ‘더 완성도 있는 작업을 할 수 있느냐’입니다.
실제로 여러 장애 상황을 생성해봅니다.
로드 테스트를 진행하는 방법도 있을 것이고, DB Failover 같은 방법도 있을 겁니다. Kubernetes Node 하나가 그냥 죽는 경우도 있습니다.
이러한 상황에서도 서비스가 영향이 없도록 인프라를 잘 구축해야 합니다.
위의 작업을 하다보면, 여러 부족한 점이 있다는 것을 느낄 겁니다. 그때마다 그 부분을 보완하기 위해서 하나씩 추가합니다.
서비스가 영향이 없다 라는 것을 어떻게 알 수 있는지, 단순하게 Kubernetes의 pod만 잘 떠있다면 문제가 없는건지?
Scale Out / In 시 생각한 것처럼 잘 동작하는지, 실제로 몇초가 걸리는 지
문제 발생 시 어디가 문제인지 파악하기 위해서 어떤 정보가 더 필요하고, 그걸 어떻게 수집할 수 있을지

Step 03. 클라우드 배포 (4주)

위에서 했던 작업을 다시 한번 클라우드 환경에서 작업을 해봅니다.
분명 로컬 환경의 Kubernetes에서는 문제 없었던 것들이 클라우드 환경으로 가면서 많은 것들이 달라집니다. 이러한 차이점을 더 느끼면서 본인의 인프라 서비스를 실제로 프로덕션 수준까지 끌어올려 봅니다.

(연장시) 심화코스 진행

3단계까지 진행했다면 깊이있게 개발하는 방법을 익혀 스스로 성장할 수 있는 상태가 되셨을 겁니다. 하지만 더 많은 것들을 해보고 싶으시다면 연장 멘토링을 통해 심화코스를 계속 진행하실 수 있습니다.
SRE, Cluster 관리, AWS 인프라 구축 등 Devops의 더 하위 분야로 심화코스를 진행할 수도 있고, 또는 Devops 분야에서 많이 쓰이는 python / golang 등을 공부하면서 자동화에 더 초점을 맞출 수도 있습니다. Devops의 경우 Service의 high level architecture 등에 대해서 많은 논의를 하는 경우도 많기 때문에 이러한 부분에 대해서도 따로 공부를 진행할 수도 있습니다.
진행 내용
SRE 심화
본인의 k8s 위에 Prometheus & Loki & Grafana 설치
본인의 container에 sidecar로 prometheus exporter, fluentbit 등을 설치 후 Loki & Prometheus 로 내보내기
실제로 테스트 등을 하면서 필요한 Grafana Dashboard 을 구축
Istio을 설치 후, Jaeger Propagation을 구축
쿠버네티스 심화
AWS EKS 위에 k8s을 구축
실제로 local에서 보낸 요청이 eks 위에서 어떻게 움직이는지 tcpdump 등을 통해서 완벽하게 추적
기타
AWS 심화
Python / Golang
Cloud Design Pattern

공통 커리큘럼

F-Lab 멘토링은 단순히 정해진 요구사항을 따라 구현하는 프로젝트 멘토링이 아닙니다. 모든 과정에서 이론을 기반으로, 스스로 생각하게 만들어 이유를 고민할 수 있도록 훈련합니다. 이를 통해 “왜 이렇게 설계했는지”, “왜 이 기술을 선택했는지”를 명확히 설명할 수 있는 개발자로 성장하게 됩니다. 이러한 접근 방식이 F-Lab 멘티들의 포트폴리오와 면접 결과가 좋은 이유입니다.
상위권 개발자로 성장하기 위한 커리큘럼의 큰 틀은 정해져 있으나, 멘티의 상황 분석과 현재 수준·목표에 맞추어 유연하게 조정하며 진행됩니다. 멘티의 학습 속도와 상황에 따라 커리큘럼 진행 기간은 달라질 수 있습니다.
멘토링 기간 내에 정규 커리큘럼 외에도, 필요한 시점에 멘토님께 이력서 피드백, 모의 면접을 요청할 수 있으며, 합격 이후의 회사 선택 기준, 처우 협상 방법, 커리어 방향성에 대해서도 조언을 받을 수 있습니다. 멘토님은 단순한 강사가 아닌, 멘티의 상황에 맞춰 함께 고민하는 ‘멘토님’의 역할을 수행합니다.
멘토링 수료 이후에는 F-Lab 커뮤니티를 통해 지속적인 성장과 커리어 지원을 받을 수 있습니다. 커뮤니티에서는 성장과 효과적인 구직을 주제로 한 세미나를 지속적으로 운영하며, 수료생 간 스터디, 네트워킹, 모각코, 알고리즘 스터디 등이 활발히 이루어집니다. 또한 멘토님들도 커뮤니티에 함께 참여하고 있어, 멘토링 종료 이후에도 높은 수준의 피드백과 자극을 지속적으로 받을 수 있습니다.