I went down a rabbit hole this week. I scraped 50 LinkedIn profiles of developers who got recruited (not applied — actively recruited) in the last 90 days. Then I compared them to 50 random developer profiles in the same skill range.
The differences were not what I expected.
Profiles that got recruited had three things in common
1. The headline was a sentence, not a list of skills.
Random profile headline: Senior Software Engineer | React | Node.js | AWS | Docker | Kubernetes | TypeScript
Recruited profile headline: Helping fintechs ship payment systems that don't break at 3am | Senior Backend Engineer
The recruited ones tell you what problem they solve. Recruiters search for problems, not stack lists.
2. The "About" section started with a result.
Random: "Experienced software engineer with X years building scalable applications across multiple domains."
Recruited: "I rebuilt the payments pipeline at [Company] from a 14-second checkout to 800ms. The team that fixed customer-reported issues by 60% in one quarter."
The first 200 characters of your About are what shows up in search previews. If you waste them on "experienced engineer", you're invisible.
3. They had at least one external artifact pinned.
A blog post. A talk. A GitHub repo with actual stars. A side project that solves something. Recruited profiles had visible work outside LinkedIn. Random profiles had only LinkedIn-internal content.
What didn't matter
I checked everything I could. Things that did NOT correlate with being recruited:
- Years of experience (within 3-15 range)
- Number of connections (over 500)
- Number of skills listed
- Endorsements count
- Whether they posted on LinkedIn regularly
- Profile photo style (professional vs casual)
- Listing the school
- Listing every job ever held
The connections thing surprised me. I expected a clear correlation. There wasn't one above 500.
The Open To Work signal
Mixed results. Profiles with the green ring got reached out to slightly more often, but the messages were lower quality (mass outreach for low-paying roles). Profiles without the ring got fewer messages but more from real recruiters with real budgets.
If you need a job in 30 days: turn on Open To Work. If you're casually looking for the right role: leave it off, the quality goes up.
The keyword density myth
Several "LinkedIn optimization" guides tell you to repeat your main keywords 5-7 times. I found no evidence this works in 2026. LinkedIn's search uses semantic matching now. Repeating "Python" eight times doesn't beat one strong description that demonstrates Python expertise.
What does help: using the exact job titles you want to be recruited for. If you want to be a "Staff Engineer", the words "Staff Engineer" should appear in your headline OR current title OR About. Not all three. Once is enough.
The action items
If you want recruiters to find you in the next 30 days:
- Rewrite your headline as a sentence about who you help and how
- Rewrite the first 2 lines of your About to lead with a specific outcome
- Pin one external artifact (blog post, repo, talk, project)
- Use the exact target job title once in your profile
- Stop padding the skills section past 10-12 core skills
Spend 45 minutes. Done.
A free tool that helps with #1
I built a free LinkedIn Headline Generator that takes your role + the problem you solve + your target audience and spits out 10 headline variations in the recruited-profile style.
If you want the rest — resume audit against ATS, cover letter generator, interview prep — all of it is on charliemorrison.dev/tools. Free, no signup.
One thing I'm still unsure about
Whether posting frequently on LinkedIn helps. The data was mixed. Some recruited profiles posted weekly. Some hadn't posted in two years. If posting matters, it's not as much as the profile itself.
If you've gotten recruited recently, drop a comment with what you think mattered most. I'm planning a follow-up post and want more data points.
Top comments (0)