# Application Strategy ## Positioning Default professional identity: > Staff/Senior Data Engineer with production platform ownership, AWS data products, Kubernetes delivery and direct production-ML integration experience. Core targets: - Senior/Staff Data Engineer. - AWS-oriented Data Platform Engineer when Terraform/SRE background is not mandatory. - ML Platform/MLOps roles centered on deployment, infrastructure and operation. - Semiconductor data, analytics and production-ML infrastructure roles. - Swiss/DACH enterprise data-engineering roles. Stretch targets include LLM/agent engineer, AI Manager, pure SRE, strategic-account FDE, and Principal roles requiring company-wide architecture or external-customer authority. ## Application Gate Before generating a resume, complete Evidence Fit from `critique_framework.md`. - **Core:** 75+ and no hard-gate failure. - **Adjacent:** 60--74, no required Gap, normally at most one serious preferred gap. - **Stretch:** below 60 or a defining responsibility is only Adjacent. - **No-go:** required/title-defining Gap or unresolved practical constraint. Do not spend a full resume/cover-letter cycle on a no-go role. Record the decision and move on. ## Application Record (no quotas) **Policy change, 2026-09-05, user decision: the 7 Core / 2 Adjacent / 1 Stretch caps are DROPPED.** The caps were arbitrary -- no derivation existed for those numbers -- and they were routed around whenever they bound (RUAG AI Engineer went in at Evidence Fit 74 with a hard-gate FAIL; Citadel was recorded Adjacent when the strict reading said Stretch). A rule that is overridden whenever it binds governs nothing and only adds friction. The cohort was also a confounded experiment. It was designed to test **fit class**, but the variable it silently held constant was **channel**: all six applications were Weak/cold. It therefore could not distinguish "Stretch does not convert" from "cold does not convert", and the results point away from fit class anyway -- the highest-scoring package in the log (Snowflake, ~86) drew no reply in 80 days, while the one interview (SBB) came from a cold Core submit whose resume was *missing* the three ATS literals the session had flagged as risky. **What is kept: the recording, not the rationing.** Every application still records fit class, hard gate, channel, date, stage and outcome. That record is what makes patterns visible instead of re-derived, and it produced every useful finding to date. `application_cohort.json` continues as a durable log; `cohort_tracker.py summary` remains a read-only view. There is no slot to consume and no application is blocked for lack of one. **Fit class is now a preparation signal, not a spend limit.** An Evidence Fit of 64 does not mean "do not apply" -- it means know which two questions you will be asked and have honest answers ready. Hard gates and NO-GO triggers are unchanged: a required Gap or an unresolved practical constraint is still a real finding that must be surfaced before the user decides. ### Real constraints that survive independently of any quota These are not cohort discipline and must not be dropped with it: - **Google: 3 applications per rolling 30 days**, and a 90-day wait before reapplying to the *same* role. An external, enforced limit. - **Do not stack a second cold application on one organisation while the first is pending** -- a judgment call, made deliberately before (Snowflake Metrics was paused for exactly this). - **Each package costs real hours.** Volume is limited by effort, not by policy. ## Channel Strategy **Channel is the rationed variable, replacing the old slot budget** (2026-09-05). It is the constraint with a plausible effect and an untested one: the record stands at **six consecutive cold submits, one interview**, with zero Strong or Moderate channels ever attempted. **Rule: no application goes out cold when a named contact is published and reachable.** This has been available and unused repeatedly -- Marco Heinzen at RUAG (published direct line), Andri Wienandts at SBB (published number, and it still converted), Per Olav Marthinsen at Aker BP. Making contact costs one phone call or one short email and is the cheapest experiment left. For every application, attempt at least one warm action before or immediately after applying: - credible internal referral; - targeted note to a relevant recruiter; - concise outreach to the hiring manager or team member; - former colleague/customer/vendor connection who can establish work quality. Record the channel as Strong, Moderate or Weak. Tailoring alone does not upgrade a cold channel. When no contact is published anywhere, a cold submit is fine -- record it as Weak and move on. ## Resume Strategy - Use International Tech format by default. - Keep the first half page focused on identity, compact skills and current evidence. - Preserve conventional employer/title/date hierarchy. - Favor 11--14 strong bullets over padding. - Capture verified impact rather than inventing metrics. - Generate the Swiss/DACH variant only when local conventions fit the employer. ## Cover-Letter Strategy Apply the decision gate in `cl_reference.md`. A letter is not a default package component. Put effort into portal questions, referral context and outreach when those have higher information value. ## Feedback Loop Review the record whenever a meaningful screen or interview result lands, and compare: - Warm vs cold progression -- **the primary question now, and still unanswered.** - Core vs Adjacent/Stretch progression. - Recruiter rejection vs hiring-manager rejection. - Tool/domain patterns among successful and unsuccessful roles. - Whether resume changes affected outcomes. Change one major variable at a time. Do not react to a single rejection by adding unsupported skills or broader positioning.