<?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: QNAQ</title>
    <description>The latest articles on DEV Community by QNAQ (@qnaq).</description>
    <link>https://dev.to/qnaq</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%2F4140109%2Fe75083d0-ce2e-44a6-a9ed-be0fce173302.jpg</url>
      <title>DEV Community: QNAQ</title>
      <link>https://dev.to/qnaq</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/qnaq"/>
    <language>en</language>
    <item>
      <title>The Hidden Engineering Problem in Global Hiring: Jobs Don’t Translate Cleanly Across Borders</title>
      <dc:creator>QNAQ</dc:creator>
      <pubDate>Thu, 24 Sep 2026 08:41:18 +0000</pubDate>
      <link>https://dev.to/qnaqglobal/the-hidden-engineering-problem-in-global-hiring-jobs-dont-translate-cleanly-across-borders-peb</link>
      <guid>https://dev.to/qnaqglobal/the-hidden-engineering-problem-in-global-hiring-jobs-dont-translate-cleanly-across-borders-peb</guid>
      <description>&lt;p&gt;A global job platform looks simple from the outside.&lt;/p&gt;

&lt;p&gt;A company publishes a job. A person searches for it. They find each other. Everyone is happy. Somewhere, presumably, a bell rings. 🔔&lt;/p&gt;

&lt;p&gt;Then you try building the thing.&lt;/p&gt;

&lt;p&gt;And discover that the global labour market has spent decades inventing different words, rules and expectations for almost everything.&lt;/p&gt;

&lt;p&gt;A job title in London may mean something slightly different in Berlin. A “remote” job in the US may still require the candidate to live in one particular state. €60,000 in Lisbon and €60,000 in Amsterdam are the same number and very different offers.&lt;/p&gt;

&lt;p&gt;The difficult part of global hiring is not storing more jobs.&lt;/p&gt;

&lt;p&gt;It is making different labour markets understandable to each other.&lt;/p&gt;

&lt;p&gt;And that is a much more interesting engineering problem.&lt;/p&gt;

&lt;h2&gt;
  
  
  Job Titles Are Not IDs
&lt;/h2&gt;

&lt;p&gt;Developers like identifiers. They are clean, predictable and usually mean one thing.&lt;/p&gt;

&lt;p&gt;Job titles are none of those things.&lt;/p&gt;

&lt;p&gt;Take something simple: &lt;em&gt;Account Manager&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Depending on the company, that person may work in sales, customer success, advertising, recruitment, finance or technology.&lt;/p&gt;

&lt;p&gt;Now try: &lt;em&gt;Business Development Manager&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Sometimes that means outbound sales. Sometimes partnerships. Sometimes market expansion.&lt;/p&gt;

&lt;p&gt;And sometimes the job description appears to mean:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;“Please somehow make the company grow.”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Very actionable. 😄&lt;/p&gt;

&lt;p&gt;If a global job search engine treats titles as exact categories, it loses useful relationships. If it treats everything as similar, search becomes useless.&lt;/p&gt;

&lt;p&gt;A better structure looks more like this:&lt;/p&gt;

&lt;p&gt;Role family: Commercial&lt;br&gt;
Specialization: Account Management&lt;br&gt;
Skills: Client relationships, Sales, Negotiation, CRM&lt;/p&gt;

&lt;p&gt;Now we are not simply matching words.&lt;/p&gt;

&lt;p&gt;We are translating meaning.&lt;/p&gt;
&lt;h2&gt;
  
  
  Seniority Is Surprisingly Chaotic
&lt;/h2&gt;

&lt;p&gt;You would think humanity could agree on what “Senior” means.&lt;/p&gt;

&lt;p&gt;We cannot.&lt;/p&gt;

&lt;p&gt;One company hires a Senior Engineer with four years of experience. Another wants eight. A third has Junior, Mid, Senior, Staff, Senior Staff, Principal and Distinguished.&lt;/p&gt;

&lt;p&gt;At some point the career ladder starts looking like airline loyalty status.&lt;/p&gt;

&lt;p&gt;A global recruitment system cannot safely assume that Senior = Senior everywhere.&lt;/p&gt;

&lt;p&gt;Seniority may depend on years of experience, technical complexity, team size, management responsibility, decision-making authority and scope of work.&lt;/p&gt;

&lt;p&gt;The label helps.&lt;/p&gt;

&lt;p&gt;The context helps much more.&lt;/p&gt;
&lt;h2&gt;
  
  
  Salary Search Gets Weird Fast
&lt;/h2&gt;

&lt;p&gt;Now add money.&lt;/p&gt;

&lt;p&gt;A candidate wants jobs paying at least €60,000.&lt;/p&gt;

&lt;p&gt;Easy.&lt;/p&gt;

&lt;p&gt;Until the database contains:&lt;/p&gt;

&lt;p&gt;€60,000 / year&lt;br&gt;
$75,000 / year&lt;br&gt;
£55,000 / year&lt;br&gt;
€4,500 / month&lt;br&gt;
CHF 85,000 / year&lt;br&gt;
₹2,400,000 / year&lt;/p&gt;

&lt;p&gt;Currency conversion solves part of the problem.&lt;/p&gt;

&lt;p&gt;Only part.&lt;/p&gt;

&lt;p&gt;Does the salary include bonuses? Is it gross or net? Twelve payments or fourteen? Stock options? Commission? Healthcare? Company car? Remote allowance?&lt;/p&gt;

&lt;p&gt;Suddenly the salary field is no longer a number.&lt;/p&gt;

&lt;p&gt;It is a small financial ecosystem.&lt;/p&gt;

&lt;p&gt;For international job search, salary data needs structure before it can be compared properly.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "currency": "EUR",
  "period": "year",
  "minimum": 60000,
  "maximum": 75000,
  "variable_compensation": true
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The system needs structure.&lt;/p&gt;

&lt;p&gt;The human still needs the details.&lt;/p&gt;

&lt;p&gt;Because people remain strangely interested in being paid correctly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;“Remote” Might Be the Least Precise Word in Hiring&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Remote sounds binary.&lt;/p&gt;

&lt;p&gt;Remote: yes or no.&lt;/p&gt;

&lt;p&gt;Reality is more creative.&lt;/p&gt;

&lt;p&gt;Remote worldwide&lt;br&gt;
Remote within the EU&lt;br&gt;
Remote in Germany only&lt;br&gt;
Remote within two hours of CET&lt;br&gt;
Remote, but visit the office once a month&lt;br&gt;
Remote, but only from approved countries&lt;br&gt;
Remote three days per week&lt;/p&gt;

&lt;p&gt;One word. Seven completely different situations.&lt;/p&gt;

&lt;p&gt;So this: &lt;em&gt;remote = true&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;is often not particularly useful.&lt;/p&gt;

&lt;p&gt;A better model needs to understand work mode, allowed regions, time zones and office requirements.&lt;/p&gt;

&lt;p&gt;That is less elegant.&lt;/p&gt;

&lt;p&gt;It is also much closer to reality.&lt;/p&gt;

&lt;p&gt;A sentence that describes a lot of software engineering, actually.&lt;/p&gt;

&lt;h2&gt;
  
  
  Languages Have the Same Problem
&lt;/h2&gt;

&lt;p&gt;Language requirements look simple until employers start describing them.&lt;/p&gt;

&lt;p&gt;“Fluent English.”&lt;/p&gt;

&lt;p&gt;“Business English.”&lt;/p&gt;

&lt;p&gt;“Advanced English.”&lt;/p&gt;

&lt;p&gt;“Professional working proficiency.”&lt;/p&gt;

&lt;p&gt;“Strong communication skills.”&lt;/p&gt;

&lt;p&gt;“Comfortable working in English.”&lt;/p&gt;

&lt;p&gt;A human can usually understand that these phrases overlap.&lt;/p&gt;

&lt;p&gt;A search engine sees different strings.&lt;/p&gt;

&lt;p&gt;That means &lt;strong&gt;multilingual job search&lt;/strong&gt; needs normalization too.&lt;/p&gt;

&lt;p&gt;A candidate searching for roles that require B2 English should not miss a relevant job simply because the employer wrote “professional English required.”&lt;/p&gt;

&lt;p&gt;The machine needs to understand the relationship.&lt;/p&gt;

&lt;p&gt;The user should not have to think about it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Geography Is More Than Latitude and Longitude
&lt;/h2&gt;

&lt;p&gt;Knowing that Berlin is in Germany is easy.&lt;/p&gt;

&lt;p&gt;Knowing whether a particular person can realistically take a job there is harder.&lt;/p&gt;

&lt;p&gt;A global hiring platform may need to understand several different questions:&lt;/p&gt;

&lt;p&gt;Where is the job?&lt;br&gt;
Where can the employee work from?&lt;br&gt;
Where is the candidate now?&lt;br&gt;
Where are they willing to relocate?&lt;br&gt;
Where can the employer legally hire?&lt;/p&gt;

&lt;p&gt;Five completely different questions.&lt;/p&gt;

&lt;p&gt;All traditionally hiding inside one innocent field called: location&lt;/p&gt;

&lt;p&gt;Poor location.&lt;/p&gt;

&lt;p&gt;It never asked for this much responsibility.&lt;/p&gt;

&lt;h2&gt;
  
  
  Search Needs Translation Before It Needs Intelligence
&lt;/h2&gt;

&lt;p&gt;This is usually the point where someone says:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;“AI can solve it.”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Sometimes it can.&lt;/p&gt;

&lt;p&gt;But before intelligence comes representation.&lt;/p&gt;

&lt;p&gt;If the underlying system does not distinguish salary period, work mode, role family, seniority, language requirements and geographic eligibility, then the AI layer has to reinterpret the same chaos again and again.&lt;/p&gt;

&lt;p&gt;A cleaner architecture looks something like this:&lt;/p&gt;

&lt;p&gt;Raw job data&lt;br&gt;
↓&lt;br&gt;
Normalization&lt;br&gt;
↓&lt;br&gt;
Structured attributes&lt;br&gt;
↓&lt;br&gt;
Search and matching&lt;br&gt;
↓&lt;br&gt;
AI enrichment&lt;/p&gt;

&lt;p&gt;AI becomes much more useful after the system has already done some basic thinking.&lt;/p&gt;

&lt;p&gt;Very inconsiderate of reality not to fit neatly into a vector database.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Global Job Market Needs an Internal Language
&lt;/h2&gt;

&lt;p&gt;This may be the most interesting part.&lt;/p&gt;

&lt;p&gt;A global hiring platform eventually needs its own internal vocabulary.&lt;/p&gt;

&lt;p&gt;Not something users see.&lt;/p&gt;

&lt;p&gt;Something the system understands.&lt;/p&gt;

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

&lt;p&gt;Software Developer&lt;br&gt;
Software Engineer&lt;br&gt;
Développeur logiciel&lt;br&gt;
Softwareentwickler&lt;/p&gt;

&lt;p&gt;Different languages. Different conventions. Potentially related roles.&lt;/p&gt;

&lt;p&gt;The user should be able to search naturally.&lt;/p&gt;

&lt;p&gt;The platform should understand the underlying concept and return relevant results.&lt;/p&gt;

&lt;p&gt;That is less like building a traditional job board.&lt;/p&gt;

&lt;p&gt;It is closer to building a translation layer between labour markets.&lt;/p&gt;

&lt;p&gt;And once you see the problem that way, a lot of product decisions change.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fl971mimpgo2s8ru8abpy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fl971mimpgo2s8ru8abpy.png" alt=" " width="799" height="399"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  More Listings Do Not Solve the Problem
&lt;/h2&gt;

&lt;p&gt;A platform can add another million jobs tomorrow.&lt;/p&gt;

&lt;p&gt;That sounds fantastic in a press release.&lt;/p&gt;

&lt;p&gt;But if those jobs are poorly structured, inconsistent and difficult to compare, more volume simply creates more noise.&lt;/p&gt;

&lt;p&gt;The same applies to candidate profiles.&lt;/p&gt;

&lt;p&gt;The useful question is not:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How much data do we have?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It is:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How much of that data can the system actually understand?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That is where search quality comes from.&lt;/p&gt;

&lt;p&gt;That is where &lt;strong&gt;job matching&lt;/strong&gt; improves.&lt;/p&gt;

&lt;p&gt;And that is where AI becomes genuinely useful.&lt;/p&gt;

&lt;h2&gt;
  
  
  This Is One of the Problems Behind QNAQ
&lt;/h2&gt;

&lt;p&gt;At &lt;strong&gt;QNAQ&lt;/strong&gt;, we think about global hiring as a translation problem as much as a search problem.&lt;/p&gt;

&lt;p&gt;Different markets describe jobs differently. Candidates describe experience differently. Salary, location, language, skills and mobility all need context.&lt;/p&gt;

&lt;p&gt;The goal is not to force the entire world into one rigid format.&lt;/p&gt;

&lt;p&gt;That would be wonderfully organized and completely unrealistic.&lt;/p&gt;

&lt;p&gt;The goal is to create enough structure that people and opportunities from different markets can still discover each other.&lt;/p&gt;

&lt;p&gt;That is a much more practical definition of &lt;strong&gt;global job search&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;And probably a more useful one.&lt;/p&gt;

&lt;p&gt;qnaq.com&lt;/p&gt;

&lt;h2&gt;
  
  
  The Interface Can Be Simple Because the Backend Isn’t
&lt;/h2&gt;

&lt;p&gt;The nicest products usually hide enormous complexity.&lt;/p&gt;

&lt;p&gt;A user sees: &lt;em&gt;Search jobs&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Behind that button may be multilingual search, taxonomy mapping, salary normalization, location rules, remote eligibility, ranking, skills matching, candidate data and AI enrichment.&lt;/p&gt;

&lt;p&gt;And that is exactly how it should be.&lt;/p&gt;

&lt;p&gt;Users should not need to understand the data model.&lt;/p&gt;

&lt;p&gt;They just want a relevant opportunity.&lt;/p&gt;

&lt;p&gt;Good software takes complexity away from the user.&lt;/p&gt;

&lt;p&gt;It does not pretend the complexity never existed.&lt;/p&gt;

&lt;p&gt;Global hiring already has enough edge cases.&lt;/p&gt;

&lt;p&gt;We really do not need to invent more. 😄&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>career</category>
      <category>machinelearning</category>
    </item>
  </channel>
</rss>
