최근 주요기업 백엔드 개발자 요구사항
- Java, Spring 프레임워크를 이용한 개발 경험
- 코드 리뷰에 거부감이 없으신 분
- 테스트 코드를 꾸준히 열심히 작성하시는 분
- Spring/Java 기반 서버 개발 경험
- 테스트 구축, 지속적인 구조 개선 경험
- docker를 이용한 서비스 운영 경험
- Java Framework 기반 개발이 능숙한 분
- 코드리뷰에 거부감이 없는 분
- 테스트 코드 작성의 중요성을 아는 분
- 자바 또는 코틀린에 익숙하신 분
- 코드 리뷰를 통해 주변 동료에게 자극을 주는 분
- 객체지향 개발 및 테스트 코드 작성에 숙달된 분
최근 많은 개발자들이 꿈꾸는 회사들의 요구사항 입니다. 테스트 코드 작성은 혼자서 훈련하기 굉장히 어렵습니다. 숙련자의 도움이 없으면 올바른 방향으로 작성하기 어렵기 때문이죠.
코드 리뷰 또한 하지 않는 조직이 많고, 일정이 급하단 이유로 대충하는 경우도 많습니다. 결국 대부분의 개발자들은 코드 리뷰도 경험하기 어려운 게 현실입니다. 역량과 경험의 빈익빈 부익부는 이 순간에도 벌어지고 있습니다.
왜 테스트 코드를 작성하고 코드 리뷰를 해야 하나요? 🤔
우리는 테스트 코드를 통해 코드의 올바른 동작을 보장하고, 코드 리뷰를 통해 품질을 개선할 수 있습니다. 뛰어난 개발 조직이라면 당연히 테스트 코드 작성과 코드 리뷰로 품질 유지에 총력을 기울입니다. 즉, 뛰어난 개발 조직에서 일하고 싶은 개발자라면 당연히 필요한 역량입니다.
그러면 저는 어디서 배우고 경험하나요? 🤣
뻔한 스토리 흐름이지만 그래서 이 교육을 만들었습니다. 커리어의 문턱을 넘기 위한 경험의 부재를 채워 드리고, 뛰어난 개발자에게 요구되는 역량을 만들 수 있는 올바른 훈련법을 알려드립니다. 이전엔 겪어보지 못한 충격적인 개발 경험을 8주 동안 제공합니다.
교육 대상
- 좋은 개발 문화를 지닌 회사로 취업/이직을 꿈꾸는 분
- 포트폴리오 프로젝트를 정말 제대로 만들고 싶은 분
- 뛰어난 조직의 개발 방식과 문화에 갈증이 넘치는 분
- 유행에 흔들리지 않는 진정한 개발 실력을 쌓고 싶은 분
- 코딩의 신 아샬의 개발 노하우를 흡수하고 싶은 분
- TDD로 개발하는 방법을 훈련하고 싶은 분
무엇을 할 수 있게 되는가?
- 모던 Java, 스프링을 더 높은 수준으로 사용하기
- 올바른 테스트 코드 작성하기
- TDD를 통한 견고하고 유연한 코드 개발
- 좋은 설계를 위한 관심사의 분리 이해
- 올바른 객체지향 설계 방법
- Git & 코드 리뷰를 통한 협업하기
코드숨 훈련 원칙
과제를 통한 Output 중심 학습
책이나 명강사의 인강을 보고 막상 코딩을 시작하면 늘 막막합니다. 이러한 Input 중심 학습의 한계는 명확합니다. 코드숨에서는 내가 무엇을 만들 수 있게 됐는지를 중심으로 실력을 측정합니다.
코드 리뷰 기반 Feedforward
Feedback은 과거에 대한 지적이 중점적이지만 Feedforward는 지적이 아닌 미래의 목표를 위한 조언이죠. 트레이너는 일방적 조언이 아닌 함께 고민하고 협력하여 문제 해결을 돕습니다.
No 회고, No 발전
나의 실력과 작업의 난이도는 늘 변화합니다. 그래서 내가 어떤 상태인지 늘 관찰하고 그에 맞는 적절한 계획을 세워야 합니다. 우리는 회고를 통해 메타인지를 향상하고 스스로 성장할 수 있는 힘을 만드는 것에 집중합니다.
교육 특징
🏋🏻♀️ 고통 주도 개발
고통 주도 개발은 코드숨의 교육 모델입니다. 빠른 성장을 위해선 올바른 고통은 필수적입니다. 포기와 좌절을 주는 나쁜 고통이 아닌 도전 의식과 성취감을 일으키는 좋은 고통을 매순간 유도합니다.
🔍 코드 리뷰
모든 코드는 트레이너가 리뷰합니다. 코드 리뷰를 통한 피드포워드로 더 나은 방향을 함께 고민합니다. 회원님을 집요하게 괴롭히는 트레이너를 이제 헬스장이 아닌 GitHub에서 만나실 수 있습니다.
🧪 단위 & UI 테스트 코드 작성
코드숨에서 테스트 코드 없는 개발은 절대 허용되지 않습니다. 견고한 소프트웨어를 위한 테스트 코드 작성법과 협업을 위한 문서로서 테스트 코드가 무엇인지 배웁니다.
🔥 TDD & 리팩터링
테스트 주도 개발은 견고하고 유연한 소프트웨어를 위한 대단히 강력한 도구입니다. 프론트엔드 개발에서도 TDD가 얼마나 강력한지 느낄 수 있습니다. 또한 TDD의 핵심인 끝없는 리팩터링의 강력함을 경험합니다.
🤔 주간 회고
회고란 지나간 일을 돌이켜 생각해보며 좋은 점은 유지하고 아쉬운 점은 개선하기 위한 방법을 고민하는 활동입니다. 우리는 매주 회고를 통해 무엇을 배웠는지 정리하고, 개선할 점과 실천 방안을 스스로 설정할 수 있게 됩니다.
🚀 애자일 개발
고객에게 더 많은 가치를 제공하기 위한 애자일을 경험합니다. 매주, 가능하면 매일 고객에게 가치를 전달하기 위한 개발 방식을 추구합니다. 비지니스의 성공을 위한 개발은 무엇인지 느낄 수 있습니다.
교육 방식
1. 과제를 수행하기 위한 최소한의 배경 지식을 아샬의 개념 영상 강의로 학습합니다. 그 외에 필요한 지식을 문서를 통해 제공합니다.
2. 트레이너에게 코드 리뷰와 질문을 통해 지속적인 피드포워드를 받습니다. 리뷰 요청이 뜸하면 트레이너가 직접 안부를 묻습니다😎
3. 아샬의 과제 풀이를 영상 강의로 학습하고 미쳐 생각하지 못했던 노하우를 배워 봅니다. 이걸 소화하려면 1주 동안 열심히 과제를 해봐야 합니다.
4. 회고를 통해 1주일 동안 배웠던 점과 아쉬운 점, 그리고 개선할 점을 정리해봅니다. 이 과정에서 지식을 넘어 지혜를 얻을 수 있습니다.
커리큘럼
1주차 - 웹 개발 시작하기
Java로 서버개발을 시작하고 REST API에 대해 알아봅니다.
- Java 개발 환경 구축
- REST API
- Jackson
2주차 - Spring Web
Spring Web을 사용해서 백엔드 개발 방법에 대해 알아봅니다.
- Spring Web MVC
- ControllerAdvice
- Marko.js
3주차 - 테스트
JUnit5를 이용해서 테스트를 작성하는 방법에 대해 알아봅니다.
- JUnit5
- AssertJ
- MockMvc
- Mockito
4주차 - 객체지향 설계
도메인을 정의하는 방법에 대해 알아봅니다.
- 클린 아키텍처
- Spring Data JPA
- Repository
5주차 - 입력 검증
사용자가 요청한 데이터를 검증하는 방법에 대해 알아봅니다.
- Validation
- DTO
- Dozer Mapper
6주차 - 로그인
JWT를 이용해 사용자를 인증하는 방법에 대해 알아봅니다.
- JWT
7주차 - Spring Security
Spring Security을 알아봅니다.
- PasswordEncoder
- AuthenticationFilter
8주차 - 더 나아가기
Spring을 이용한 백엔드 개발에서 실전적인 부분을 더 다뤄봅니다.
- Spring REST Docs
- Docker
코드숨 수료생 포트폴리오
1기 김난
1기 권혁준
2기 현혜진
1기 곽다희
2기 양홍석
1기 황태영
1기 조범진
수강생 후기
FAQ
Q. 강의를 듣는데 필요한 사전 지식이 있나요?
Q. 비전공자도 들을 수 있나요?
Q. 하루에 얼마나 시간을 써야 하나요?
Q. 기간 안에 강의를 듣지 못하면 어떻게 되나요?
Q. 기간 안에 과제를 제출하지 못하면 어떻게 되나요?
Q. 코드 리뷰는 어떻게 진행되나요?
Q. 수료 기준은 어떻게 되나요?
Q. 환불 규정은 어떻게 되나요?
- 시작일 이전 : 이미 납부한 수강료 전액
- 1/3 경과 전 : 수강료의 2/3
- 1/2 경과 전 : 수강료의 1/2
- 1/2 경과 후 : 반환하지 아니함