구직 활동에 대한 강화학습 (Reinforcement Learning) 접근 방식
요약
구직 활동을 강화학습(RL)의 MDP(부분 관측 가능 의사결정 과정) 프레임워크로 재정의하여 설명합니다. 단순 반복이 아닌 데이터 기록과 정책 업데이트를 통해 구직 과정을 최적화하는 방법론을 제시합니다.
핵심 포인트
- 구직을 보상이 희소하고 상태가 불분명한 강화학습 문제로 접근
- 단순 활동(Activity)과 전략적 적응(Adaptation)을 구분할 것
- 거절을 실패가 아닌 정보량이 적은 하나의 샘플로 인식
- 기록(Logging)과 정책(Policy) 업데이트를 통한 지속적 학습 강조
현장 매뉴얼 (A Field Manual) ·
- 주제: MDP로서의 구직 활동
- 대상: 성찰하는 지원자
- 지향점: 지속 가능성
지원, 아웃리치 (Outreach), 네트워킹을 단순히 운이 따를 때까지 반복하는 신념의 행위가 아니라, 매주 개선해 나가는 부분 관측 가능 의사결정 과정 (Partially-observable decision process)으로 다루는 내구성 있는 프레임워크입니다. 퍼널 수학 (Funnel mathematics), 인터뷰 하위 문제 (Interview subproblem), 아웃리치의 기술, 그리고 장기 구직의 메커니즘을 통해 확장되었습니다.
제1부: 기초 - 공식화된 문제
§ 01 - 프레임 (The Frame)
강화학습 (Reinforcement learning)은 구직 활동을 설명하기에 적합한 어휘입니다. 왜냐하면 구직 활동을 고통스럽게 만드는 모든 요소가 구조적으로 강화학습 문제이기 때문입니다. 당신은 행동을 취합니다; 제출, 메시지 전송, 게시, 준비 등을 수행하고, 길고 모호한 지연 시간 후에 당신이 실제로 무엇을 했는지와 관련이 있을 수도 있고 없을 수도 있는 희미하고 노이즈가 섞인 신호를 관찰합니다. 보상 (Reward)은 희소합니다 (Sparse). 상태 (State)는 부분적으로 관측 가능합니다 (Partially observable). 신용 할당 문제 (Credit assignment problem)는 잔혹합니다: 그것이 이력서 수정 때문이었을까요, 따뜻한 소개 (Warm intro) 때문이었을까요, 타이밍 때문이었을까요, 시장 상황 때문이었을까요, 아니면 채용 담당자의 기분 때문이었을까요? 단일 사례에 대해서는 결코 알 수 없을 것입니다. 하지만 규율 있는 기록 (Logging)과 업데이트하려는 의지를 가지고 많은 사례를 거치다 보면, 학습하지 않는 사람은 볼 수 없는 패턴이 나타납니다.
실패하는 지원자는 게으른 것이 아닙니다. 그들은 대개 매우 열심히 일하고 있습니다. 그들이 실패하는 이유는 각 지원을 학습할 수 있는 분포에서 추출된 샘플이 아니라, 독립적인 시도로 취급하기 때문입니다. 그들은 계속해서 똑같은 레버를 당기며 기다립니다. 그들은 활동 (Activity)과 적응 (Adaptation)을 혼동합니다. 여기서 제시하는 프레임워크는 그 반대입니다: _더 적은 행동을, 더 신중하게 취하고, 주의 깊게 기록하며, 매주 검토하고, 정책 (Policy)을 명시적으로 업데이트하는 것_입니다.
지도 학습 (Supervised) 사고방식에 반하여
우리 대부분은 학교를 통해 노력에 대한 지도 학습 (Supervised Learning) 모델로 훈련받았습니다. 과제를 제출하고, 성적을 받고, 그 성적이 결과물을 반영하는 방식입니다. 하지만 채용 시장은 숙제에 점수를 매기지 않습니다. 채용 시장은 정책 (Policy)을 샘플링합니다. 단 한 번의 지원은 당신이 통과했는지 실패했는지를 결정하는 시험이 아닙니다. 그것은 수많은 시행을 거쳐야만 파라미터 (Parameters)를 추정할 수 있는 노이즈가 섞인 프로세스 (Noisy Process)로부터 얻은 단 하나의 추출값입니다. 이를 내면화하면 이후의 모든 과정이 바뀝니다. 거절은 당신의 가치에 대한 판결이 아니라, 실제 모습 그대로인 '정보량이 적은 하나의 샘플'이 됩니다. 침묵은 모욕이 아니라, 기저율 (Base Rate)이 알려진 하나의 데이터 포인트 (Data Point)가 됩니다. 이러한 관점의 전환이 제공하는 정서적 안도감은 부수적인 이득이 아닙니다. 그것은 핵심적인 지지대 역할을 합니다. 왜냐하면 에이전트 (Agent)의 사기는 상태 (State)의 일부이며, 그 상태가 다음 주에 어떤 행동 (Action)이 가능할지를 결정하기 때문입니다.
당신은 채용 시장을 해결할 수 없습니다. 당신은 그 안에서 기준점 (Baseline)보다 더 나은 학습자가 될 수 있습니다. 그것만으로 충분합니다.
세 가지 검색이 병렬로 실행됩니다
당신이 단 하나의 검색을 수행하는 것이 아니라, 서로 다른 시간 지평 (Time Horizon)을 가진 세 가지 검색을 수행하고 있으며, 이들이 예산을 공유한다는 사실을 인지하면 전체적인 사업의 성격이 명확해집니다.
- 거래적 검색 (The transactional search) — 현재 열려 있는 공고에 대해 오퍼 (Offer)를 받는 것. 시간 지평: 몇 주에서 몇 달. 이것이 모든 사람이 말하는 "구직 활동"이며, §03의 퍼널 수학 (Funnel Math)이 적용되는 영역입니다.
- 역량 검색 (The capability search) — 더 강력한 후보자가 되는 것: 기술, 결과물 (Artifacts), 인터뷰 기술, 더 날카로운 포지셔닝. 시간 지평: 몇 달. 여기서 보내는 모든 시간은 _상태 (State)_를 변화시켜, 향후 모든 거래적 행동이 더 높은 기대 수익 (Expected Return)을 갖도록 만듭니다.
- 네트워크 검색 (The network search) — 이번 검색과 그 이후의 모든 검색을 뒷받침할 인적 그래프 (Graph)를 구축하고 활성화하는 것. 시간 지평: 몇 달에서 수십 년. 이것이 §11에서 다루는 높은 할인율 (High-discount-factor) 게임입니다.
패닉에 빠진 지원자들은 이 세 가지를 모두 첫 번째(거래적 탐색)에 쏟아붓고 나머지 두 가지는 굶기는데, 이는 정확히 반대로 행동하는 것입니다. 왜냐하면 두 번째와 세 번째 탐색이 첫 번째 탐색을 실행 가능하게(tractable) 만들기 때문입니다. §06의 주간 할당량은 의도적으로 이 세 가지 모두에 자금을 지원합니다. 거래적 탐색(transactional search)이 가용 가능한 모든 시간을 요구할 때조차 그 구조를 유지하십시오. 특히 그럴 때일수록 말입니다.
한 가지 솔직한 주의사항
문헌에서의 강화학습 (RL)은 보통 정적인(stationary) 또는 천천히 변화하는 환경을 가정합니다. 하지만 채용 시장은 비정적(non-stationary)입니다. 채용 공고는 나타났다 사라지고, 당신의 기술은 복리로 쌓이며, 당신의 스토리는 면접을 거듭할수록 개선되며, 거시적 환경은 발밑에서 변화합니다. 따라서 올바른 정신적 모델은 "최적의 정책(optimal policy)을 찾는 것"이 아니라 "환경이 표류(drift)하는 것보다 더 빠르게 개선되는 정책을 유지하는 것"입니다. 이것은 달성 가능합니다. 대부분의 지원자의 정책은 전혀 개선되지 않으며, 이것이 바로 절제된 학습자가 불황 속에서도 지속적인 우위를 점하는 이유입니다. §14에서는 이러한 표류를 직접적으로 다룹니다.
섹션 노트
참고: 용어 정리 (간략히)
상태 (State): 당신의 상황에 대해 관찰할 수 있는 것.
행동 (Action): 이번 주에 당신이 하는 것.
보상 (Reward): 진전(progress)에 대한 측정 가능한 신호.
정책 (Policy): 상태가 주어졌을 때 행동을 선택하는 당신의 규칙.
업데이트 (Update): 보상을 관찰한 후 정책에 가하는 변화.
전체 용어집은 부록 A에 있습니다.참고: 정체성에 관한 노트
당신 자신을 학습 루프(learning loop) 내부의 에이전트(agent)로 프레임화하는 것은 심리적으로 보호막이 됩니다. 거절은 판결이 아닌 신호(signal)가 됩니다. 침묵은 심판이 아닌 데이터(data)가 됩니다. 당신은 실험 대상이 아니라 과학자입니다.
참고: 왜 세 가지 탐색인가
이러한 분해는 진단 도구이기도 합니다. 정체된 것처럼 느껴지는 탐색은 거의 항상 세 가지 중 하나에 과도하게 투자된 결과입니다. 거래만 있고 역량이 없다면: 정체기에 머뭅니다. 역량만 있고 거래가 없다면: 준비라는 이름 뒤에 숨게 됩니다. 네트워크만 있고 거래가 없다면: 즐거운 대화는 나누지만 제안(offer)은 받지 못합니다.
§ 02 MDP: 전체 명세
내부에서 최적화(optimize)를 시도하기 전에 문제를 공식화(Formalize)하십시오. 핵심은 수학적 엄밀함(mathematical rigor)이 아니라, 움직이는 구성 요소들을 가시화하는 것입니다. 상태(state), 행동(action), 보상(reward)을 정의할 수 없다면, 그것들을 개선할 수도 없습니다.
상태 (State) s
각 의사결정 주기(예를 들어 월요일 아침이라고 합시다)의 시작 시점에 관찰되는 것을 상태라고 부릅니다. 상태는 필연적으로 부분적(partial)입니다. 어떤 회사의 채용 의도 내부를 들여다볼 수는 없기 때문입니다. 하지만 의도적으로 살펴본다면, 자신의 태도(posture)만큼은 충분히 명확하게 볼 수 있습니다.
관찰 가능한 상태 변수 (Observable state variables)
| 변수 | 의미 | 출처 |
|---|---|---|
| 파이프라인 형태 (Pipeline shape) | 각 단계별 리드(leads) 수: 콜드(cold), 지원(applied), 회신(replied), 스크리닝(screening), 기술 면접(technical), 현장 면접(onsite), 오퍼(offer) | 리플레이 버퍼 (Replay buffer) |
| ... |
상태 감사(State audit) — 20분 프로토콜
구직 활동 시작 시점에 한 번, 그리고 매달 한 번씩, 다음 네 가지 질문에 글로 답하십시오. 이것은 정직한 초기화(initialization) 과정이며, 이것 없이는 이후의 모든 추정치는 망상에 불과합니다.
- 포지셔닝 (Positioning), 한 문장으로. "나는 —에 유난히 능숙한 —인 —이며, — 종류의 회사에서 —** 역할을 찾고 있습니다." 만약 이 문장을 소리 내어 말하는 데 한 번 이상의 시도가 필요하다면, 그 포지셔닝은 아직 실재하지 않는 것입니다. 그리고 당신이 보내는 모든 메시지는 그 불확실성을 드러내게 될 것입니다.
- 증거 (Proof), 세 가지 결과물. 낯선 사람이 5분 안에 검토하여 포지셔닝의 신뢰성을 확인할 수 있는 세 가지 구체적인 것: 프로젝트, 글(write-up), 배포된 서비스(deployed thing), 강연(talk). 만약 세 가지를 댈 수 없다면, 역량 탐색(§01)에 이번 주 수 시간을 투자해야 합니다.
- 따뜻한 네트워크 (Warm network), 정직한 숫자. 오늘 메시지를 보냈을 때 48시간 이내에 답장을 줄 수 있는 인맥을 의미합니다. 대부분의 사람들은 자신이 생각하는 것보다 정직한 숫자가 더 적습니다. 이를 아는 것이 자원 배분(allocation)을 바꿉니다.
- 결합 제약 조건 (The binding constraint). 현재 당신을 가장 제한하는 단 하나의 변수는 무엇입니까: 회신율(reply rate, 깔때기 상단), 전환율(conversion, 중간), 따뜻한 네트워크(warm network, 채널 접근성), 또는 시간(time, 런웨이)? 이번 주의 계획은 편안한 요소가 아니라, 결합 제약 조건을 눈에 보이게 공격해야 합니다.
행동 (Action) a
다음 한 시간 동안 당신이 선택하여 보낼 수 있는 활동들의 집합입니다. 행동 (Action)들은 비용, 기대 보상 (expected reward), 분산 (variance), 그리고 신호 도달 시간 (time-to-signal) 측면에서 서로 다릅니다. 대부분의 지원자들은 이 중 두세 가지만 사용하며 왜 자신의 정책 (policy)이 정체되는지 의아해합니다.
A₁ · 콜드 지원 (Cold application)
일반적인 이력서로 공개 채용 공고에 지원합니다. 비용이 저렴하고 신호 (signal)는 낮지만, 지원 파이프라인 (funnel)의 양을 채우기 위해 가끔 필요합니다. 전략이라기보다는 옵션을 확보하는 행위입니다.
A₂ · 맞춤형 지원 (Tailored application)
특정 직무 하나를 위해 이력서의 불렛 포인트를 수정하고 실제 커버 레터를 작성합니다. 대부분 보고된 데이터에 따르면 A₁보다 회신율이 4~10배 높으며, 비용은 약 3배 정도 소요됩니다.
A₃ · 직접 연락 (Direct outreach)
채용 담당자, 리크루터 또는 팀원에게 이메일이나 LinkedIn 메시지를 보냅니다. 콜드 컨택이지만 개인화되어 있습니다. 분산 (variance)이 가장 큰 행동이며, 결과는 양봉 분포 (bimodal)를 보입니다. §10에서 자세히 다룹니다.
A₄ · 지인 소개 요청 (Warm intro request)
네트워크 내의 누군가에게 전달을 부탁합니다. 시도당 기대 가치 (expected value)가 압도적으로 높습니다. 다만 네트워크의 친밀도 (warmth)에 의해 속도가 제한되는데, 이것이 §11이 존재하는 이유입니다.
A₅ · 동문 / 커뮤니티 네트워킹 (Alumni / community outreach)
직업을 구하는 것이 아니라 대화를 목적으로 연락합니다. 긴 호흡이 필요합니다. 나중에 A₄를 가능하게 하는 네트워크를 구축합니다.
A₆ · 콘텐츠 / 가시성 확보 (Content / visibility)
포스팅, 글쓰기, 공개적인 결과물 제작입니다. 밀어붙이는(push) 방식이 아니라 끌어당기는(pull) 방식입니다. 보상은 천천히 나타나지만 복리로 쌓이며, 당신이 결코 먼저 연락하지 않았을 사람들에게까지 닿는 완전한 오프-정책 (off-policy) 행동입니다.
A₇ · 기술 / 포트폴리오 작업 (Skill / portfolio work)
무언가를 만듭니다. 엄밀히 말하면 내재적 보상 (intrinsic-reward) 행동입니다. 당신을 더 나은 에이전트 (agent)로 만들어 상태 (state)를 변화시킴으로써, 미래의 모든 행동의 수익 (return)을 높여줍니다.
A₈ · 면접 준비 (Interview prep)
모의 면접, 연습, 스토리 정교화입니다. 전환할 스크리닝 (screen) 단계가 확보되었을 때만 전환이 일어납니다. 파이프라인이 생기기 전에는 과소 수행되고, 생긴 후에는 과잉 수행됩니다. §12에서 상세히 다룹니다.
A₉ · 후속 조치 (Follow-up)
멈춰 있는 대화 스레드에 다시 연락합니다. 비용이 거의 들지 않고 만성적으로 소홀히 다뤄지지만, 전체 영역에서 시간당 수익이 가장 높은 행동 중 하나입니다. 단계별 방법은 §10에 명시되어 있습니다.
복합 행동: 캠페인 (Composite actions: the campaign)
RL(강화학습)에서는 이를 _옵션 (options)_이라 부릅니다. 이는 기본 행동(primitives)들로 구성된 시간적으로 확장된 거시 행동(macro-actions)입니다. 실제로, 당신의 가장 가치 있는 타겟들은 단 한 번의 접촉이 아닌 캠페인(campaign)을 받을 자격이 있습니다. 한 기업을 대상으로 하는 캠페인은 다음과 같은 과정을 하나로 묶습니다: 30~45분간의 조사 (§09) → 맞춤형 지원서 작성 → 특정 내용을 언급하며 채용 담당자에게 직접 연락 → 가능한 경로가 있다면 소개(warm-intro) 시도 → 후속 조치 단계(follow-up ladder). 이를 하나의 캠페인 ID 아래에 기록하고 하나의 단위로서 평가하십시오. 왜냐하면 각 접촉은 서로 상호작용하며, 이를 개별적으로 평가하는 것은 발생한 일을 잘못 해석하게 만들기 때문입니다. 캠페인은 상위 10개의 타겟을 위해 아껴두십시오. 그 외의 모든 것에는 기본 행동(primitive actions)을 사용합니다.
보상 r 및 전이 P(s′ | s, a)
진정한 최종 보상은 +OFFER입니다. 이는 너무나 희귀하고 지연되어 나타나기 때문에, 오직 이것만으로 학습하는 것은 가망이 없습니다. 따라서 §05에서 구축한 보상 형성(shaped) 대체재를 사용합니다. 전이 함수(transition function)는 대부분 알려져 있지 않으며 부분적으로 확률적(stochastic)입니다. 이를 전역적으로 모델링할 필요는 없습니다. 대신 두 가지를 수행해야 합니다: 인구 통계 데이터와 당신 자신의 데이터를 통해 단계별 구조를 추정하는 것 (§03), 그리고 모든 것을 기억하면서 신중하게 샘플링하는 것 (§08)입니다.
섹션 노트
노트 — 부분 관측 가능성 (Partial observability)
기업의 실제 채용 상태(동결된 채용 요구사항, 내부 후보자, 프로세스 도중의 조직 개편 등)를 결코 완전히 파악할 수는 없습니다. 이 모든 것을 잠재 변수 (latent variable)로 취급하십시오. 아웃리치 (Outreach)는 종종 상태를 진전시키기보다 상태를 '드러내는' 역할을 합니다. 그 정보 자체가 보상 (return)의 일부입니다.
노트 — 흔한 오류
행동 비용 (action cost)과 행동 가치 (action value)를 혼동하는 것입니다. 콜드 어플리케이션 (cold application)은 비용이 저렴하지만, 기대 보상 (expected reward)이 너무 낮아서 10번의 콜드 어플리케이션이 1번의 웜 인트로 (warm intro)를 이기는 경우는 드뭅니다. §03에서 이를 정량화합니다.
노트 — 상태로서의 사기 (morale)
사기는 부드러운 변수 (soft variable)가 아닙니다. 사기는 내일의 행동이 실제로 일어날지 여부를 결정하는 변수입니다. 번아웃된 에이전트 (agent)는 퇴화된 행동 공간 (degenerate action space)을 갖게 됩니다. 매일 10초만 투자하여 1~5 사이의 숫자 하나로 기록하십시오.
노트 — 옵션 (Options), 형식적 정의
Sutton, Precup & Singh (1999)는 옵션 (options)을 고유의 개시 집합 (initiation sets)과 종료 조건 (termination conditions)을 가진 시간적으로 확장된 행동 (temporally extended actions)으로 도입했습니다. 채용 캠페인은 정확히 이것과 같습니다. 적합도가 높은 타겟에서 개시되어, 회신, 거절, 또는 D30 종료 시점에 종료됩니다.
§ 03 퍼널 수학 (Funnel Mathematics)
이 섹션은 프레임워크를 철학에서 산술로 전환하는 부분입니다. 채용 퍼널은 마르코프 체인 (Markov chain)입니다. 리드 (leads)는 추정 가능한 전이 확률 (transition probabilities)을 가진 단계들을 거쳐 이동하며, 특정 단계에 있는 리드의 가치는 종료 상태 (terminal state)로부터 역방향 귀납법 (backward induction)을 통해 계산할 수 있습니다. 일단 단계별 가치를 산정할 수 있게 되면, 이전에는 모호했던 세 가지 질문을 계산할 수 있게 됩니다: 이 행동의 가치는 얼마인가, 나의 파이프라인 (pipeline)은 얼마나 건강한가, 그리고 이번 주의 제약 조건 (binding constraint)은 무엇인가?
단계 전환 구간 (Stage conversion bands)
캘리브레이션 (Calibration)은 널리 보고된 커뮤니티 및 채용 데이터를 바탕으로, 미드마켓 기업의 기술 직군에 대한 초기 혼합 수치를 고정합니다. 이는 시작점인 사전 확률 (priors)일 뿐 진리가 아닙니다. 6~8주 이내에 여러분의 완충 데이터 (buffer)가 이를 대체하게 됩니다.
단계 전환: 사전 구간 (관측된 값으로 교체하십시오)
| 전환 (Transition) | 밴드 (Band) | 중간값 (Midpoint) |
|---|---|---|
| 맞춤형 지원 (Tailored application) → 실질적인 답변 (substantive reply) | 8-15% | 0.115 |
| ... |
역방향 귀납법 (Backward induction): 단계의 가치
제안 (offer)의 가치를 1로 설정하고, 각 전환 확률 (transition probability)을 곱하며 역방향으로 진행합니다. 중간값 (midpoints)을 사용하면 다음과 같습니다:
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기