<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Alejandro</title>
    <description>The latest articles on DEV Community by Alejandro (@alx094).</description>
    <link>https://dev.to/alx094</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3958368%2F541e2198-ec16-4959-a719-97e24a109b51.jpeg</url>
      <title>DEV Community: Alejandro</title>
      <link>https://dev.to/alx094</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/alx094"/>
    <language>en</language>
    <item>
      <title>How to Recruit Developers on GitHub Without Treating It Like a Résumé Database</title>
      <dc:creator>Alejandro</dc:creator>
      <pubDate>Fri, 11 Sep 2026 08:29:33 +0000</pubDate>
      <link>https://dev.to/alx094/how-to-recruit-developers-on-github-without-treating-it-like-a-resume-database-2nkm</link>
      <guid>https://dev.to/alx094/how-to-recruit-developers-on-github-without-treating-it-like-a-resume-database-2nkm</guid>
      <description>&lt;p&gt;GitHub can reveal relevant technical work, but it cannot tell you who is available or asking to be recruited. This workflow turns public code into better research and more respectful first contact — without treating contribution history as a résumé database.&lt;/p&gt;

&lt;h2&gt;
  
  
  GitHub is evidence of work — not evidence that someone wants a job
&lt;/h2&gt;

&lt;p&gt;GitHub can show you how a developer thinks in public: the systems they have touched, the trade-offs they explain in a pull request, the projects they keep alive, and the communities where they collaborate. That makes it a useful place to start a technical search.&lt;/p&gt;

&lt;p&gt;It does not tell you that a person is available, interested in being recruited, or happy for their contribution history to be treated as a lead list. Confusing those two things is how a promising sourcing channel turns into another inbox developers learn to ignore.&lt;/p&gt;

&lt;p&gt;The useful question is not, “How do we scrape more GitHub profiles?” It is: how do we find evidence that matters for this role, then give the person a credible, low-pressure choice to talk?&lt;/p&gt;

&lt;p&gt;This is a workflow for hiring teams that need a senior or specialist engineer and want to use public technical work without reducing it to stars, streaks, or keyword matches.&lt;/p&gt;

&lt;p&gt;Start with a technical problem, not a pile of profiles.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the usual GitHub sourcing playbook fails
&lt;/h2&gt;

&lt;p&gt;Most guides follow the same three moves: use an advanced-search string, sort by a visible metric, then send a personalized message. The first two steps are where the quality leaks out.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A contribution graph is not a capability score. Paid work is often private. Maintainers may spend their time reviewing, triaging, documenting, or designing rather than producing a long stream of commits.&lt;/li&gt;
&lt;li&gt;Stars are distribution, not seniority. A useful library can be small; a popular repository can be a tutorial, a fork, or a project unrelated to the job.&lt;/li&gt;
&lt;li&gt;Recency can be misleading. Someone may have just changed employers, be on leave, or simply be busy with work that cannot be public.&lt;/li&gt;
&lt;li&gt;Public contact details are not blanket consent. An address in a commit history is not an invitation to a sequence.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The &lt;a href="https://github.com/todogroup/guides/blob/master/recruiting-developers.md" rel="noopener noreferrer"&gt;Linux Foundation's open-source recruiting guide&lt;/a&gt; makes the more durable point: organizations become credible in developer communities by participating in them. Sourcing from a project you use can be part of that, but a one-off blast cannot substitute for contribution, context, or respect.&lt;/p&gt;

&lt;h2&gt;
  
  
  The signal-first workflow
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Write a proof-of-work brief before you search
&lt;/h3&gt;

&lt;p&gt;Job descriptions usually begin with a title and a shopping list: “Senior Backend Engineer; Go, Kubernetes, Postgres.” That is too broad to guide a GitHub search. Write a one-page brief that describes the work the person would actually need to do.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Over the next six months, this engineer will reduce p99 latency in a multi-tenant event pipeline, design retry semantics for partial failures, and help a team of four make a Go service operable at higher volume.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Then separate the brief into three columns:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Must show&lt;/th&gt;
&lt;th&gt;Nice to show&lt;/th&gt;
&lt;th&gt;Do not infer&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Experience reasoning about distributed failure modes&lt;/td&gt;
&lt;td&gt;Go or a comparable systems language&lt;/td&gt;
&lt;td&gt;Availability, salary expectations, or seniority from follower count&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Evidence of production-minded maintenance or review&lt;/td&gt;
&lt;td&gt;OpenTelemetry, Kafka, or PostgreSQL exposure&lt;/td&gt;
&lt;td&gt;Communication skill from commit volume alone&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ability to explain trade-offs to other engineers&lt;/td&gt;
&lt;td&gt;Relevant domain knowledge&lt;/td&gt;
&lt;td&gt;Culture fit from a personal profile&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;This changes the search from “people with Go in their bio” to “contributors who have faced a problem adjacent to ours.” It also gives a hiring manager something concrete to validate before outreach starts.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Search for projects before people
&lt;/h3&gt;

&lt;p&gt;The best starting point is often the ecosystem around the work, not GitHub's global user directory. List:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;dependencies your team already relies on;&lt;/li&gt;
&lt;li&gt;tools your team is likely to adopt in the next year;&lt;/li&gt;
&lt;li&gt;repositories that solve a technically similar problem;&lt;/li&gt;
&lt;li&gt;communities where the role's practical constraints are discussed.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you are hiring for observability, look at the exporters, SDKs, integrations, issues, and design discussions your stack depends on. If you need an applied ML platform engineer, look at the evaluation, serving, data-quality, and infrastructure projects around the workflow — not only the largest model repository.&lt;/p&gt;

&lt;p&gt;GitHub search is still useful for generating a short list. Treat queries as hypotheses, not verdicts:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;language:Go topic:observability pushed:&amp;gt;2025-08-01

"retry" language:Go archived:false

org:your-dependency-owner is:pr is:merged author:username
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Search syntax and results change over time, so save the query alongside the role brief. That makes the search reproducible and lets the team learn which project neighborhoods produced real conversations.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Review a small amount of work deeply
&lt;/h3&gt;

&lt;p&gt;Set a limit: ten to fifteen minutes per person for an initial review. The purpose is not to judge every line of code. It is to answer one narrow question: is there enough relevant public evidence to justify a thoughtful invitation?&lt;/p&gt;

&lt;p&gt;Use a compact scorecard, with written notes rather than a black-box rank:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Signal&lt;/th&gt;
&lt;th&gt;What to look for&lt;/th&gt;
&lt;th&gt;Points&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Problem relevance&lt;/td&gt;
&lt;td&gt;Work touches a problem, constraint, or domain close to the brief&lt;/td&gt;
&lt;td&gt;0–3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Recency&lt;/td&gt;
&lt;td&gt;Meaningful activity in a reasonably recent period, without requiring a streak&lt;/td&gt;
&lt;td&gt;0–2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Collaboration&lt;/td&gt;
&lt;td&gt;Constructive review, issue discussion, documentation, or cross-repo work&lt;/td&gt;
&lt;td&gt;0–2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ownership&lt;/td&gt;
&lt;td&gt;Evidence of carrying a change, maintaining a component, or explaining a decision&lt;/td&gt;
&lt;td&gt;0–2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Public preference&lt;/td&gt;
&lt;td&gt;A stated contact route or openness to opportunities&lt;/td&gt;
&lt;td&gt;0–1&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;A score is a forcing function for your own reasoning, not a grade for the developer. Do not use it to auto-reject candidates. A seven-point profile with a relevant design discussion may be more compelling than a ten-point profile whose experience is only superficially related.&lt;/p&gt;

&lt;p&gt;Before anyone reaches out, ask a technical teammate to read the note. If they cannot explain in two sentences why this person's work relates to the role, the research is not done.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Write a research memo, then delete the parts that do not matter
&lt;/h3&gt;

&lt;p&gt;For each shortlisted person, create a private memo with only four fields:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the specific project, pull request, issue, or discussion you looked at;&lt;/li&gt;
&lt;li&gt;what it suggests about the role's problem;&lt;/li&gt;
&lt;li&gt;what remains unknown;&lt;/li&gt;
&lt;li&gt;why this role might be unusually relevant to them.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is where most “personalization” goes wrong. A message that says “I loved your profile” signals automation. A message that recites someone's repositories can feel like surveillance. The useful middle is one honest connection between public work and a real problem.&lt;/p&gt;

&lt;p&gt;Bad: “Your 1,200 GitHub contributions and Rust projects stood out.”&lt;/p&gt;

&lt;p&gt;Better: “Your review on the backpressure change in Project X made me think you may have wrestled with a constraint we have too: tenants can retry faster than our queue can recover.”&lt;/p&gt;

&lt;p&gt;If you cannot write the second version without exaggerating, do not contact the person.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Make the first contact an opt-in, not a pitch dump
&lt;/h3&gt;

&lt;p&gt;The first message should establish who is writing, why the note is relevant, and how easy it is to decline. It should not ask someone to donate twenty minutes to an unknown recruiter.&lt;/p&gt;

&lt;p&gt;A workable structure:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Hi Maya — I am the engineering lead at Acme, not an agency. I read your discussion on Project X's retry behavior because we are solving a related problem in a multi-tenant event system. We are hiring an engineer to own that reliability work; the role is remote in EU time zones and the range is €140–170k plus equity. If you are open to a short written brief, I can send it through your preferred contact route. If not, no need to reply.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Three details earn trust:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Name the sender and the company. Never make a developer work to discover who benefits from the conversation.&lt;/li&gt;
&lt;li&gt;State the problem and meaningful constraints. Team size, location, compensation range, and employment type belong near the start.&lt;/li&gt;
&lt;li&gt;Give a real exit. One respectful invitation is enough. Do not sequence people who have not opted in.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If a developer provides a Reachdev profile and has chosen a contact price, use that route. It makes the consent signal explicit and compensates the attention you are asking for. If they have not chosen such a route, honor the contact preference they actually provide — or leave them alone.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Keep GitHub out of the decision engine
&lt;/h3&gt;

&lt;p&gt;GitHub evidence can help form a better first question in an interview. It should not become a hidden employment screen.&lt;/p&gt;

&lt;p&gt;Do not require public code from candidates. Do not penalize people whose best work is proprietary, whose access needs shape their public participation, or whose contribution patterns changed for reasons you cannot see. And do not import a scraper's opaque “talent score” into your ATS as if it were an assessment.&lt;/p&gt;

&lt;p&gt;A fair process uses the same job-relevant evaluation for every candidate after the initial conversation: a structured technical discussion, consistent criteria, and an opportunity to show work in ways that do not depend on an existing public footprint.&lt;/p&gt;

&lt;h2&gt;
  
  
  A seven-day pilot that produces useful evidence
&lt;/h2&gt;

&lt;p&gt;You do not need a giant outbound program to test this. Run one disciplined pilot for one role.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Day 1:&lt;/strong&gt; Align on the proof-of-work brief with the hiring manager. Define the compensation range and non-negotiables before searching.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Days 2–3:&lt;/strong&gt; Map five relevant projects or communities. Review no more than 20 people, documenting the same scorecard for each.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Day 4:&lt;/strong&gt; Have an engineer challenge the research memos. Remove anyone whose relevance cannot be explained plainly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Days 5–6:&lt;/strong&gt; Send a small number of individual, opt-in invitations through stated contact preferences. Do not automate follow-ups.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Day 7:&lt;/strong&gt; Review qualified conversations, not vanity metrics. Which project neighborhoods produced credible matches? Which messages earned a reply? Where did the role brief fail to explain the work?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Track four numbers: people researched, invitations sent, replies, and qualified conversations. Then add the qualitative notes that explain them. A low reply count may mean the role is poorly framed, the chosen projects are only loosely relevant, the channel is wrong, or simply that the people are not looking. It does not justify sending more generic messages.&lt;/p&gt;

&lt;h2&gt;
  
  
  The advantage is not access. It is credibility.
&lt;/h2&gt;

&lt;p&gt;Anyone can find a developer's public repository. The durable advantage comes from doing the harder things: understanding the work, being precise about the role, and respecting that public contribution is not a promise of availability.&lt;/p&gt;

&lt;p&gt;That approach is slower than collecting thousands of profiles — and faster than spending a quarter repairing a damaged employer brand. Start with a real engineering problem, use GitHub to learn enough to make a relevant invitation, and let the developer choose whether a conversation happens next.&lt;/p&gt;

&lt;p&gt;If your team has a specific technical role to fill, &lt;a href="https://reachdev.io/for-companies?utm_source=devto&amp;amp;utm_medium=post&amp;amp;utm_campaign=developer_acquisition_2026_09_11&amp;amp;utm_content=github_signal_first_contact" rel="noopener noreferrer"&gt;see Reachdev for companies&lt;/a&gt;. It gives developers a clear way to control and price inbound contact, so your first message arrives as an intentional request for attention rather than another assumption that their inbox is free.&lt;/p&gt;

</description>
      <category>recruiting</category>
      <category>hiring</category>
      <category>github</category>
      <category>webdev</category>
    </item>
    <item>
      <title>What to Include in a Developer Portfolio: A Recruiter-Readable Checklist</title>
      <dc:creator>Alejandro</dc:creator>
      <pubDate>Thu, 10 Sep 2026 09:59:08 +0000</pubDate>
      <link>https://dev.to/alx094/what-to-include-in-a-developer-portfolio-a-recruiter-readable-checklist-1nj7</link>
      <guid>https://dev.to/alx094/what-to-include-in-a-developer-portfolio-a-recruiter-readable-checklist-1nj7</guid>
      <description>&lt;p&gt;A developer portfolio is not a gallery of screenshots or a second CV. It is a short path from “this is what I do” to “here is proof” to “here is how you may contact me”. Use this checklist to make that path obvious.&lt;/p&gt;

&lt;h2&gt;
  
  
  A portfolio has one job
&lt;/h2&gt;

&lt;p&gt;A developer portfolio is not a gallery of screenshots, a dump of every repository you have touched, or a prettier copy of your CV. Its job is to help a relevant person understand your professional direction and trust the evidence behind it.&lt;/p&gt;

&lt;p&gt;The useful path is short:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Positioning:&lt;/strong&gt; what kind of developer are you and what work do you want to do?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Proof:&lt;/strong&gt; what have you built, changed, operated, or learned from?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Next step:&lt;/strong&gt; how can the right person contact you, and under what conditions?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Most portfolio advice starts with templates, animations, or a list of sections. Start with the decision a visitor is trying to make instead: &lt;em&gt;Could this developer be relevant to the problem we need solved, and is it worth starting a conversation?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;That framing also removes a common source of anxiety. You do not need a perfect personal website before you can be discoverable. You need a small, honest surface that makes your strongest signal easy to inspect.&lt;/p&gt;

&lt;h2&gt;
  
  
  The seven things to include
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. A specific positioning statement
&lt;/h3&gt;

&lt;p&gt;Put one clear sentence near the top. It should name the kind of work you do, the problems or domain you understand, and—when useful—the kind of opportunity you want.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Backend engineer building reliable data and payment systems for European SaaS teams. Open to senior remote roles in CET-friendly timezones.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That sentence is more useful than “passionate full-stack developer” because it gives a recruiter or hiring manager a search vocabulary and a reason to continue. It also gives you a filter: if a role has nothing to do with the work you want, it is probably not a good fit.&lt;/p&gt;

&lt;p&gt;Avoid turning the headline into a keyword list:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;JavaScript · React · Node · Python · AWS · Docker · Git · Agile · problem solver&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Technologies belong in context. A visitor needs to know what you use them to accomplish.&lt;/p&gt;

&lt;p&gt;If your job title is unusual, translate it into the language people actually search for. “Product-minded systems builder” may describe you well, but “Staff backend engineer specialising in distributed systems” is easier to match to a real need.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. A short “what I am looking for” section
&lt;/h3&gt;

&lt;p&gt;A portfolio becomes more useful when it tells people what happens next. Add a compact section covering the preferences that affect whether a conversation makes sense:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;full-time, contract, freelance, or open to more than one;&lt;/li&gt;
&lt;li&gt;remote, hybrid, or on-site;&lt;/li&gt;
&lt;li&gt;preferred geography or timezone;&lt;/li&gt;
&lt;li&gt;availability or notice period, if you want to share it;&lt;/li&gt;
&lt;li&gt;domains or problem types that interest you;&lt;/li&gt;
&lt;li&gt;work you do not want.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is not a demand for a rigid personal brand. It is practical routing information. “Open to work” alone tells a visitor very little. “Open to backend or platform roles, remote in European timezones, available from October” is actionable.&lt;/p&gt;

&lt;p&gt;Do not invent availability to look more attractive. If you are not looking, say so. A truthful “open to exceptional projects only” is a better signal than a permanently active badge that creates irrelevant contact.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Two or three projects with real context
&lt;/h3&gt;

&lt;p&gt;The centre of the portfolio should be a small set of projects you can explain without rehearsing marketing copy. Professional work is ideal, but a personal project, open-source contribution, research project, or internal tool can also be strong evidence when you describe your role honestly.&lt;/p&gt;

&lt;p&gt;For each project, answer these six questions:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;What problem existed?&lt;/strong&gt; Who needed what, and why did it matter?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What did you own?&lt;/strong&gt; Separate your work from the team’s work.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What constraints shaped the solution?&lt;/strong&gt; Mention scale, latency, budget, legacy code, deadlines, privacy, or a missing dependency when relevant.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What did you decide?&lt;/strong&gt; Explain one or two meaningful technical choices and the alternatives you rejected.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What changed?&lt;/strong&gt; Use a real outcome: latency, reliability, cost, adoption, workflow time, error rate, or a concrete user result.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What would you change now?&lt;/strong&gt; A trade-off or limitation makes the case study more credible, not less.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A weak project entry says:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Task manager built with React and Firebase.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A stronger one says:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Built an offline-first task queue for field technicians working with intermittent connectivity. I owned the sync model and conflict handling, choosing an append-only local log over last-write-wins updates. The first version reduced duplicate submissions in our pilot; the remaining trade-off was higher storage complexity on older devices.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The second description gives someone a reason to ask a technical question. That is what a portfolio is for.&lt;/p&gt;

&lt;p&gt;You do not need to publish confidential code or disclose a client’s private metrics. Replace sensitive numbers with honest ranges, describe the constraint without naming the customer, or show a redacted architecture diagram. Never turn a private employer project into public proof without permission.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. A path to inspect the evidence
&lt;/h3&gt;

&lt;p&gt;Every project should have the lightest useful next step:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a live demo, if it is stable and safe to share;&lt;/li&gt;
&lt;li&gt;a repository, if the code is public and readable;&lt;/li&gt;
&lt;li&gt;a short technical write-up;&lt;/li&gt;
&lt;li&gt;screenshots or a two-minute walkthrough when a demo cannot be public;&lt;/li&gt;
&lt;li&gt;a pull request, issue, package, talk, or design document that shows your contribution.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Do not make a visitor register, download a strange file, or run the project locally just to understand what it does. Put the explanation before the link. A live demo that is broken is worse than no demo; remove it until you can repair it.&lt;/p&gt;

&lt;p&gt;GitHub is excellent for the deeper inspection layer, but it is not automatically a complete portfolio. GitHub describes a personal profile as a place to showcase the work and contributions you choose to share, and its profile README and pinned items can orient visitors quickly. Use it as evidence, then add the context a repository page cannot provide. See the &lt;a href="https://docs.github.com/en/account-and-profile/concepts/personal-profile" rel="noopener noreferrer"&gt;official GitHub profile documentation&lt;/a&gt; and the &lt;a href="https://docs.github.com/en/account-and-profile/how-tos/profile-customization/managing-your-profile-readme" rel="noopener noreferrer"&gt;guide to managing a profile README&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Evidence that you can work with other people
&lt;/h3&gt;

&lt;p&gt;A portfolio made only of solo screenshots leaves an important question unanswered: how do you behave in a real codebase with other constraints and contributors? Add one or two signals of collaboration when you have them:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a pull request that was reviewed and merged;&lt;/li&gt;
&lt;li&gt;an open-source issue you investigated;&lt;/li&gt;
&lt;li&gt;documentation or tests that helped other users;&lt;/li&gt;
&lt;li&gt;a migration or incident you coordinated;&lt;/li&gt;
&lt;li&gt;a design decision that required alignment with product or operations;&lt;/li&gt;
&lt;li&gt;mentoring, technical writing, or a talk where you made a difficult idea clear.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The point is not to collect GitHub activity for its own sake. A thousand commits do not explain your judgement. One well-described contribution can. Explain the situation, your part, and what changed.&lt;/p&gt;

&lt;p&gt;If you are early in your career, do not apologise for not having production scale. Show that you can finish something, read an existing codebase, respond to feedback, test your assumptions, and explain what you learned. Those are real signals.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. A contact route with boundaries
&lt;/h3&gt;

&lt;p&gt;Make it possible for a relevant person to reach you, but do not confuse maximum exposure with maximum opportunity. At minimum, state what kind of contact you accept and where it should go.&lt;/p&gt;

&lt;p&gt;A raw personal email address in a public footer is simple, but it also makes scraping and unfiltered outreach simple. Alternatives include a contact form with spam protection, a professional address you monitor separately, or a profile link with clear preferences and an inbox you can triage.&lt;/p&gt;

&lt;p&gt;Whatever route you choose, tell the sender what a useful first message contains. For example:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Please include the company, role, compensation range, location or timezone, and the technical problem. I am not taking generic agency introductions.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This is not being difficult. It saves both sides a low-value exchange. A controlled contact path also lets you be discoverable while deciding when you are actually available.&lt;/p&gt;

&lt;p&gt;If you want a deeper look at the trade-off between visibility and inbox quality, read &lt;a href="https://reachdev.io/blog/how-to-stop-recruiter-spam" rel="noopener noreferrer"&gt;how to stop recruiter spam as a developer&lt;/a&gt; and &lt;a href="https://reachdev.io/blog/create-developer-profile-link-recruiters-can-use" rel="noopener noreferrer"&gt;how to create a developer profile link recruiters can actually use&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  7. A visible update date
&lt;/h3&gt;

&lt;p&gt;A portfolio is a product that decays. A project link breaks, your availability changes, and the stack you want to be known for moves. Add a small “updated” date or “currently” note, then review the page every few months and after a meaningful project.&lt;/p&gt;

&lt;p&gt;The review does not need to become a content schedule. Check:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Does the first sentence still describe me?&lt;/li&gt;
&lt;li&gt;Are the two strongest projects still the right two?&lt;/li&gt;
&lt;li&gt;Do the links work on a phone?&lt;/li&gt;
&lt;li&gt;Is my availability accurate?&lt;/li&gt;
&lt;li&gt;Does every public contact route still lead somewhere I monitor?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A short, current portfolio beats a comprehensive page that has been abandoned for two years.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to leave out
&lt;/h2&gt;

&lt;p&gt;Removing weak material is part of building the page. Be suspicious of:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;skill bars such as “Python: 87%” with no defined measurement;&lt;/li&gt;
&lt;li&gt;every tutorial clone you completed while learning;&lt;/li&gt;
&lt;li&gt;badges that take more space than the work they represent;&lt;/li&gt;
&lt;li&gt;a wall of logos without project context;&lt;/li&gt;
&lt;li&gt;stock photos of people typing;&lt;/li&gt;
&lt;li&gt;metrics you cannot verify or explain;&lt;/li&gt;
&lt;li&gt;private client details, copied code, or confidential screenshots;&lt;/li&gt;
&lt;li&gt;a “coming soon” section that has stayed empty;&lt;/li&gt;
&lt;li&gt;a contact link that opens a dead account or an unmonitored inbox.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A portfolio is not stronger because it is longer. It is stronger when every element helps a visitor form an accurate view of your work.&lt;/p&gt;

&lt;h2&gt;
  
  
  The two-minute portfolio audit
&lt;/h2&gt;

&lt;p&gt;Open the page on your phone, in a private window, and pretend you found it through a search result. Set a timer for two minutes. Do not click every project. Ask:&lt;/p&gt;

&lt;h3&gt;
  
  
  At 15 seconds
&lt;/h3&gt;

&lt;p&gt;Can I tell what this developer does, where they work, and what they are open to?&lt;/p&gt;

&lt;h3&gt;
  
  
  At 45 seconds
&lt;/h3&gt;

&lt;p&gt;Can I identify one project that is relevant to a real engineering problem?&lt;/p&gt;

&lt;h3&gt;
  
  
  At 90 seconds
&lt;/h3&gt;

&lt;p&gt;Can I see what this person personally owned, and can I reach the evidence without guessing?&lt;/p&gt;

&lt;h3&gt;
  
  
  At two minutes
&lt;/h3&gt;

&lt;p&gt;Do I know whether contacting them would be welcome, useful, and appropriately specific?&lt;/p&gt;

&lt;p&gt;If the answer is no, do not start by changing the colour palette. Rewrite the top sentence, remove one weak project, add the missing context, or fix the next step.&lt;/p&gt;

&lt;h2&gt;
  
  
  A simple structure you can copy
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Name
Backend engineer building reliable systems for [domain or type of team].

Currently
[What I am working on] · [availability] · [timezone or location]

Selected work
1. [Project] — [problem and outcome]
   My role: [what I owned]
   Decisions: [important trade-off]
   Evidence: [demo / repo / write-up]

2. [Project] — [problem and outcome]
   My role: [what I owned]
   Decisions: [important trade-off]
   Evidence: [demo / repo / write-up]

How I work
[One collaboration, open-source, writing, or operating signal]

Contact
[What a useful message should include] · [controlled contact link]

Updated [month year]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can publish that structure on a custom website, a GitHub profile README, or a developer profile platform. The medium matters less than the clarity of the evidence and the honesty of the boundaries.&lt;/p&gt;

&lt;h2&gt;
  
  
  The thesis
&lt;/h2&gt;

&lt;p&gt;A portfolio should not try to convince everyone that you are good at everything. It should help the right person recognise a relevant pattern quickly: this developer understands a problem we have, has evidence of doing similar work, and has made it clear whether a conversation makes sense.&lt;/p&gt;

&lt;p&gt;That is also why a public developer profile and a portfolio serve different purposes. The portfolio explains your work. The profile can add availability, preferences, and a controlled contact rule. Together, they make discovery less dependent on a recruiter guessing your email address or a developer answering every message just to find one worthwhile opportunity.&lt;/p&gt;

&lt;p&gt;For Google’s guidance on people-first content, the useful standard is simple: create something a reader would bookmark because it answers the real question completely, not a page assembled only to capture a search query. Apply the same standard to your own portfolio. Build for the person who needs to decide, not for an imaginary score.&lt;/p&gt;

&lt;p&gt;If your portfolio needs a controlled way for relevant people to reach you, &lt;a href="https://reachdev.io/for-developers?utm_source=devto&amp;amp;utm_medium=post&amp;amp;utm_campaign=developer_acquisition_2026_09_09" rel="noopener noreferrer"&gt;see how Reachdev works for developers&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>career</category>
      <category>webdev</category>
      <category>devjourney</category>
      <category>hiring</category>
    </item>
    <item>
      <title>I'm building a recruiter marketplace where developers get paid to reply. Here's what I'm trying to validate.</title>
      <dc:creator>Alejandro</dc:creator>
      <pubDate>Wed, 02 Sep 2026 09:52:03 +0000</pubDate>
      <link>https://dev.to/alx094/im-building-a-recruiter-marketplace-where-developers-get-paid-to-reply-heres-what-im-trying-to-33f9</link>
      <guid>https://dev.to/alx094/im-building-a-recruiter-marketplace-where-developers-get-paid-to-reply-heres-what-im-trying-to-33f9</guid>
      <description>&lt;p&gt;Most recruiting tools optimize for the sender.&lt;/p&gt;

&lt;p&gt;They make it cheaper to find developers, cheaper to enrich profiles, cheaper to send more messages, and cheaper to automate follow-ups.&lt;/p&gt;

&lt;p&gt;That is useful if you are hiring.&lt;/p&gt;

&lt;p&gt;It is exhausting if you are the developer receiving the messages.&lt;/p&gt;

&lt;p&gt;I am building a small product called Reachdev around the opposite assumption:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A senior developer's attention is scarce, so the sender should pay for access to it.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The current idea is simple:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Developers create a public profile.&lt;/li&gt;
&lt;li&gt;They set a price for inbound messages.&lt;/li&gt;
&lt;li&gt;A recruiter or founder spends credits to contact them.&lt;/li&gt;
&lt;li&gt;If the developer replies within the response window, the developer earns those credits.&lt;/li&gt;
&lt;li&gt;If they do not reply, the credits go back to the sender.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The point is not to make developers rich from reading messages. The point is to change the incentive.&lt;/p&gt;

&lt;p&gt;If sending costs nothing, every inbox eventually becomes spam.&lt;/p&gt;

&lt;p&gt;If sending costs even a small amount, lazy outreach starts to disappear.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I am trying to validate
&lt;/h2&gt;

&lt;p&gt;I do not want to pretend this is already solved.&lt;/p&gt;

&lt;p&gt;The hard part is not building profiles, messaging, credits, or payments. Those are product and engineering problems.&lt;/p&gt;

&lt;p&gt;The hard part is whether the market actually wants this shape.&lt;/p&gt;

&lt;p&gt;There are two questions I care about right now.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Would senior developers publish a profile like this?
&lt;/h2&gt;

&lt;p&gt;Not a CV.&lt;/p&gt;

&lt;p&gt;Not another LinkedIn clone.&lt;/p&gt;

&lt;p&gt;Something closer to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;what kind of work they actually want;&lt;/li&gt;
&lt;li&gt;what stacks they want to be contacted about;&lt;/li&gt;
&lt;li&gt;what kind of companies they do not want to hear from;&lt;/li&gt;
&lt;li&gt;what evidence makes them credible;&lt;/li&gt;
&lt;li&gt;how much friction a sender should face before reaching them.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For a developer, the upside is obvious only if the quality bar is real.&lt;/p&gt;

&lt;p&gt;If the platform becomes another place where low-effort recruiting messages arrive, it fails.&lt;/p&gt;

&lt;p&gt;So the first validation is supply quality: can I get a small number of strong European developers to create profiles that they are not embarrassed to share?&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Would serious recruiters pay before sending?
&lt;/h2&gt;

&lt;p&gt;This is the more uncomfortable question.&lt;/p&gt;

&lt;p&gt;Recruiters are used to paying for tools, databases, LinkedIn seats, enrichment, sourcing software, and applicant tracking systems.&lt;/p&gt;

&lt;p&gt;But paying the candidate directly for a reply changes the mental model.&lt;/p&gt;

&lt;p&gt;Some will hate it.&lt;/p&gt;

&lt;p&gt;That is fine.&lt;/p&gt;

&lt;p&gt;The target is not every recruiter. It is the recruiter, founder, or hiring manager who thinks:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I do not need to message 500 people. I need five senior engineers to actually read something specific.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If that person exists, paying a few euros to open a real conversation is not expensive.&lt;/p&gt;

&lt;p&gt;It is cheaper than wasting hours on cold outreach that gets ignored.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I am not sure about yet
&lt;/h2&gt;

&lt;p&gt;There are several open questions.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Should the developer's price be low enough to encourage volume, or high enough to be a strong filter?&lt;/li&gt;
&lt;li&gt;Should replies earn credits only when they are substantive, or is any reply enough?&lt;/li&gt;
&lt;li&gt;Should companies be able to message developers directly, or should the platform review the pitch first?&lt;/li&gt;
&lt;li&gt;Should this start with one narrow wedge, like senior backend, DevOps, SRE, infrastructure, or ML engineers in Europe?&lt;/li&gt;
&lt;li&gt;Would developers trust the platform more if public profiles were useful even without paid messages?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;My bias right now: start narrow, keep the profiles high quality, and let developers control the price.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I care
&lt;/h2&gt;

&lt;p&gt;I have worked around software long enough to see the same recruiting failure repeat constantly.&lt;/p&gt;

&lt;p&gt;Good engineers are hard to reach.&lt;/p&gt;

&lt;p&gt;Most inbound messages are not malicious. They are just cheap.&lt;/p&gt;

&lt;p&gt;And because they are cheap, they scale until the entire channel becomes useless.&lt;/p&gt;

&lt;p&gt;That hurts both sides.&lt;/p&gt;

&lt;p&gt;Developers stop reading.&lt;/p&gt;

&lt;p&gt;Recruiters send more messages.&lt;/p&gt;

&lt;p&gt;The best companies and the best candidates miss each other inside the noise.&lt;/p&gt;

&lt;p&gt;I want to see if a tiny economic change can fix part of that.&lt;/p&gt;

&lt;h2&gt;
  
  
  The ask
&lt;/h2&gt;

&lt;p&gt;If you are a senior developer, I would genuinely like your opinion:&lt;/p&gt;

&lt;p&gt;Would you create a profile where companies had to pay a small amount to contact you?&lt;/p&gt;

&lt;p&gt;If yes, what would make it worth trusting?&lt;/p&gt;

&lt;p&gt;If no, what part feels wrong?&lt;/p&gt;

&lt;p&gt;And if you work in recruiting: would you ever pay the candidate directly for a guaranteed read and possible reply, assuming unused credits were returned?&lt;/p&gt;

&lt;p&gt;I am testing this with a small group of European developers first.&lt;/p&gt;

&lt;p&gt;The site is here: &lt;a href="https://reachdev.io/?utm_source=devto&amp;amp;utm_medium=post&amp;amp;utm_campaign=founder_validation_2026_09_02" rel="noopener noreferrer"&gt;https://reachdev.io/?utm_source=devto&amp;amp;utm_medium=post&amp;amp;utm_campaign=founder_validation_2026_09_02&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I am much more interested in critical feedback than polite encouragement.&lt;/p&gt;

</description>
      <category>career</category>
      <category>startup</category>
      <category>recruiting</category>
      <category>discuss</category>
    </item>
    <item>
      <title>How to hire senior engineers without LinkedIn</title>
      <dc:creator>Alejandro</dc:creator>
      <pubDate>Fri, 28 Aug 2026 07:37:02 +0000</pubDate>
      <link>https://dev.to/alx094/how-to-hire-senior-engineers-without-linkedin-56o7</link>
      <guid>https://dev.to/alx094/how-to-hire-senior-engineers-without-linkedin-56o7</guid>
      <description>&lt;h2&gt;
  
  
  Why LinkedIn fails for senior developers
&lt;/h2&gt;

&lt;p&gt;Engineers with eight, ten, fifteen years of experience get fifty messages a week through LinkedIn. The vast majority are interchangeable: a framework name, a salary range, "would love to chat." Nobody can sort these by hand, so they sort by ignoring them all.&lt;/p&gt;

&lt;p&gt;It's a selection effect. The developers who reply to InMail are the ones who haven't yet decided LinkedIn is noise. As they get more senior, that threshold gets crossed. The people you most want to hire are exactly the people least reachable through the platform.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;You're not failing to write a better InMail. You're trying to be heard on a channel your audience has muted.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;There's also a status mismatch. A senior engineer reading an InMail is being addressed by an "outreach specialist" they've never heard of, about a company whose product they've never used, for a role they didn't apply to. Every layer of the message signals "this was not written for you." Three seconds of scanning, archive.&lt;/p&gt;

&lt;h2&gt;
  
  
  The four channels that actually work
&lt;/h2&gt;

&lt;p&gt;In rough order of cost-per-hire:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Warm intros from existing engineers&lt;/strong&gt; — your best channel. Twenty-X conversion vs cold. Limited by your team's network.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Conference talks and technical writing&lt;/strong&gt; — a developer who saw your CTO give a talk on consensus protocols already knows two things: that the team is technical, and that the work is interesting. You've pre-qualified them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Open-source contributions&lt;/strong&gt; — if your stack is open, contributors to your repos are pre-selected for fit. They've shipped code that ran in your codebase.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Paid contact (reachdev.io, or a Stripe link in their portfolio)&lt;/strong&gt; — pays the developer to read your message. Lowest friction to start, highest reply rate among cold channels.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The first three are slow. They compound, but they take quarters to produce a single senior hire. The fourth is fast — within a week — and the topic of the rest of this post.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why paid contact converts at 30–50%
&lt;/h2&gt;

&lt;p&gt;The economics are inverted from InMail. On LinkedIn, sending costs you nothing and reading costs the developer their afternoon. So they don't read. On a platform where you pay the developer to read, they read. Whether they reply is a separate question — but at least the message gets attention.&lt;/p&gt;

&lt;p&gt;In the reachdev model:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You buy credits.&lt;/li&gt;
&lt;li&gt;You spend credits to message a specific developer at their listed price (usually €1–€5 per message).&lt;/li&gt;
&lt;li&gt;The developer reads. If they reply within the window, they claim your credits.&lt;/li&gt;
&lt;li&gt;If they don't reply, the credits return to your balance.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You only pay for messages that &lt;em&gt;land&lt;/em&gt;. The downside risk is the same as InMail: zero. The upside — the reply rate — is ten to twenty times higher.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;You're not buying time. You're buying the first 30 seconds of attention you couldn't get for free.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  What a pitch that lands looks like
&lt;/h2&gt;

&lt;p&gt;Five rules, learned the hard way:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Name the role, the team size, and the comp band in the first three lines.&lt;/strong&gt; Hiding any of these signals "we're not serious."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reference one specific thing about the developer&lt;/strong&gt; — a repo, a talk, a comment they left on a PR. Not "loved your profile." Not "your background is impressive."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Founder or hiring manager only.&lt;/strong&gt; A senior engineer will read a message from a CTO and not from a recruiter. This is unfair but true. If your founders are too busy, this isn't the channel for you yet.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lead with the problem, not the perks.&lt;/strong&gt; "We're rewriting our payments service in Rust because Python can't hit our p99 SLO" beats any bullet point about kombucha or unlimited PTO.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;End with a 1-sentence ask.&lt;/strong&gt; "Worth a 25-minute call next week?" — not "let me know your availability and we can set up a chat."&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  A bad pitch and a good one
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Bad&lt;/strong&gt; — what the developer sees forty times a week:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Hi Jane! I came across your profile and was really impressed with your background. We're a fast-growing Series B startup in the fintech space and we're looking for a Senior Backend Engineer to join our amazing team. Comp is competitive, equity is meaningful, and our culture is second to none. Would love to set up a quick chat to learn more about you. Let me know what works!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Good&lt;/strong&gt; — what gets a reply:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Jane — saw your raftdb repo last year and we ended up using it as a reference when we wrote our own Raft layer at Acme. We're building a distributed rate-limiter that needs to survive partial network partitions; current implementation uses Redis and falls over above 50k qps. Looking for a senior backend engineer to own the rewrite in Go. Team is 4 engineers, comp €140–170k + 0.3–0.6% equity, fully remote in EU TZ. Worth a 25-minute call next week to see if it's interesting?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Same length. Tenfold reply rate. The difference is specificity — proof that the sender actually read the developer's work and isn't copy-pasting.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to expect
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Reply rate&lt;/strong&gt; — 30–50% on first contact, vs 3% on InMail.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Time to first reply&lt;/strong&gt; — usually 24–48 hours. Most developers check the platform once a day.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cost per qualified conversation&lt;/strong&gt; — €5–€20, plus the 5–10 minutes you spent writing the pitch. Compare to the €300–€800 per qualified intro a contingency recruiter charges.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Conversion to hire&lt;/strong&gt; — same as any senior pipeline, ~5–10% from first conversation to offer accepted. The platform doesn't fix your interview process, but it gets better candidates into it.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  How to start
&lt;/h2&gt;

&lt;p&gt;If you're hiring two or fewer senior roles per year, this channel pays for itself in your first hire. Buy 200 credits (€20), find five developers in your stack, write five real pitches, see what happens.&lt;/p&gt;

&lt;p&gt;If you're hiring at volume, treat reachdev as one of three or four channels rather than your primary funnel. Combine with conference presence, OSS sponsorship, and a referral program. The senior engineers you want are reachable — just not the way LinkedIn taught everyone to reach them.&lt;/p&gt;

&lt;p&gt;Pay attention to the developers who &lt;em&gt;don't&lt;/em&gt; reply. Some have set very high prices because they're not looking. Some haven't checked the platform that week. That's information. Adjust your shortlist accordingly, and keep going.&lt;/p&gt;




&lt;p&gt;Originally published at &lt;a href="https://reachdev.io/blog/hire-senior-engineers-without-linkedin" rel="noopener noreferrer"&gt;reachdev.io&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>hiring</category>
      <category>career</category>
      <category>recruiting</category>
      <category>startup</category>
    </item>
    <item>
      <title>How to price your developer profile</title>
      <dc:creator>Alejandro</dc:creator>
      <pubDate>Thu, 27 Aug 2026 15:35:18 +0000</pubDate>
      <link>https://dev.to/alx094/how-to-price-your-developer-profile-5e1d</link>
      <guid>https://dev.to/alx094/how-to-price-your-developer-profile-5e1d</guid>
      <description>&lt;h2&gt;
  
  
  You're not pricing your time. You're pricing access.
&lt;/h2&gt;

&lt;p&gt;The first instinct is to derive the number from your hourly rate. Divide your consulting rate by something — sixty, a hundred — call it a minute-of-attention price. Don't do this. The math is intuitive and wrong.&lt;/p&gt;

&lt;p&gt;You're not selling a minute of work. You're selling the right to interrupt you — to put a thoughtful message in front of you that you'll read end-to-end and answer with one sentence. The price isn't payment for that minute; it's a &lt;em&gt;filter&lt;/em&gt; that ensures the minute is worth spending.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Anyone can pay for a minute of your time. The point of the price is to make sure they don't waste it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  The three inputs that matter
&lt;/h2&gt;

&lt;p&gt;Build the number from three multipliers, in this order:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Seniority floor&lt;/strong&gt; — how much your average correspondent earns. A staff engineer's correspondents are well-funded series-B founders; a junior's are hiring agencies with thin margins. Set the floor at "annoying but not blocking" for the senders you actually want.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Stack scarcity&lt;/strong&gt; — Go, Rust, embedded, ML infra, Solidity, niche compliance — anything where supply is small and demand is loud. Multiply the floor by 2–4×.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Inbound volume&lt;/strong&gt; — if your GitHub bio already gets you five DMs a week, you have a tolerance problem and need a high price. If you're invisible online, start low so people &lt;em&gt;can&lt;/em&gt; find you.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  A starting table
&lt;/h2&gt;

&lt;p&gt;Concrete numbers, in reachdev credits (1€ = 10 credits). Adjust up for scarce stacks, down for entry-level:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;0–2 years experience&lt;/strong&gt; — 3 to 5 credits (€0.30–€0.50). You're optimizing for volume; you want to read the messages.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;3–5 years&lt;/strong&gt; — 5 to 10 credits (€0.50–€1.00). Mid-market for full-time roles. Filters out agencies with bad margins.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;6–9 years (senior)&lt;/strong&gt; — 10 to 20 credits (€1–€2). Most senior devs land here. Stops mass-sends, lets serious recruiters and founders through.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;10+ years (staff / principal / specialist)&lt;/strong&gt; — 25 to 50 credits (€2.50–€5). Scarce stack? Push to the top of the range.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are starting points, not absolutes. The right number for &lt;em&gt;you&lt;/em&gt; is the one that produces 2–4 high-quality messages a week. Tune from there.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Start at the number that makes you slightly uncomfortable. Then check it weekly.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  The two failure modes
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Too low.&lt;/strong&gt; You'll see it within a week: the inbox fills with agency boilerplate, the messages get shorter and less specific, you start ignoring the badge again. The cost wasn't real enough to filter. Double it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Too high.&lt;/strong&gt; Subtler — you'll just see silence. Two, three, four weeks with nothing. That doesn't always mean the price is wrong (some weeks are quiet), but if you go a month with zero contacts and your profile traffic is normal, cut the price by a third.&lt;/p&gt;

&lt;p&gt;The point is to be &lt;em&gt;visible&lt;/em&gt; to thoughtful senders and &lt;em&gt;invisible&lt;/em&gt; to lazy ones. Both ends of the bell curve are bad.&lt;/p&gt;

&lt;h2&gt;
  
  
  Adjustments by situation
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Actively looking for a job&lt;/strong&gt; — drop the price 30–50%. You want more shots on goal, even if the average quality is lower.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Happy where you are&lt;/strong&gt; — raise it. You're not optimizing for volume; you're optimizing for &lt;em&gt;only the very best&lt;/em&gt; getting through.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Niche stack with no inbound&lt;/strong&gt; — start &lt;em&gt;low&lt;/em&gt; until the channel finds you. You can always raise.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Geography premium&lt;/strong&gt; — if you're in a SF/NYC/London time zone and the senders are too, you can charge ~30% more than EU-only profiles.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  What to do this week
&lt;/h2&gt;

&lt;p&gt;Pick a number from the table above. Set it. Leave it for ten days. Count the messages you get and how many you reply to. If you're below two weekly contacts, cut it by a third. If you're above six and most aren't worth reading, double it.&lt;/p&gt;

&lt;p&gt;Two adjustments are usually enough to land somewhere stable. The number will drift up over time as your profile gets known — that's normal, and a sign things are working.&lt;/p&gt;

&lt;p&gt;The price isn't a wall. It's a signal. It tells everyone on the other side: &lt;em&gt;I read every message that comes in. Make it count.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>career</category>
      <category>productivity</category>
      <category>recruiting</category>
      <category>developers</category>
    </item>
    <item>
      <title>How to stop recruiter spam as a developer</title>
      <dc:creator>Alejandro</dc:creator>
      <pubDate>Fri, 29 May 2026 11:45:01 +0000</pubDate>
      <link>https://dev.to/alx094/how-to-stop-recruiter-spam-as-a-developer-2cng</link>
      <guid>https://dev.to/alx094/how-to-stop-recruiter-spam-as-a-developer-2cng</guid>
      <description>&lt;h2&gt;
  
  
  The problem isn't filters. It's economics.
&lt;/h2&gt;

&lt;p&gt;Every developer with a public GitHub eventually hits the same wall: the inbox becomes worthless. LinkedIn InMail, Twitter DMs, email scraped from a commit signature, even &lt;code&gt;contact@your-domain&lt;/code&gt; — all of it fills up with copy-pasted pitches for roles that don't fit, salaries that don't match, and stacks you stopped touching three years ago.&lt;/p&gt;

&lt;p&gt;The instinct is to filter harder. Disable LinkedIn messages. Add a keyword blocker. Set your status to "not open to work." It barely moves the needle, because the underlying math hasn't changed: a recruiter can send a hundred messages in a morning at zero marginal cost. If even one replies, the campaign was worth it. The other ninety-nine cost them nothing.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;When sending is free, every inbox is the recipient's problem. The sender has no skin in the game.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This is the same problem email had in 1998, that comments had in 2005, and that Twitter had until Elon broke verification. Every system where access to attention is free eventually degrades into spam. The fix isn't downstream — better blocklists, smarter classifiers, longer unsubscribe flows. The fix is upstream: &lt;strong&gt;make sending cost something&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What "cost something" actually means
&lt;/h2&gt;

&lt;p&gt;The cost doesn't need to be large. It needs to be &lt;em&gt;real&lt;/em&gt;. A friction that filters out the spray-and-pray crowd but doesn't shut out a thoughtful company that genuinely wants to talk to you.&lt;/p&gt;

&lt;p&gt;There are a few shapes this can take:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Time-cost&lt;/strong&gt; — a custom application form, a take-home, a required intro video. Works, but it costs &lt;em&gt;you&lt;/em&gt; time too, every time you read one. And it doesn't stop the worst offenders, who'll auto-fill.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Social-cost&lt;/strong&gt; — only respond to warm intros. Works for some founders, doesn't work if your network is small or you're new to a city. Excludes good people.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Money-cost&lt;/strong&gt; — the recruiter pays, in cash or credits, to send a single message. Crucially, the money goes to &lt;em&gt;you&lt;/em&gt;, not to the platform.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The third one is the only one that scales. It puts the cost on the side that benefits from sending — and pays the person whose attention is being spent.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A recruiter who pays $5 to message you has already filtered themselves.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Why this isn't paywalling your inbox
&lt;/h2&gt;

&lt;p&gt;The objection I hear most: "This sounds like I'm charging people to talk to me. Aren't I supposed to be findable?"&lt;/p&gt;

&lt;p&gt;You still are. The price isn't on &lt;em&gt;reading&lt;/em&gt;, it's on &lt;em&gt;sending&lt;/em&gt;. Anyone can land on your public profile — the page is open, the SEO works, Google indexes it. What costs credits is the act of pushing a message into your inbox. The asymmetry between effortless sending and effortful reading is what got us here in the first place.&lt;/p&gt;

&lt;p&gt;Two more details that matter:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;If you don't reply within the window, the recruiter gets their credits back. You're not pocketing money for ghosting people.&lt;/li&gt;
&lt;li&gt;You can set the price low, high, or temporarily disable it.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What changes the first week
&lt;/h2&gt;

&lt;p&gt;I've watched a dozen developers turn this on. The pattern is consistent:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Volume drops 80–95% within forty-eight hours.&lt;/li&gt;
&lt;li&gt;The remaining messages are read end-to-end — because there are few enough to read.&lt;/li&gt;
&lt;li&gt;Response rate to the messages you &lt;em&gt;do&lt;/em&gt; get goes up, because the senders are doing real research.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You stop dreading the notification badge. The inbox becomes a tool again. Occasionally a great role shows up. You reply, claim the credits, move on with your day.&lt;/p&gt;




&lt;h2&gt;
  
  
  How to start
&lt;/h2&gt;

&lt;p&gt;If you want to do this on reachdev.io specifically: create a profile, pick a price, drop the link in your GitHub bio and your email signature, and stop reading LinkedIn InMail forever. It takes about ten minutes.&lt;/p&gt;

&lt;p&gt;If you want to do this &lt;em&gt;without&lt;/em&gt; reachdev.io: try writing a paragraph at the top of your portfolio that says "I respond to recruiter messages for $20 paid via Stripe link, refunded if I don't reply within a week." It works less smoothly, but the principle is the same — and it'll teach you very quickly what the right number is.&lt;/p&gt;

&lt;p&gt;Either way: the moment you put a price on it, the math flips. And the inbox becomes yours again.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>career</category>
      <category>productivity</category>
      <category>discuss</category>
    </item>
  </channel>
</rss>
