이 시리즈를 시작하게 된 계기

최근 회사에서 신입 개발자 온보딩을 맡게 되었다.
효과적인 온보딩이 뭘까 고민하다 보니, 우리 회사의 기술 스택을 체계적으로 정리해야겠다는 생각이 들었다.

우리 회사의 핵심 모듈은 대부분 파이썬으로 되어 있다.
단순한 스크립팅 수준이 아니라, 메타클래스, 컨텍스트 매니저, 비동기 프로그래밍(Async/Await) 같은 고급 기능을 적극적으로 쓰고 있다.
파이썬 내부 동작 원리를 이해하지 않으면 제대로 다룰 수 없는 것들이다.

교재 선정

체계적인 파이썬 교육이 필수라고 판단했다.
교재로는 개인적으로 가장 좋아하는 O'Reilly의 "Python in a Nutshell"을 골랐다.

이 책은 문법을 나열하는 게 아니다.
파이썬이라는 언어의 철학, 설계 목적, 발전 방향까지 깊이 있게 다룬다.
우리 팀의 학습 목표와 딱 맞았다.

시리즈 소개

이번 온보딩을 위해 준비한 강의 내용을 "파이썬 강좌" 시리즈로 블로그에 정리할 예정이다.
단순한 문법 설명이 아니라, 연관된 여러 개념을 함께 다룰 생각이다.

예를 들어 함수 하나를 설명하더라도 "정의하는 방법"에서 끝내지 않으려 한다. 함수가 일급 객체라는 말이 실제로 무엇을 뜻하는지, 클로저와 데코레이터가 왜 자연스럽게 이어지는지, 이런 식으로 개념 사이의 연결까지 함께 다루고 싶다.

무엇을 다룰 예정인가

이 시리즈는 초급 문법을 다시 훑는 강의가 아니다. 실무에서 파이썬을 오래 다루다 보면 결국 마주치게 되는 주제들을 앞에서부터 차근차근 정리하려는 시도에 가깝다.

대략 다음과 같은 흐름으로 진행할 생각이다.

  • 파이썬의 실행 모델과 객체 모델
  • 함수, 클로저, 데코레이터 같은 추상화 도구
  • 클래스, 상속, MRO, 디스크립터, 프로퍼티
  • 이터레이터, 제너레이터, 컨텍스트 매니저
  • 모듈 시스템, 패키징, 표준 라이브러리 활용
  • 비동기 프로그래밍과 동시성의 기본기

각 글은 독립적으로 읽을 수 있게 쓰겠지만, 시리즈 전체를 따라가면 "파이썬이 왜 이렇게 설계되었는지"까지 자연스럽게 감이 오도록 구성하려 한다.

누구에게 맞는가

이 시리즈는 다음 독자에게 특히 도움이 될 것이다.

  • 문법은 알고 있지만 파이썬다운 코드가 아직 손에 익지 않은 개발자
  • 프레임워크 사용은 익숙하지만 언어 내부 동작은 자신 없는 개발자
  • 코드 리뷰에서 데코레이터, 컨텍스트 매니저, 메타프로그래밍이 나오면 한번 멈칫하게 되는 개발자

반대로 "파이썬 입문 1일 차"를 위한 글은 아니다. 기초 문법 자체를 처음 배우는 단계라면 다른 입문 자료를 먼저 보는 편이 더 빠를 수 있다.

선수 지식

기본적인 CS 지식과 파이썬 기초 문법 -- 변수, 함수, 클래스 같은 기본 개념 -- 정도는 알고 있어야 한다.


이 시리즈는 실제 온보딩에서 사용한 내용을 바탕으로 작성했고, 계속 업데이트할 예정이다.
실무에서 자주 헷갈리는 지점이나 리뷰에서 반복해서 나오는 주제가 있으면, 그 내용을 중심으로 우선순위를 조정해보려고 한다.