By Peter Miller · Published February 14, 2026 · Last updated: September 15, 2026
11 min read · Copy a script, edit three brackets, send
You don't need a clever opener. You need a connection note short enough to read on a phone, one line that proves you read the req, and a follow-up that gives the recruiter something to paste into Greenhouse or Workday. Mid-level tech pros with four to eight years in engineering, product, data, QA, or DevOps often lose the thread here. The resume is fine. The message reads like a cover letter stuffed into a 300-character box, or it never mentions the tool the posting leads with.
Before you send note one, check your resume for free against the same posting. If bullet one doesn't name Python, Figma, Snowflake, or whatever the req leads with, fix that first. Recruiters won't chase a strong note when the profile and resume tell different stories. You don't need a new brand. You need one line they'll ctrl-f and find.
Job searching at mid level in US tech is already draining. You're qualified. You're also competing with internal transfers and referral stacks. A tight script won't replace a fit gap, but it'll stop you from getting ignored for tone alone. These templates cover corporate hiring: agency recruiters, in-house talent partners, and managers who skim on mobile between meetings. And if you've been ghosted before, that's not a verdict on your skills. It's often a format problem you can fix tonight.
And you don't need twenty variants. You'll need four connection scripts, two follow-ups, and the judgment to know which one matches a live req, a cold team, or a manager you met at a meetup. When the portal already asked for a letter, don't paste your About section into paragraph one. Generate a cover letter that cites the same stack line you'll use in script two, then stop rewriting.
Send these three pieces first
- Connection request: role + one stack line + connect ask. No resume attachment.
- First follow-up: req link or application ID plus one metric from bullet one.
- Profile headline matches resume title and primary stack before you hit send.
Why recruiters skip the long connection pitch
The symptom looks like ghosting. You sent twelve connection requests last week. Three accepted. Nobody replied to your follow-up. So you assume LinkedIn networking scripts for US mid-level tech do not work for your discipline.
Most skipped notes fail on length and timing, not on qualifications.
Recruiters and hiring managers open LinkedIn between interviews. They are not sitting down to read a mini cover letter in the connection box. A mid-level data analyst who lists every dashboard since 2018 in note one gets treated like spam even when the SQL is real. The same person with one line on Snowflake cost work and a clean follow-up after accept often gets a five-minute screen booking.
There is a second failure mode: the note is short but generic. Hi, I am passionate about your company reads empty when fifteen other candidates sent the same sentence. You need one object from the posting: team name, cloud stack, product surface, or req number. That object is what makes the message feel like it belongs in their inbox instead of a blast list.
For how recruiters search profiles after you connect, see why your resume is not making the shortlist . The short version: they ctrl-f the stack, then scan tenure. Your note should point them to the same words your resume already uses.
Edge case: you met the hiring manager at a conference or internal tech talk. Lead with that context in sentence one. Do not pretend it is a cold reach when it is not.
Edge case: the recruiter posted the req on LinkedIn but the apply button goes to Workday. Mention you plan to apply through the portal and ask if they prefer a heads-up with the req ID. That saves them from searching your name twice.
LinkedIn networking scripts US mid-level tech: connection and follow-up templates
Pick the script that matches your situation. Replace every bracket. Keep connection requests under 300 characters. Follow-ups can run slightly longer because they land in a direct message thread after accept.
Script 1: Recruiter, live req you have not applied to yet
Use when the posting is on the careers site and you want a warm path before you upload. Name the req title or number if it is visible.
{`Hi [Recruiter First Name], I'm a mid-level [engineer/PM/data analyst] with [4-7] years in [Python/React/Snowflake]. Your [Req Title / #12345] lines up with the [AWS/Kubernetes/Figma] work I shipped at [Current Company]. Open to connecting?`}
Script 2: Recruiter, you already applied in the portal
Use after Workday or Greenhouse shows submitted. The goal is to attach a human face to the application ID.
Hi [Recruiter First Name], I applied to [Req Title] yesterday (application #[ID] if you have it). Background: [stack line from bullet one]. Happy to connect and share context if useful for the screen.
Script 3: Hiring manager, team-specific hook
Use when you can point to a blog post, talk, or product area they own. Do not use this to bypass HR on a company that routes all inbound through recruiters unless the manager invited open DMs.
{`Hi [Manager First Name], I lead [scope] at [Company], mostly [stack] on [product surface]. Your piece on [topic] matched how we handled [specific problem]. I'd value connecting in case a [role type] opens on your team.`}
Script 4: Informational, no live req
Use for target companies without an open posting. Ask for insight, not a job, in the connection note.
{`Hi [Name], mid-level [discipline] in [city/remote], focused on [stack]. I'm researching how [Company] structures [platform/data/mobile] teams. Would you be open to a 15-minute connect? No ask beyond learning.`}
Follow-up 1: After they accept, no reply yet
Send five to seven business days after accept. Add one new fact they can forward.
{`Thanks for connecting, [Name]. Quick context: at [Company] I [verb] [scope] on [stack]; [metric] in [quarter/year]. I'm interested in [Req Title / team] if you're the right contact. Resume only if you want it; otherwise everything stays in the portal.`}
Follow-up 2: Gentle second nudge
One week after follow-up 1. Shorter. Acknowledge they are busy. Close the loop yourself if needed.
{`Hi [Name], circling back once on [Req / team]. If timing isn't right, no worries. I'll stay applied in the portal. Thanks either way.`}
I've screened thousands of inbound LinkedIn threads beside Greenhouse queues, and the note that moves is the one where I can paste your stack line and req number into a hiring manager chat without editing your grammar first.
Copy-paste fill-in sheet (edit every bracket)
CONNECTION (max 300 chars):
Hi [Name], mid-level [role], [years] yrs, [tool] + [cloud/domain].
[Hook: req # / team / talk]. Open to connecting?
FOLLOW-UP (after accept):
Thanks for connecting. At [Company] I [built/owned] [scope] on [stack]; [metric].
Targeting [Req / team]. Applied via [portal] on [date] if relevant.
SUBJECT LINE (if InMail):
[Req Title], [stack] [discipline], applied [date]
Copy-paste the sheet above, then swap brackets for your real stack and req before you send anything.
Read how to network without feeling awkward when you need a lighter tone for alumni or former coworkers. The structure stays the same. The opener gets warmer.
Script discipline matters across disciplines. A QA lead should name test automation stack and release cadence, not only years of experience. A TPM should name program size and cross-team delivery surface. A data analyst should name warehouse tool and business domain. The 300-character limit forces priority. That's the point.
If you're switching lanes, say so in script four, not script one on a live backend req. Honest targeting beats spraying the same note to forty recruiters who cover different stacks.
Save each sent script in a notes doc with the req URL. When a recruiter replies six weeks later, you'll remember which hook you used and won't accidentally contradict yourself in round two.
Before and after: notes that stall before a screen
Even strong candidates lose momentum when the message fights the medium. These pairs show the pattern recruiters see most on mid-level tech outreach.
Connection request: pitch vs proof
Before: Hi, I am a highly motivated tech professional with a passion for innovative solutions. I would love to pick your brain about opportunities at your company. Please review my resume attached.
After: Hi Maya, mid-level product manager, six years B2B SaaS. Your Senior PM req (#8842) matches the roadmap work I shipped at Cedar Labs on billing APIs. Open to connecting?
Follow-up: pressure vs context
Before: Any update? I really need this role. Please let me know ASAP. I sent my resume last week.
After: Hi Maya, circling back on Senior PM #8842. I applied in Greenhouse on Tuesday. At Cedar Labs I cut churn 9% after shipping self-serve billing in Q2. Happy to share more if you are the right contact.
Hiring manager note: vague vs specific
Before: I admire your leadership and would love to join your world-class team. I am a fast learner and team player.
After: Hi James, I own data pipelines at Northwind, mostly Python and Airflow. Your post on idempotent ETL matched a rollout we shipped in Q2. I'd value connecting if data roles open on Platform.
Profile mismatch: headline vs resume
Before: Headline says Senior Full Stack Engineer. Resume title says Software Engineer II with backend-heavy bullets and no React proof on dated lines.
After: Headline: Software Engineer II · Python · AWS · Kubernetes. About opens with the same metric from bullet one. Recruiter sees one story in ten seconds.
Edge case: internal referral already submitted. Tell the recruiter in note one so they do not search twice. Mention the referrer by first name only if they approved it.
Edge case: contract ending in thirty days. You can name the timeline in a follow-up, not the connection request. Urgency in note one reads like desperation even when the deadline is real.
Avoid attaching a PDF in the connection request. Many recruiters will not open files from unknown senders on mobile. Save the resume for follow-up or the portal upload they already trust.
Do not send the same script to the recruiter and the hiring manager on the same req the same morning. They compare notes. Pick the entry point that matches how the company routes inbound.
Edge case: you're reaching out to a technical recruiter who covers five disciplines. Name your lane in sentence one: backend, data, product, QA, or DevOps. They route faster when they do not have to guess your stack from a generic title.
Edge case: the req says remote US only and you're in a different time zone. Mention overlap hours in follow-up one, not the connection box. Location filters happen in the portal. Your note should stay focused on stack fit.
Align the message with a forwardable resume
A clean note dies if the recruiter opens your profile and cannot find the stack you promised. Upload the same file you would send in Greenhouse and run a free ATS check on the posting. Confirm Python, Figma, or the lead requirement shows inside extracted experience text, not only in your About section.
Fix bullet one before you network. The message should point at a line the parser can read.
When the portal asks for a cover letter after you apply, generate a cover letter that cites the same stack line as script two. Do not paste that letter into the 300-character connection box. Letters belong in the application, not the invite.
For project proof US tech recruiters actually click on, see full stack resume projects that US recruiters like . Link one repo in follow-up only when the readme shows the same stack as the req.
Send one note tonight
Open the strongest req on your list. Copy script one or two. Replace the brackets with your real stack, company, and req title. Send the connection request without attaching a file.
Set a calendar reminder for five business days out with follow-up one drafted. If they accept sooner, send it that afternoon with one metric from bullet one. Stop after two unanswered follow-ups on the same thread.
Keep a simple log: company, req ID, date sent, script used, accept or no reply. You'll spot which hooks get traction without guessing. Data analysts see which posting types respond. Engineers see which stack lines land. Product folks see which team surfaces get answers.
Job searching is already hard at mid level. You do not need a personality rewrite. You need a short note that matches the resume a recruiter can forward. When the wording on the file still feels off, check your resume for free against the same posting before you paste the stack line into script two.
Frequently asked questions
Stay under 300 characters in the connection request box. Lead with your discipline, years of experience, and one stack or domain line pulled from the posting. Save the resume ask for after they accept. Recruiters read invites on mobile between screens. A wall of text gets skipped even when the background is real.
No on the connection request. Many recruiters will not open attachments from unknown senders. After they accept, you can offer context in a direct message and point them to the portal application you already submitted. If they ask for a file, send the same PDF or DOCX you uploaded to Workday or Greenhouse.
Yes. Swap engineer for product manager, data analyst, QA lead, DevOps specialist, or technical program manager. Keep one object from the req: tool name, team surface, or req number. The structure stays the same. Only the proof line changes.
Wait five to seven business days after they accept. Send one follow-up with a new fact: application ID, req title, or a metric from bullet one on your resume. A second note one week later is fine. Stop after two unanswered messages on the same thread.
Yes. Headline, current title, and the first two lines of About should mirror bullet one on your resume. Recruiters open your profile within seconds of a decent note. If your headline says full stack but your resume leads with data platform work, they pause. Align the files before script one goes out.
