{"id":1465,"date":"2026-11-08T04:07:57","date_gmt":"2026-11-08T04:07:57","guid":{"rendered":"https:\/\/getaiwork.com\/articles\/?p=1465"},"modified":"2026-11-08T04:12:07","modified_gmt":"2026-11-08T04:12:07","slug":"ai-writer-jobs","status":"publish","type":"post","link":"https:\/\/getaiwork.com\/articles\/ai-writer-jobs\/","title":{"rendered":"AI Writer Jobs: Staff Roles, Training Tasks and the Tests"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>AI writer jobs split into two kinds: staff writing roles at AI companies, and training tasks where writers grade and rewrite a model&#8217;s output. On 8 November 2026, the AI vendor boards we read carried 10 staff writing roles and 2 training postings, while 10 of the getAIwork board&#8217;s 19 writing titled listings were training tasks.<\/strong><\/p>\n\n\n\n<div class=\"msq-audio\" data-article=\"ai-writer-jobs\" data-minutes=\"14\">\n<style>.msq-audio{margin:1.25em 0 1.75em;padding:16px 18px;background:#F1F4FA;border:1px solid #DDE3EE;border-radius:12px}\n.msq-audio-lead{margin:0 0 8px;font-size:.95em}.msq-audio audio{width:100%;margin:0 0 12px;display:block}\n.msq-toc-title{margin:0 0 6px;font-weight:700}.msq-toc ol{margin:0;padding:0;list-style:none}\n.msq-toc li{display:flex;gap:10px;align-items:center;padding:6px 6px;border-bottom:1px solid #DDE3EE;border-radius:8px}\n.msq-toc li:last-child{border-bottom:0}.msq-toc li.is-active{background:#fff}\n.msq-toc-play{flex:0 0 auto;width:30px;height:30px;border-radius:50%;border:0;background:#1E3A8A;color:#fff;font:inherit;font-size:.72em;line-height:30px;padding:0;cursor:pointer}\n.msq-toc-play.is-playing{background:#B45309}\n.msq-toc-time{flex:0 0 auto;min-width:3.1em;font-variant-numeric:tabular-nums;color:#55555F;font-size:.9em}\n.msq-toc a{color:#1B1F24;text-decoration:none;line-height:1.35}.msq-toc li.is-active a{font-weight:700;color:#1E3A8A}\n.msq-audio-note{margin:10px 0 0;font-size:.82em;color:#55555F}\nh2.wp-block-heading[id]{scroll-margin-top:24px}\n.msq-hplay{display:inline-block;vertical-align:middle;width:26px;height:26px;margin:0 0 0 10px;border-radius:50%;border:0;background:#1E3A8A;cursor:pointer;padding:0;position:relative;top:-2px}\n.msq-hplay::before{content:'\u25b6\ufe0e';display:block;color:#fff;font-size:11px;line-height:26px;text-align:center}\n.msq-hplay.is-playing{background:#B45309}.msq-hplay.is-playing::before{content:'\u2016';font-size:13px;font-weight:700}\n.msq-bar{position:fixed;left:0;right:0;bottom:0;z-index:9000;display:flex;align-items:center;gap:10px;padding:8px 12px;padding-bottom:calc(8px + env(safe-area-inset-bottom));background:#FFFFFF;border-top:1px solid #DDE3EE;box-shadow:0 -4px 16px rgba(0,0,0,.08);font-size:.92em;color:#1B1F24;transition:transform .2s ease}\n.msq-bar.is-hidden{transform:translateY(130%)}\n.msq-bar-play{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;background:#1E3A8A;color:#fff;font:inherit;font-weight:700;padding:8px 14px 8px 12px;cursor:pointer;white-space:nowrap}\n.msq-bar-play.is-playing{background:#B45309}\n.msq-bar-icon::before{content:'\u25b6\ufe0e';font-size:12px}.msq-bar-play.is-playing .msq-bar-icon::before{content:'\u2016';font-size:14px;font-weight:700}\n.msq-bar-chapter{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.msq-bar-time{flex:0 0 auto;font-variant-numeric:tabular-nums;color:#55555F;font-size:.9em}\n.msq-bar-rate,.msq-bar-close{flex:0 0 auto;border:1px solid #DDE3EE;background:#fff;color:#1B1F24;font:inherit;font-size:.85em;line-height:1;border-radius:8px;padding:7px 9px;cursor:pointer}\n.msq-bar-close::before{content:'\u2715'}\n.msq-bar.msq-bar-pill{left:auto;right:14px;bottom:14px;padding:6px;padding-bottom:6px;border:1px solid #DDE3EE;border-radius:999px;box-shadow:0 6px 20px rgba(0,0,0,.15)}\n.msq-bar.msq-bar-pill .msq-bar-chapter,.msq-bar.msq-bar-pill .msq-bar-time,.msq-bar.msq-bar-pill .msq-bar-rate{display:none}\nbody.msq-has-bar{padding-bottom:76px}\n@media (max-width:600px){.msq-bar-time{display:none}.msq-bar{gap:8px;padding-left:10px;padding-right:10px}}\n.msq-s.msq-now{background:#F1F4FA;box-shadow:0 2px 0 #1E3A8A;border-radius:2px}\ntr.msq-now td,tr.msq-now th{background:#F1F4FA;box-shadow:inset 0 -2px 0 #1E3A8A}\n@media (hover:hover){.msq-s,tr[data-i]{cursor:pointer}.msq-s:hover{background:#F1F4FA}}<\/style>\n<script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"AudioObject\",\"@id\":\"https:\/\/getaiwork.com\/articles\/ai-writer-jobs\/#audio\",\"name\":\"AI Writer Jobs: Staff Roles, Training Tasks and the Tests, read aloud\",\"description\":\"Synthetic voice reading of the article, recorded 8 November 2026.\",\"contentUrl\":\"https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/11\/ai-writer-jobs-audio-202611080942.mp3\",\"encodingFormat\":\"audio\/mpeg\",\"duration\":\"PT13M58S\",\"uploadDate\":\"2026-11-08\",\"inLanguage\":\"en-US\",\"isAccessibleForFree\":true,\"mainEntityOfPage\":\"https:\/\/getaiwork.com\/articles\/ai-writer-jobs\/\",\"hasPart\":[{\"@type\":\"Clip\",\"name\":\"AI Writer Jobs: Staff Roles, Training Tasks and the Tests\",\"startOffset\":0,\"endOffset\":47},{\"@type\":\"Clip\",\"name\":\"What counts as an AI writer job in real postings?\",\"startOffset\":47,\"endOffset\":99,\"url\":\"https:\/\/getaiwork.com\/articles\/ai-writer-jobs\/#what-counts-as-an-ai-writer-job-in-real-postings\"},{\"@type\":\"Clip\",\"name\":\"Which AI companies are hiring writers on their own job boards?\",\"startOffset\":99,\"endOffset\":365,\"url\":\"https:\/\/getaiwork.com\/articles\/ai-writer-jobs\/#which-ai-companies-are-hiring-writers-on-their-own-job-board\"},{\"@type\":\"Clip\",\"name\":\"How many AI writer jobs are on the getAIwork board?\",\"startOffset\":365,\"endOffset\":530,\"url\":\"https:\/\/getaiwork.com\/articles\/ai-writer-jobs\/#how-many-ai-writer-jobs-are-on-the-getaiwork-board\"},{\"@type\":\"Clip\",\"name\":\"What writing tests do these jobs ask for?\",\"startOffset\":530,\"endOffset\":627,\"url\":\"https:\/\/getaiwork.com\/articles\/ai-writer-jobs\/#what-writing-tests-do-these-jobs-ask-for\"},{\"@type\":\"Clip\",\"name\":\"What do writers who tried AI training work report?\",\"startOffset\":627,\"endOffset\":739,\"url\":\"https:\/\/getaiwork.com\/articles\/ai-writer-jobs\/#what-do-writers-who-tried-ai-training-work-report\"},{\"@type\":\"Clip\",\"name\":\"Which kind of AI writer job fits your schedule?\",\"startOffset\":739,\"endOffset\":838,\"url\":\"https:\/\/getaiwork.com\/articles\/ai-writer-jobs\/#which-kind-of-ai-writer-job-fits-your-schedule\"}],\"contentSize\":\"5.9 MB\"}<\/script>\n<p class=\"msq-audio-lead\"><strong>Listen to this article<\/strong>, about 14 minutes. A synthetic voice reads the article and announces each section title as it begins; tables are read row by row and the questions at the end are left out.<\/p>\n<audio class=\"msq-audio-player\" controls preload=\"metadata\" src=\"https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/11\/ai-writer-jobs-audio-202611080942.mp3\"><\/audio>\n<nav class=\"msq-toc\" aria-label=\"In this article\"><p class=\"msq-toc-title\">In this article<\/p>\n<ol>\n<li data-start=\"0.0\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"0.0\" aria-label=\"Play from: AI Writer Jobs: Staff Roles, Training Tasks and the Tests\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">0:00<\/span><a href=\"#top\">AI Writer Jobs: Staff Roles, Training Tasks and the Tests<\/a><\/li>\n<li data-start=\"47.14\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"47.14\" aria-label=\"Play from: What counts as an AI writer job in real postings?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">0:47<\/span><a href=\"#what-counts-as-an-ai-writer-job-in-real-postings\">What counts as an AI writer job in real postings?<\/a><\/li>\n<li data-start=\"98.52\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"98.52\" aria-label=\"Play from: Which AI companies are hiring writers on their own job boards?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">1:39<\/span><a href=\"#which-ai-companies-are-hiring-writers-on-their-own-job-board\">Which AI companies are hiring writers on their own job boards?<\/a><\/li>\n<li data-start=\"364.74\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"364.74\" aria-label=\"Play from: How many AI writer jobs are on the getAIwork board?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">6:05<\/span><a href=\"#how-many-ai-writer-jobs-are-on-the-getaiwork-board\">How many AI writer jobs are on the getAIwork board?<\/a><\/li>\n<li data-start=\"530.4\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"530.4\" aria-label=\"Play from: What writing tests do these jobs ask for?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">8:50<\/span><a href=\"#what-writing-tests-do-these-jobs-ask-for\">What writing tests do these jobs ask for?<\/a><\/li>\n<li data-start=\"627.3\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"627.3\" aria-label=\"Play from: What do writers who tried AI training work report?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">10:27<\/span><a href=\"#what-do-writers-who-tried-ai-training-work-report\">What do writers who tried AI training work report?<\/a><\/li>\n<li data-start=\"738.96\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"738.96\" aria-label=\"Play from: Which kind of AI writer job fits your schedule?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">12:19<\/span><a href=\"#which-kind-of-ai-writer-job-fits-your-schedule\">Which kind of AI writer job fits your schedule?<\/a><\/li>\n<\/ol><\/nav>\n<p class=\"msq-audio-note\">Recorded 8 November 2026 from the article as published that day. Press a chapter to jump there; the highlighted line is what is playing. A play button sits beside every section heading, and once you scroll past this player a bar at the bottom of the screen keeps the controls in reach. Tap or click any sentence to hear the reading start from there.<\/p>\n<script>var MSQ_SENT = [[0.0,\"h\",\"aiwriterjobsstaffrolestr\",46],[4.68,\"p\",\"aiwriterjobssplitintotwo\",115],[13.88,\"p\",\"on8november2026theaivend\",151],[27.32,\"p\",\"onthispagewritingposting\",196],[47.14,\"h\",\"whatcountsasanaiwriterjo\",39],[50.42,\"p\",\"twoquitedifferentjobsans\",42],[53.38,\"p\",\"thefirstisanordinarywrit\",141],[65.54,\"p\",\"thesecondisaitrainingwor\",66],[70.02,\"p\",\"theywritescoreandrepairt\",65],[75.1,\"p\",\"thepagesthatrankforthisq\",129],[84.42,\"p\",\"sobeloweachkindiscounted\",102],[91.9,\"p\",\"aprintedrangeisnotanoffe\",72],[98.52,\"h\",\"whichaicompaniesarehirin\",51],[102.36,\"p\",\"wereadthepublicjobboards\",110],[112.68,\"p\",\"mostwerehiringengineersa\",36],[115.36,\"p\",\"tenpostingswerewritingro\",98],[121.44,\"t\",\"anthropicexecutivecommun\",181],[143.72,\"t\",\"anthropictechnicaleditor\",160],[166.2,\"t\",\"openaicontentdesigner\",144],[186.92,\"t\",\"openaisafetytransparency\",159],[206.92,\"t\",\"perplexitywriter\",139],[224.4,\"t\",\"perplexitysenioreditor\",149],[242.2,\"t\",\"perplexitycontentdesigne\",146],[260.92,\"t\",\"harveyleadcopywriter\",147],[279.88,\"t\",\"harveystaffcontentdesign\",156],[300.2,\"t\",\"lovabletechnicalwriter\",150],[317.48,\"p\",\"twothingsstandout\",17],[318.44,\"p\",\"theseareseniorjobsthelow\",92],[325.2,\"p\",\"andthecompanycalledwrite\",122],[335.16,\"p\",\"makeofthatwhatyouwillwem\",36],[337.52,\"p\",\"forcomparisonthebureauof\",195],[358.24,\"p\",\"thatisthewholetradenotai\",67],[364.74,\"h\",\"howmanyaiwriterjobsareon\",41],[369.38,\"p\",\"wecrawledeverypageoftheg\",52],[374.58,\"p\",\"itheld1961livelistingsth\",74],[384.94,\"p\",\"theboardsscreeningtags55\",161],[396.98,\"p\",\"only19listingshadawritin\",83],[403.38,\"t\",\"aitrainingorevaluationta\",188],[425.94,\"t\",\"roleatanemployerstafforc\",180],[444.94,\"t\",\"freelancewritingforclien\",152],[462.94,\"p\",\"twoofthetraininglistings\",79],[469.82,\"p\",\"synthireslistedanacademi\",151],[484.98,\"p\",\"mercorsthreeengineeringw\",120],[493.1,\"p\",\"inthismarketwriteroftenm\",43],[497.54,\"p\",\"onelimitonourowndatatheb\",170],[511.86,\"p\",\"forreadersinindiathehone\",121],[521.02,\"p\",\"ifyouarenotsurewhichkind\",125],[530.4,\"h\",\"whatwritingtestsdothesej\",33],[533.64,\"p\",\"staffrolestestthewaypubl\",67],[540.04,\"p\",\"harveystworolesbothaskfo\",54],[544.68,\"p\",\"perplexityssenioreditorw\",56],[548.4,\"p\",\"lovableasksapplicantstos\",119],[555.88,\"p\",\"nopostingwereadaskedfora\",107],[562.04,\"p\",\"trainingpostingstesthard\",234],[585.84,\"p\",\"itasksforc2englishandver\",209],[603.36,\"p\",\"coheresgermanwriterandtr\",230],[618.76,\"p\",\"thepatternholdsacrossbot\",30],[621.12,\"p\",\"staffjobsjudgewhatyouhav\",39],[623.68,\"p\",\"trainingjobsmakeyouwrite\",37],[627.3,\"h\",\"whatdowriterswhotriedait\",41],[630.78,\"p\",\"wereadfourpublicthreadsd\",80],[637.78,\"p\",\"thesearereportsfromforum\",80],[645.26,\"p\",\"inamarch2026rxaicommunit\",223],[662.82,\"p\",\"thepostersaidasecondasse\",79],[666.94,\"p\",\"inanoctober2026threadont\",157],[678.78,\"p\",\"repliessaidusinternalhir\",95],[686.14,\"p\",\"checkthecontractnotthere\",39],[688.82,\"p\",\"inanapril2026rdataannota\",177],[703.06,\"p\",\"onereplycamefromawriterw\",122],[711.06,\"p\",\"andinanoctober2026rcopyw\",71],[717.98,\"p\",\"somedescribedbeinglaidof\",134],[728.78,\"p\",\"readtogethertheaccountsa\",148],[738.96,\"h\",\"whichkindofaiwriterjobfi\",38],[741.88,\"p\",\"itdependsonhowmanyhoursy\",63],[745.72,\"p\",\"thiscomparisonusesonlyth\",38],[748.2,\"t\",\"fiveormoreyearsofprofess\",172],[764.16,\"t\",\"adeepspecialtysuchaslawe\",169],[779.72,\"t\",\"strongenglishorasecondla\",154],[794.68,\"t\",\"publishedbooksorabigwrit\",159],[807.92,\"p\",\"forthetrainingsideinmore\",234],[827.84,\"p\",\"ifyouareweighingastaffwr\",131]];\n(function(){\n  function init(){\n  var root = document.querySelector('.msq-audio'); if (!root) { return; }\n  var audio = root.querySelector('audio'), items = Array.prototype.slice.call(root.querySelectorAll('.msq-toc li'));\n  var starts = items.map(function(li){ return parseFloat(li.getAttribute('data-start')) || 0; });\n  var names = items.map(function(li){ return li.querySelector('a').textContent; });\n  var anchors = items.map(function(li){ var h = li.querySelector('a').getAttribute('href') || ''; return (h.charAt(0) === '#' && h !== '#top') ? document.getElementById(h.slice(1)) : null; });\n  var article = root.getAttribute('data-article') || location.pathname, minutes = root.getAttribute('data-minutes') || '';\n  var marks = {}, started = false, pausedAt = -1, closed = false, ended = false;\n  var RATES = [1, 1.25, 1.5], rate = 1;\n  try { var saved = parseFloat(localStorage.getItem('msq-audio-rate')); if (RATES.indexOf(saved) >= 0) { rate = saved; } } catch (e) {}\n  audio.playbackRate = rate;\n  function track(name, extra){ try { if (typeof gtag === 'function') { var p = { article: article }; for (var k in extra) { p[k] = extra[k]; } gtag('event', name, p); } } catch (e) {} }\n  function current(){ var t = audio.currentTime, idx = 0; for (var i = 0; starts.length > i; i += 1) { if (t + 0.25 >= starts[i]) { idx = i; } } return idx; }\n  function onScreen(){\n    var line = window.innerHeight \/ 3, idx = 0;\n    for (var i = 0; anchors.length > i; i += 1) { var el = anchors[i]; if (el && line >= el.getBoundingClientRect().top) { idx = i; } }\n    return idx;\n  }\n  function fmt(s){ s = Math.max(0, Math.round(s || 0)); var m = Math.floor(s \/ 60), r = s % 60; return m + ':' + (10 > r ? '0' : '') + r; }\n  function play(from, source){\n    if (from !== null) { audio.currentTime = from; }\n    var p = audio.play(); if (p && p.catch) { p.catch(function(){}); }\n    track(from === null ? 'audio_resume' : 'audio_chapter', { chapter: names[current()], start: Math.round(audio.currentTime), source: source });\n  }\n  var hbtns = anchors.map(function(el, i){\n    if (!el) { return null; }\n    var b = document.createElement('button'); b.type = 'button'; b.className = 'msq-hplay'; b.setAttribute('aria-label', 'Play this section: ' + names[i]);\n    b.addEventListener('click', function(){\n      if (!audio.paused && current() === i) { audio.pause(); track('audio_pause', { source: 'heading' }); return; }\n      play(starts[i], 'heading');\n    });\n    el.appendChild(b); return b;\n  });\n  var bar = document.createElement('div'); bar.className = 'msq-bar msq-bar-pill is-hidden'; bar.setAttribute('role', 'region'); bar.setAttribute('aria-label', 'Audio player');\n  var playBtn = document.createElement('button'); playBtn.type = 'button'; playBtn.className = 'msq-bar-play';\n  var icon = document.createElement('span'); icon.className = 'msq-bar-icon'; icon.setAttribute('aria-hidden', 'true');\n  var label = document.createElement('span'); label.className = 'msq-bar-label';\n  playBtn.appendChild(icon); playBtn.appendChild(label);\n  var chap = document.createElement('span'); chap.className = 'msq-bar-chapter';\n  var clock = document.createElement('span'); clock.className = 'msq-bar-time';\n  var rateBtn = document.createElement('button'); rateBtn.type = 'button'; rateBtn.className = 'msq-bar-rate'; rateBtn.setAttribute('aria-label', 'Playback speed');\n  var closeBtn = document.createElement('button'); closeBtn.type = 'button'; closeBtn.className = 'msq-bar-close'; closeBtn.setAttribute('aria-label', 'Close the audio bar');\n  bar.appendChild(playBtn); bar.appendChild(chap); bar.appendChild(clock); bar.appendChild(rateBtn); bar.appendChild(closeBtn);\n  document.body.appendChild(bar);\n  function showRate(){ rateBtn.textContent = (rate === 1 ? '1' : String(rate)) + 'x'; }\n  showRate();\n  rateBtn.addEventListener('click', function(){\n    rate = RATES[(RATES.indexOf(rate) + 1) % RATES.length]; audio.playbackRate = rate; showRate();\n    try { localStorage.setItem('msq-audio-rate', String(rate)); } catch (e) {}\n    track('audio_rate', { rate: rate });\n  });\n  closeBtn.addEventListener('click', function(){\n    closed = true; if (!audio.paused) { audio.pause(); } paint(); track('audio_bar_close', {});\n  });\n  function mode(){\n    if (!audio.paused) { return 'pause'; }\n    if (ended) { return 'again'; }\n    if (!started) { return 'listen'; }\n    return (pausedAt === onScreen()) ? 'resume' : 'section';\n  }\n  playBtn.addEventListener('click', function(){\n    var m = mode();\n    if (m === 'pause') { audio.pause(); track('audio_pause', { source: 'bar' }); return; }\n    if (m === 'again') { ended = false; play(0, 'bar'); return; }\n    if (m === 'resume') { play(null, 'bar'); return; }\n    play(starts[onScreen()], 'bar');\n  });\n  function paint(){\n    var idx = current(), playing = !audio.paused, m = mode();\n    items.forEach(function(li, i){\n      var on = (i === idx) && playing, b = li.querySelector('.msq-toc-play'), a = li.querySelector('a');\n      li.classList.toggle('is-active', on); b.classList.toggle('is-playing', on);\n      b.textContent = on ? '\u2016' : '\u25b6\ufe0e';\n      b.setAttribute('aria-label', (on ? 'Pause: ' : 'Play from: ') + a.textContent);\n    });\n    hbtns.forEach(function(b, i){ if (b) { var on = (i === idx) && playing; b.classList.toggle('is-playing', on); b.setAttribute('aria-label', (on ? 'Pause this section: ' : 'Play this section: ') + names[i]); } });\n    playBtn.classList.toggle('is-playing', playing);\n    label.textContent = m === 'pause' ? 'Pause' : m === 'again' ? 'Play again' : m === 'resume' ? 'Resume' : m === 'section' ? 'Play this section' : 'Listen, ' + minutes + ' min';\n    playBtn.setAttribute('aria-label', label.textContent);\n    chap.textContent = started ? names[(playing || m === 'resume') ? idx : onScreen()] : '';\n    clock.textContent = started ? fmt(audio.currentTime) + ' \/ ' + fmt(audio.duration) : '';\n    bar.classList.toggle('msq-bar-pill', !started);\n    var show = !closed && (started || 0 > root.getBoundingClientRect().bottom);\n    bar.classList.toggle('is-hidden', !show);\n    document.body.classList.toggle('msq-has-bar', show);\n  }\n  root.addEventListener('click', function(e){\n    var b = e.target.closest ? e.target.closest('.msq-toc-play') : null; if (!b) { return; }\n    var li = b.parentNode, s = parseFloat(b.getAttribute('data-start')) || 0;\n    if (!audio.paused && current() === items.indexOf(li)) { audio.pause(); track('audio_pause', { source: 'index' }); return; }\n    play(s, 'index');\n  });\n  audio.addEventListener('play', function(){ ended = false; closed = false; if (!started) { started = true; track('audio_play', { minutes: Math.round((audio.duration || 0) \/ 60) }); } paint(); });\n  audio.addEventListener('pause', function(){ pausedAt = current(); paint(); });\n  audio.addEventListener('timeupdate', function(){\n    paint();\n    if (audio.duration > 0) {\n      var pct = Math.floor(audio.currentTime \/ audio.duration * 100);\n      [25, 50, 75].forEach(function(m){ if (pct >= m && !marks[m]) { marks[m] = true; track('audio_progress', { percent: m }); } });\n    }\n  });\n  audio.addEventListener('ended', function(){ ended = true; track('audio_complete', {}); paint(); });\n  var ticking = false;\n  function onScroll(){ if (ticking) { return; } ticking = true; setTimeout(function(){ ticking = false; paint(); }, 80); }\n  window.addEventListener('scroll', onScroll, { passive: true }); window.addEventListener('resize', onScroll);\n  paint();\n  }\n  if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', init); } else { init(); }\n})();\n\n(function(){\n  function start(){\n    var root = document.querySelector('.msq-audio'), audio = root ? root.querySelector('audio') : null;\n    var map = (typeof MSQ_SENT !== 'undefined') ? MSQ_SENT : [];\n    if (!root || !audio || !map.length) { return; }\n    var scope = root.closest('main') || root.closest('article') || root.closest('.entry-content') || document.body;\n    var SKIP = '.msq-audio,.msq,.msq-tool,.msq-end,.msq-bar,script,style,noscript,figcaption,#rank-math-faq,.rank-math-block,nav,header,footer';\n    function norm(s){ return s.toLowerCase().replace(\/[^a-z0-9]+\/g, ''); }\n    var nodes = [], stream = '', walker = document.createTreeWalker(scope, NodeFilter.SHOW_TEXT, null), n;\n    while ((n = walker.nextNode())) {\n      var el = n.parentElement; if (!el || el.closest(SKIP)) { continue; }\n      var raw = n.nodeValue, keep = [], norms = '';\n      for (var i = 0; raw.length > i; i += 1) { var c = raw.charAt(i).toLowerCase(); if (\/[a-z0-9]\/.test(c)) { keep.push(i); norms += c; } }\n      if (!norms) { continue; }\n      nodes.push({ node: n, a: stream.length, b: stream.length + norms.length, keep: keep });\n      stream += norms;\n    }\n    var segs = [], cursor = 0, lastRow = null;\n    map.forEach(function(m, idx){\n      var kind = m[1], f = m[2], len = m[3];\n      if (kind === 't') {\n        var rows = scope.querySelectorAll('tr'), after = !lastRow;\n        for (var r = 0; rows.length > r; r += 1) {\n          var tr = rows[r];\n          if (!after) { if (tr === lastRow) { after = true; } continue; }\n          var cell = tr.querySelector('td,th');\n          if (cell && norm(cell.textContent).indexOf(f) === 0) { tr.setAttribute('data-i', idx); lastRow = tr; break; }\n        }\n        return;\n      }\n      var p = stream.indexOf(f, cursor); if (0 > p) { return; }\n      segs.push({ i: idx, a: p, b: Math.min(p + len, stream.length) }); cursor = p + len;\n    });\n    var si = 0;\n    nodes.forEach(function(nd){\n      var frag = document.createDocumentFragment(), raw = nd.node.nodeValue, rawPos = 0, any = false;\n      for (var k = si; segs.length > k; k += 1) {\n        var sg = segs[k]; if (sg.a >= nd.b) { break; } if (nd.a >= sg.b) { continue; }\n        var s = Math.max(sg.a, nd.a), e = Math.min(sg.b, nd.b);\n        var rs = nd.keep[s - nd.a], re2 = nd.keep[e - nd.a - 1] + 1;\n        if (rs > rawPos) { frag.appendChild(document.createTextNode(raw.slice(rawPos, rs))); }\n        var span = document.createElement('span'); span.className = 'msq-s'; span.setAttribute('data-i', sg.i); span.textContent = raw.slice(rs, re2);\n        frag.appendChild(span); rawPos = re2; any = true;\n        if (sg.b > nd.b) { break; }\n      }\n      while (segs.length > si && nd.b >= segs[si].b) { si += 1; }\n      if (!any) { return; }\n      if (raw.length > rawPos) { frag.appendChild(document.createTextNode(raw.slice(rawPos))); }\n      nd.node.parentNode.replaceChild(frag, nd.node);\n    });\n    var starts = map.map(function(m){ return m[0]; }), curIdx = -1, lastUser = 0, timer = null, autoUntil = 0, dragging = false;\n    function idxAt(t){ var lo = 0, hi = starts.length; while (hi > lo + 1) { var mid = (lo + hi) >> 1; if (t + 0.15 >= starts[mid]) { lo = mid; } else { hi = mid; } } return (t + 0.15 >= starts[0]) ? lo : -1; }\n    function setNow(i){\n      if (i === curIdx) { return; }\n      Array.prototype.forEach.call(scope.querySelectorAll('.msq-now'), function(el){ el.classList.remove('msq-now'); });\n      curIdx = i; if (0 > i) { return; }\n      var els = scope.querySelectorAll('[data-i=\"' + i + '\"]'); if (!els.length) { return; }\n      Array.prototype.forEach.call(els, function(el){ el.classList.add('msq-now'); });\n      var r = els[0].getBoundingClientRect(), now = Date.now();\n      if (!dragging && now > lastUser + 2500 && (80 > r.top || r.bottom > window.innerHeight - 140)) {\n        var reduce = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n        autoUntil = now + (reduce ? 400 : 1600);\n        els[0].scrollIntoView({ block: 'center', behavior: reduce ? 'auto' : 'smooth' });\n      }\n    }\n    function tick(){ if (!audio.paused) { setNow(idxAt(audio.currentTime)); } }\n    function userScrolled(){ lastUser = Date.now(); }\n    ['wheel', 'touchmove', 'keydown'].forEach(function(ev){ window.addEventListener(ev, userScrolled, { passive: true }); });\n    window.addEventListener('scroll', function(){ if (Date.now() > autoUntil) { userScrolled(); } }, { passive: true });\n    window.addEventListener('mousedown', function(e){ if (e.clientX >= document.documentElement.clientWidth) { dragging = true; userScrolled(); } }, { passive: true });\n    window.addEventListener('mouseup', function(){ if (dragging) { dragging = false; userScrolled(); } }, { passive: true });\n    audio.addEventListener('play', function(){ if (timer) { clearInterval(timer); } timer = setInterval(tick, 150); tick(); });\n    audio.addEventListener('pause', function(){ if (timer) { clearInterval(timer); timer = null; } });\n    scope.addEventListener('click', function(e){\n      if (e.target.closest('a, button, input, select, textarea, label, summary, .msq, .msq-tool, .msq-end, .msq-audio, .msq-bar')) { return; }\n      var sel = window.getSelection ? String(window.getSelection()) : '';\n      if (sel && sel.trim()) { return; }\n      var el = e.target.closest('[data-i]'); if (!el) { return; }\n      var i = parseInt(el.getAttribute('data-i'), 10); if (isNaN(i)) { return; }\n      if (!audio.paused && i === curIdx) { return; }\n      lastUser = Date.now();\n      audio.currentTime = starts[i];\n      var p = audio.play(); if (p && p.catch) { p.catch(function(){}); }\n      try { if (typeof gtag === 'function') { gtag('event', 'audio_chapter', { article: location.pathname, source: 'sentence', start: Math.round(starts[i]) }); } } catch (err) {}\n    });\n    audio.addEventListener('seeked', tick);\n    audio.addEventListener('ended', function(){ setNow(-1); });\n  }\n  if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', start); } else { start(); }\n})();<\/script>\n<\/div>\n\n\n\n<p class=\"msq-hook wp-block-paragraph\">On this page: writing postings read on 28 AI companies&#8217; own job boards on 8 November 2026 with pay as printed, the 19 writing titled listings counted on the getAIwork board and sorted by what the work is, and the writing tests each kind asks for.<\/p>\n\n\n\n<div class=\"msq\" id=\"ms-quiz\" data-slug=\"ai-writer-jobs\" data-category=\"ai-jobs\" data-list=\"1\">\n<style>.msq,.msq-hook,.msq-box,.msq-end,.msq-tool{--msq-accent:#1E3A8A;--msq-accent-text:#FFFFFF;--msq-line:#DDE3EE;--msq-warn:#B45309;--msq-muted:#55555F;--msq-tint:#F1F4FA;--msq-base:#FFFFFF}\n.msq{margin:1.25em 0 1.75em}\n.msq-hook{border-left:3px solid var(--msq-accent);padding:6px 14px;color:var(--msq-muted);font-size:.97em}\n.msq-box{background:var(--msq-tint);border:1px solid var(--msq-line);border-radius:12px;padding:0}\n.msq-box>summary{cursor:pointer;list-style:none;padding:14px 18px;font-weight:700;color:var(--msq-accent)}\n.msq-box>summary::-webkit-details-marker{display:none}\n.msq-box>summary::before{content:\"+\";display:inline-block;width:1.1em;font-weight:800}\n.msq-box[open]>summary::before{content:\"\\00d7\"}\n.msq-body{padding:2px 18px 18px}\n.msq-intro{margin:0 0 12px;font-size:.95em;color:var(--msq-muted)}\n.msq-list{margin:0;padding:0;list-style:none}\n.msq-q{margin:0 0 18px;padding:0}\n.msq-question{font-weight:700;margin:0 0 8px}\n.msq-options{display:flex;flex-direction:column;gap:8px}\n.msq-opt{text-align:left;background:var(--msq-base);border:1px solid var(--msq-line);border-radius:8px;padding:10px 12px;font:inherit;font-size:.95em;color:inherit;cursor:pointer;line-height:1.35}\n.msq-opt:hover{border-color:var(--msq-accent)}\n.msq-opt[disabled]{cursor:default}\n.msq-opt.is-right{border-color:var(--msq-accent);background:var(--msq-line);font-weight:700}\n.msq-opt.is-wrong{border-color:var(--msq-warn);color:var(--msq-warn)}\n.msq-explain{margin:8px 0 0;font-size:.92em;padding:10px 12px;border-left:3px solid var(--msq-accent);background:var(--msq-base);border-radius:0 8px 8px 0}\n.msq-explain[hidden]{display:none}\n.msq-verdict{font-weight:700}\n.msq-result{margin-top:14px;padding:14px 16px;background:var(--msq-base);border:1px solid var(--msq-line);border-radius:10px}\n.msq-result[hidden]{display:none}\n.msq-result h3{margin:0 0 6px;font-size:1.1em}\n.msq-result p{margin:0 0 8px}\n.msq-jump{margin:0 0 8px;padding-left:1.2em}\n.msq-form{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}\n.msq-form input[type=email]{flex:1 1 220px;padding:10px 12px;border:1px solid var(--msq-muted);border-radius:8px;font:inherit;background:#fff}\n.msq-btn{background:var(--msq-accent);color:var(--msq-accent-text);border:0;border-radius:8px;padding:11px 18px;font:inherit;font-weight:700;cursor:pointer}\n.msq-btn:hover{filter:brightness(.92)}\n.msq-btn[disabled]{opacity:.7;cursor:default}\n.msq-no{font-size:.9em;color:var(--msq-muted);margin-left:4px}\n.msq-privacy{margin:6px 0 0;font-size:.82em;color:var(--msq-muted);flex-basis:100%}\n.msq-hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}\n.msq-msg{margin:8px 0 0;font-size:.92em}\n.msq-end{margin:1.5em 0;padding:18px;border:1px solid var(--msq-accent);border-radius:12px;text-align:center;background:var(--msq-tint)}\n.msq-end p{margin:0 0 12px}\n.msq-end .msq-body{text-align:left;padding:16px 0 0}\n.msq-end .msq-start-test[hidden]{display:none}\n.msq-tool{margin:1.5em 0;padding:18px 20px;background:var(--msq-tint);border:1px solid var(--msq-line);border-radius:12px}\n.msq-tool h3{margin:0 0 6px;font-size:1.15em}\n.msq-tool p{margin:0 0 10px}\n.msq-tool .msq-note{font-size:.85em;color:var(--msq-muted);margin:10px 0 0}\n.msq-check label{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--msq-line);cursor:pointer;line-height:1.4}\n.msq-check label:last-of-type{border-bottom:0}\n.msq-check input{margin-top:5px;flex:0 0 auto;width:18px;height:18px;accent-color:var(--msq-accent)}\n.msq-check-count{font-weight:700;margin:10px 0 0}\n.msq-verdict-box{margin:12px 0 0;padding:10px 14px;border-radius:8px;background:var(--msq-base);border-left:3px solid var(--msq-warn)}\n.msq-verdict-box[hidden]{display:none}\n.msq-calc{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}\n.msq-calc label{display:flex;flex-direction:column;gap:4px;font-size:.92em}\n.msq-calc input,.msq-calc select{padding:8px 10px;border:1px solid var(--msq-muted);border-radius:8px;font:inherit;background:#fff}\n.msq-calc-out{grid-column:1 \/ -1;margin-top:6px;padding:12px 14px;background:var(--msq-base);border-radius:8px;border:1px solid var(--msq-line)}\n.msq-calc-out strong{font-size:1.15em}\n.msq-choose label{display:block;padding:9px 12px;margin:0 0 8px;background:var(--msq-base);border:1px solid var(--msq-line);border-radius:8px;cursor:pointer}\n.msq-choose input{margin-right:8px;accent-color:var(--msq-accent)}\n.msq-choice-result{margin-top:10px;padding:12px 14px;background:var(--msq-base);border-left:3px solid var(--msq-accent);border-radius:0 8px 8px 0}\n.msq-choice-result[hidden]{display:none}\n@media (max-width:600px){.msq-calc{grid-template-columns:1fr}}\nh2.wp-block-heading[id]{scroll-margin-top:24px}<\/style>\n<noscript><style>.msq-explain{display:block !important}<\/style><\/noscript>\n<details class=\"msq-box\">\n<summary>Think you already know this? Five questions, one minute.<\/summary>\n<div class=\"msq-body\">\n<p class=\"msq-intro\">Every answer is on this page. Answer from what you know now; the page fills in the rest.<\/p>\n<ol class=\"msq-list\">\n<li class=\"msq-q\" data-q=\"1\" data-answer=\"a\" data-title=\"What counts as an AI writer job in real postings?\" data-section=\"#what-counts-as-an-ai-writer-job-in-real-postings\">\n<p class=\"msq-question\">1. In an AI training writing task, who is the writing mainly for?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 1 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">A model that learns from it<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">A company blog&#8217;s readers<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">A print publisher<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>Training tasks have writers write, score and repair text so a model learns, as <a href=\"https:\/\/job-boards.greenhouse.io\/xai\/jobs\/5017529007\" target=\"_blank\" rel=\"noopener\">xAI&#8217;s AI Tutor, Writing posting<\/a> describes. <a class=\"msq-section\" href=\"#what-counts-as-an-ai-writer-job-in-real-postings\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"2\" data-answer=\"a\" data-title=\"Which AI companies are hiring writers on their own job boards?\" data-section=\"#which-ai-companies-are-hiring-writers-on-their-own-job-board\">\n<p class=\"msq-question\">2. What yearly range did Perplexity&#8217;s Writer posting list on 8 November 2026?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 2 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">$150,000 to $190,000<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">$295,000 to $345,000<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">$76,910<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>The <a href=\"https:\/\/jobs.ashbyhq.com\/Perplexity\/f05bd47b-bed8-4f00-9d9c-026c72578e82\" target=\"_blank\" rel=\"noopener\">Perplexity Writer posting<\/a> printed $150,000 to $190,000 a year; $76,910 is the BLS median for all writers. <a class=\"msq-section\" href=\"#which-ai-companies-are-hiring-writers-on-their-own-job-board\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"3\" data-answer=\"c\" data-title=\"How many AI writer jobs are on the getAIwork board?\" data-section=\"#how-many-ai-writer-jobs-are-on-the-getaiwork-board\">\n<p class=\"msq-question\">3. Of the 19 writing titled listings on the getAIwork board on 8 November 2026, how many were AI training or evaluation tasks?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 3 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">3<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">6<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">10<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>10 were training or evaluation tasks, 6 employer roles and 3 freelance gigs, out of 1,961 live listings in the <a href=\"https:\/\/getaiwork.com\/stats.json\" target=\"_blank\" rel=\"noopener\">board&#8217;s stats.json<\/a>. <a class=\"msq-section\" href=\"#how-many-ai-writer-jobs-are-on-the-getaiwork-board\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"4\" data-answer=\"a\" data-title=\"What writing tests do these jobs ask for?\" data-section=\"#what-writing-tests-do-these-jobs-ask-for\">\n<p class=\"msq-question\">4. What does Cohere&#8217;s German Writer and Translator posting say comes after the resume review?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 4 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">A virtual annotation test<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">A paid trial week<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">Nothing, work starts at once<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>The <a href=\"https:\/\/jobs.ashbyhq.com\/cohere\/acec6038-117b-400b-92e3-0745fbb4cf53\" target=\"_blank\" rel=\"noopener\">Cohere posting<\/a> describes a virtual annotation test with a writing sample and a chatbot task. <a class=\"msq-section\" href=\"#what-writing-tests-do-these-jobs-ask-for\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"5\" data-answer=\"a\" data-title=\"What do writers who tried AI training work report?\" data-section=\"#what-do-writers-who-tried-ai-training-work-report\">\n<p class=\"msq-question\">5. What did workers in an April 2026 r\/DataAnnotationTech thread say they missed on creative writing tasks?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 5 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">Feedback on whether their writing passed<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">Longer deadlines<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">A chance to pick topics<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>Several replies in <a href=\"https:\/\/www.reddit.com\/r\/DataAnnotationTech\/comments\/1shz4mq\/loving_the_creative_writing_tasks\/\" target=\"_blank\" rel=\"noopener\">the thread<\/a> said they got no feedback; these are forum reports, not company policy. <a class=\"msq-section\" href=\"#what-do-writers-who-tried-ai-training-work-report\">Read the section<\/a><\/p>\n<\/li>\n<\/ol>\n<div class=\"msq-result\" hidden><\/div>\n<\/div>\n<\/details>\n<script>(function(){\n  if (window.__msqInit) { return; }\n  window.__msqInit = true;\n  var root = document.getElementById('ms-quiz');\n  if (!root) { return; }\n  var meta = { slug: root.getAttribute('data-slug'), category: root.getAttribute('data-category'),\n               list: root.getAttribute('data-list') || '1' };\n  function qs(el, s){ return el.querySelector(s); }\n  function qsa(el, s){ return Array.prototype.slice.call(el.querySelectorAll(s)); }\n  function track(name, params){\n    try { if (typeof gtag === 'function') { var p = params || {}; p.article = meta.slug; gtag('event', name, p); } } catch (e) {}\n  }\n  function jumpList(missed){\n    if (!missed.length) { return ''; }\n    return '<ul class=\"msq-jump\">' + missed.map(function(q){\n      return '<li><a href=\"' + q.getAttribute('data-section') + '\">' + q.getAttribute('data-title') + '<\/a><\/li>';\n    }).join('') + '<\/ul>';\n  }\n  function emailForm(){\n    return '<div class=\"msq-sub\"><p><strong>Get the next one.<\/strong> We publish new articles on ' + meta.category\n      + ' most weeks and recheck this page on Sundays. Email me when a new article goes up or this page changes.<\/p>'\n      + '<form class=\"msq-form\" method=\"post\" action=\"\/mail\/form.php\" novalidate>'\n      + '<input type=\"hidden\" name=\"list\" value=\"' + meta.list + '\">'\n      + '<input type=\"hidden\" name=\"name\" value=\"\">'\n      + '<label class=\"msq-hp\" aria-hidden=\"true\">Leave this empty<input type=\"text\" name=\"website\" tabindex=\"-1\" autocomplete=\"off\"><\/label>'\n      + '<input type=\"email\" name=\"email\" placeholder=\"you@example.com\" required aria-label=\"Email address\" autocomplete=\"email\">'\n      + '<button type=\"submit\" class=\"msq-btn\">Email me the updates<\/button>'\n      + '<a href=\"#\" class=\"msq-no\">No thanks<\/a>'\n      + '<p class=\"msq-privacy\">We store your email and this page\\'s topic, nothing else. Unsubscribe any time.<\/p>'\n      + '<\/form><p class=\"msq-msg\" aria-live=\"polite\"><\/p><\/div>';\n  }\n  \/* The autoresponder always answers 200 with its own page. A \".msg.err\" box means the\n     address was rejected, \"You're subscribed\" means accepted, and a redirect only happens\n     after a successful subscribe. Same reading as the landing pages on the other sites. *\/\n  function sendForm(form){\n    return fetch(form.getAttribute('action'), { method: 'POST', body: new FormData(form), credentials: 'same-origin', redirect: 'manual' })\n      .then(function(res){\n        if (res.type === 'opaqueredirect') { return { status: 'ok' }; }\n        if (res.status === 404) { return { status: 'notlive' }; }\n        if (!res.ok) { throw new Error('HTTP ' + res.status); }\n        return res.text().then(function(t){\n          var doc = new DOMParser().parseFromString(t, 'text\/html');\n          var err = doc.querySelector('.msg.err');\n          if (err) {\n            var m = err.textContent.trim();\n            if (\/something went wrong\/i.test(m)) { throw new Error(m); }\n            return { status: 'rejected', message: m };\n          }\n          if (\/you.re subscribed\/i.test(doc.body.textContent)) { return { status: 'ok' }; }\n          return { status: 'unknown' };\n        });\n      });\n  }\n  function wireForm(sub){\n    var form = qs(sub, '.msq-form'), msg = qs(sub, '.msq-msg');\n    qs(form, '.msq-no').addEventListener('click', function(e){\n      e.preventDefault();\n      sub.innerHTML = '<p class=\"msq-msg\">No problem. The Sunday refresh keeps this page current either way.<\/p>';\n      track('quiz_email', { result: 'declined' });\n    });\n    form.addEventListener('submit', function(e){\n      e.preventDefault();\n      var input = qs(form, 'input[name=email]'), btn = qs(form, '.msq-btn');\n      var email = input.value.trim(); input.value = email;\n      if (!\/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(email)) { msg.textContent = 'That email does not look right.'; return; }\n      btn.disabled = true; btn.textContent = 'Sending';\n      function reset(){ btn.disabled = false; btn.textContent = 'Email me the updates'; }\n      sendForm(form).then(function(r){\n        if (r.status === 'ok' || r.status === 'unknown') {\n          sub.innerHTML = '<p class=\"msq-msg\"><strong>Done.<\/strong> We will email you when the next article on ' + meta.category\n            + ' goes up and when this page changes. If a confirmation email arrives, click it.<\/p>';\n          track('quiz_email', { result: r.status });\n          if (r.status === 'ok') { track('generate_lead', { method: 'quiz' }); }\n        } else if (r.status === 'notlive') {\n          msg.textContent = 'Sign up is not switched on yet for this site. Nothing was stored.'; reset();\n          track('quiz_email', { result: 'notlive' });\n        } else {\n          msg.textContent = r.message || 'Please check the email address and try again.'; reset();\n          track('quiz_email', { result: 'rejected' });\n        }\n      }).catch(function(){\n        msg.textContent = 'Could not reach the sign up service just now. Nothing was stored.'; reset();\n        track('quiz_email', { result: 'error' });\n      });\n    });\n  }\n  function finish(container, mode, score, total, missed){\n    var result = qs(container, '.msq-result');\n    track('quiz_complete', { mode: mode, score: score, total: total });\n    var h;\n    if (mode === 'pre') {\n      h = '<h3>You knew ' + score + ' of ' + total + ' before reading.<\/h3>';\n      h += (score === total) ? '<p>All of them. Read on anyway; the sections below carry the detail behind each answer.<\/p>'\n                             : '<p>The rest is below. Jump straight to what you missed:<\/p>' + jumpList(missed);\n      try { sessionStorage.setItem('msq-pre-' + meta.slug, String(score)); } catch (e) {}\n    } else {\n      var pre = null;\n      try { pre = sessionStorage.getItem('msq-pre-' + meta.slug); } catch (e) {}\n      h = '<h3>You got ' + score + ' of ' + total + '.<\/h3>';\n      if (pre !== null) { h += '<p>Before reading you had ' + pre + ' of ' + total + '.<\/p>'; }\n      if (missed.length) { h += '<p>Worth a second look:<\/p>' + jumpList(missed); }\n      h += emailForm();\n    }\n    result.innerHTML = h; result.hidden = false;\n    if (mode !== 'pre') { wireForm(qs(result, '.msq-sub')); }\n    result.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n  }\n  function setup(container, mode){\n    var qEls = qsa(container, '.msq-q'), answered = 0, score = 0, missed = [];\n    qEls.forEach(function(q){\n      var answer = q.getAttribute('data-answer'), opts = qsa(q, '.msq-opt'), explain = qs(q, '.msq-explain');\n      q.removeAttribute('data-done'); explain.hidden = true; qs(explain, '.msq-verdict').textContent = '';\n      opts.forEach(function(b){ b.disabled = false; b.classList.remove('is-right', 'is-wrong'); });\n      opts.forEach(function(b){\n        b.addEventListener('click', function(){\n          if (q.getAttribute('data-done')) { return; }\n          q.setAttribute('data-done', '1');\n          var ok = b.getAttribute('data-opt') === answer;\n          opts.forEach(function(o){ o.disabled = true; if (o.getAttribute('data-opt') === answer) { o.classList.add('is-right'); } });\n          if (ok) { score += 1; } else { b.classList.add('is-wrong'); missed.push(q); }\n          qs(explain, '.msq-verdict').textContent = ok ? 'Right. ' : 'Not quite. ';\n          explain.hidden = false;\n          answered += 1;\n          track('quiz_answer', { mode: mode, question: q.getAttribute('data-q'), correct: ok ? 1 : 0 });\n          if (answered === qEls.length) { finish(container, mode, score, qEls.length, missed); }\n        });\n      });\n    });\n  }\n  var box = qs(root, '.msq-box');\n  setup(root, 'pre');\n  if (box) { var skipFirst = box.hasAttribute('data-default-open'); box.addEventListener('toggle', function(){ if (!box.open) { return; } if (skipFirst) { skipFirst = false; return; } track('quiz_open', { mode: 'pre' }); }); }\n  \/* The end block sits far below this script, so it does not exist yet while this runs\n     during parsing. A delegated listener finds it at click time. *\/\n  document.addEventListener('click', function(e){\n    var startBtn = (e.target && e.target.closest) ? e.target.closest('.msq-start-test') : null;\n    if (!startBtn) { return; }\n    var end = startBtn.closest('.msq-end');\n    if (!end) { return; }\n    var mount = qs(end, '.msq-mount');\n    var clone = qs(root, '.msq-body').cloneNode(true);\n    var intro = qs(clone, '.msq-intro');\n    if (intro) { intro.textContent = 'The same five questions, now that you have read the page.'; }\n    var res = qs(clone, '.msq-result'); if (res) { res.hidden = true; res.innerHTML = ''; }\n    mount.innerHTML = ''; mount.appendChild(clone);\n    setup(mount, 'test');\n    startBtn.hidden = true;\n    track('quiz_open', { mode: 'test' });\n    mount.scrollIntoView({ behavior: 'smooth', block: 'start' });\n    var first = qs(mount, '.msq-opt'); if (first) { first.focus({ preventScroll: true }); }\n  });\n  \/* Shared tool behaviour: checklists remember their ticks on this device, and a chooser\n     shows the result for the option picked. Calculators carry their own small script. *\/\n  function initTools(){\n    qsa(document, '.msq-check').forEach(function(box){\n      var key = 'msq-check-' + meta.slug + '-' + (box.getAttribute('data-id') || 'x');\n      var boxes = qsa(box, 'input[type=checkbox]'), count = qs(box, '.msq-check-count');\n      var yes = qs(box, '.msq-verdict-yes'), no = qs(box, '.msq-verdict-no');\n      var saved = {};\n      try { saved = JSON.parse(localStorage.getItem(key) || '{}'); } catch (e) {}\n      boxes.forEach(function(cb, i){ if (saved[i]) { cb.checked = true; } });\n      function refresh(){\n        var n = boxes.filter(function(cb){ return cb.checked; }).length, state = {};\n        boxes.forEach(function(cb, i){ if (cb.checked) { state[i] = 1; } });\n        try { localStorage.setItem(key, JSON.stringify(state)); } catch (e) {}\n        if (count) { count.textContent = n + ' of ' + boxes.length + (box.getAttribute('data-verb') || ' done'); }\n        if (yes && no) { yes.hidden = n === 0; no.hidden = n !== 0; }\n      }\n      boxes.forEach(function(cb){ cb.addEventListener('change', function(){ refresh(); track('tool_check', { tool: box.getAttribute('data-id') }); }); });\n      refresh();\n    });\n    qsa(document, '.msq-choose').forEach(function(box){\n      var results = qsa(box, '.msq-choice-result');\n      qsa(box, 'input[type=radio]').forEach(function(r){\n        r.addEventListener('change', function(){\n          results.forEach(function(el){ el.hidden = el.getAttribute('data-for') !== r.value; });\n          track('tool_choose', { tool: box.getAttribute('data-id'), choice: r.value });\n        });\n      });\n    });\n  }\n  \/\/ read progress: how far down the article the reader has scrolled, fired once per quarter\n  (function(){\n    var art = root.closest('article') || root.parentNode, fired = {};\n    function check(){\n      var top = art.getBoundingClientRect().top + window.pageYOffset, h = art.offsetHeight || 1;\n      var seen = (window.pageYOffset + window.innerHeight - top) \/ h * 100;\n      [25, 50, 75, 100].forEach(function(m){ if (seen >= m && !fired[m]) { fired[m] = true; track('read_progress', { percent: m }); } });\n    }\n    window.addEventListener('scroll', check, { passive: true }); window.addEventListener('load', check);\n  })();\n  if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initTools); } else { initTools(); }\n})();<\/script>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-counts-as-an-ai-writer-job-in-real-postings\">What counts as an AI writer job in real postings?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Two quite different jobs answer to the same search. The first is an ordinary writing job that happens to be at an AI company: a copywriter, an editor or a content designer, salaried, with a portfolio review and an interview loop. The second is AI training work, where the writer is not writing for readers at all. They write, score and repair text so a model learns what good writing looks like.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The pages that rank for this query mostly pour both into one salary average, which describes nobody, rather like averaging a novelist and a proofreading app. So below, each kind is counted on its own, from postings read on 8 November 2026, with the pay exactly as each posting printed it. A printed range is not an offer, rates change, and nothing on this page is a promise of work.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"which-ai-companies-are-hiring-writers-on-their-own-job-board\">Which AI companies are hiring writers on their own job boards?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">We read the public job boards of 28 AI companies by script on 8 November 2026, from OpenAI and Anthropic to smaller labs and tool makers. Most were hiring engineers and sales staff. Ten postings were writing roles in the staff sense, and every one that printed pay was based in San Francisco or New York.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Posting<\/th><th>Where<\/th><th>Posted<\/th><th>Pay as listed on 8 November 2026<\/th><th>Experience asked<\/th><\/tr><\/thead><tbody><tr><td><a href=\"https:\/\/job-boards.greenhouse.io\/anthropic\/jobs\/5415287008\" target=\"_blank\" rel=\"noopener\">Anthropic, Executive Communications Writer<\/a><\/td><td>San Francisco or New York<\/td><td>8 September 2026<\/td><td>$295,000 to $345,000 a year<\/td><td>8 or more years in executive communications<\/td><\/tr><tr><td><a href=\"https:\/\/job-boards.greenhouse.io\/anthropic\/jobs\/5443997008\" target=\"_blank\" rel=\"noopener\">Anthropic, Technical Editor<\/a><\/td><td>San Francisco or New York<\/td><td>22 October 2026<\/td><td>$265,000 to $295,000 a year<\/td><td>AI safety experience, strong editing<\/td><\/tr><tr><td><a href=\"https:\/\/jobs.ashbyhq.com\/openai\/3942de32-739a-409a-841c-828af04bad83\" target=\"_blank\" rel=\"noopener\">OpenAI, Content Designer<\/a><\/td><td>San Francisco<\/td><td>27 October 2026<\/td><td>$287,000 to $318,000 a year<\/td><td>5 or more years in content design<\/td><\/tr><tr><td><a href=\"https:\/\/jobs.ashbyhq.com\/openai\/a6a421a5-0d3d-4f2f-9767-7c25b6e7d2fc\" target=\"_blank\" rel=\"noopener\">OpenAI, Safety Transparency Editor<\/a><\/td><td>San Francisco<\/td><td>17 July 2026<\/td><td>$220,000 to $245,000 a year<\/td><td>Writing system cards and safety documents<\/td><\/tr><tr><td><a href=\"https:\/\/jobs.ashbyhq.com\/Perplexity\/f05bd47b-bed8-4f00-9d9c-026c72578e82\" target=\"_blank\" rel=\"noopener\">Perplexity, Writer<\/a><\/td><td>San Francisco<\/td><td>27 August 2026<\/td><td>$150,000 to $190,000 a year<\/td><td>4 or more years of content writing<\/td><\/tr><tr><td><a href=\"https:\/\/jobs.ashbyhq.com\/Perplexity\/ebd5d9b3-39c4-498b-85a6-2f565e001d7e\" target=\"_blank\" rel=\"noopener\">Perplexity, Senior Editor<\/a><\/td><td>San Francisco<\/td><td>1 July 2026<\/td><td>$210,000 to $290,000 a year<\/td><td>7 or more years and a body of published work<\/td><\/tr><tr><td><a href=\"https:\/\/jobs.ashbyhq.com\/Perplexity\/0807f77b-4499-498a-b2bf-3cd44d965138\" target=\"_blank\" rel=\"noopener\">Perplexity, Content Designer<\/a><\/td><td>San Francisco<\/td><td>4 November 2026<\/td><td>$240,000 to $300,000 a year<\/td><td>5 or more years and a portfolio<\/td><\/tr><tr><td><a href=\"https:\/\/jobs.ashbyhq.com\/harvey\/824ef487-4f82-4ff1-a0b3-34d50d906100\" target=\"_blank\" rel=\"noopener\">Harvey, Lead Copywriter<\/a><\/td><td>San Francisco or New York<\/td><td>15 July 2026<\/td><td>$164,000 to $246,000 a year<\/td><td>8 or more years and a portfolio<\/td><\/tr><tr><td><a href=\"https:\/\/jobs.ashbyhq.com\/harvey\/118f1c4c-5e46-416a-8caa-d6f026fcbcfe\" target=\"_blank\" rel=\"noopener\">Harvey, Staff Content Designer<\/a><\/td><td>San Francisco or New York<\/td><td>3 November 2026<\/td><td>$195,500 to $264,500 a year<\/td><td>8 or more years and a portfolio<\/td><\/tr><tr><td><a href=\"https:\/\/jobs.ashbyhq.com\/lovable\/40f2f697-09ae-44bd-951a-1f10c358c159\" target=\"_blank\" rel=\"noopener\">Lovable, Technical Writer<\/a><\/td><td>Stockholm<\/td><td>12 October 2026<\/td><td>Not listed<\/td><td>3 or more years documenting software, writing samples<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Two things stand out. These are senior jobs: the lowest experience bar printed on the list is three years, and most ask for five to eight. And the company called <a href=\"https:\/\/jobs.ashbyhq.com\/writer\" target=\"_blank\" rel=\"noopener\">Writer<\/a>, an AI writing platform, had 48 postings on its own board that day with not one writer, editor or content title among them. Make of that what you will; we made a note of it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For comparison, the <a href=\"https:\/\/www.bls.gov\/ooh\/media-and-communication\/writers-and-authors.htm\" target=\"_blank\" rel=\"noopener\">Bureau of Labor Statistics<\/a> puts the median pay of all US writers and authors at $76,910 a year in May 2025, counts 140,300 such jobs, says 65 percent of them are self employed, and projects little or no change from 2025 to 2035. That is the whole trade, not AI work, and a median is not a forecast for any one writer.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"how-many-ai-writer-jobs-are-on-the-getaiwork-board\">How many AI writer jobs are on the getAIwork board?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">We crawled every page of the <a href=\"https:\/\/getaiwork.com\/board\/\">getAIwork board<\/a> on 8 November 2026. It held 1,961 live listings, the same total as its <a href=\"https:\/\/getaiwork.com\/stats.json\">stats.json<\/a> file updated on 7 November 2026. The board&#8217;s screening tags 550 of them as Writing, but that tag is broad: it covers any listing where written judgement is the core skill, including expert evaluation work for lawyers and engineers. Only 19 listings had a writing job in the title, and we sorted those by hand by what the work actually is.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Kind of work<\/th><th>Listings<\/th><th>Examples, pay as listed on 8 November 2026<\/th><\/tr><\/thead><tbody><tr><td>AI training or evaluation task<\/td><td>10<\/td><td><a href=\"https:\/\/getaiwork.com\/board\/job\/6938\/\">micro1 Senior Book Editor<\/a>, $80 to $120 an hour; <a href=\"https:\/\/getaiwork.com\/board\/job\/10820\/\">micro1 Senior DoD Staff Writing SME<\/a>, $40 to $80 an hour; <a href=\"https:\/\/getaiwork.com\/board\/job\/11999\/\">Mercor Mechanical Engineering Writer<\/a>, $80 an hour<\/td><\/tr><tr><td>Role at an employer, staff or contract<\/td><td>6<\/td><td>OpenAI and Perplexity Content Designers, Harvey Staff Content Designer, Nebius AI Science Writer, a satire staff writer at Maze<\/td><\/tr><tr><td>Freelance writing for clients<\/td><td>3<\/td><td><a href=\"https:\/\/getaiwork.com\/board\/job\/12152\/\">Maven Clinic Conversational AI copywriter<\/a>, $90 to $100 an hour; SEO copywriting; a per word article rate<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Two of the training listings are worth reading closely, because their titles hide what they are. Synthires listed an Academic Writer and a Legal Writer at $90 to $140 an hour as listed, and both descriptions say the job is evaluating AI generated content, not writing papers or briefs. Mercor&#8217;s three engineering writer listings ask for senior engineers who can turn real design problems into evaluation tasks, with a 40 hour week. In this market, writer often means expert who writes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">One limit on our own data: the board has screened 49,412 listings since it began and publishes only the ones that passed, not the ones it rejected or why, so this count says what was live on the day and nothing more. For readers in India, the honest number is small: 12 of the 550 Writing tagged listings were based in India, and none of the 19 writing titled ones were.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you are not sure which kind suits you, the <a href=\"https:\/\/getaiwork.com\/?h=aitrainer&#038;utm_source=articles&#038;utm_medium=organic&#038;utm_content=ai-writer-jobs\">AI trainer match quiz<\/a> asks a few questions about your background and points you at the right part of the board.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"900\" src=\"https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/11\/ai-writer-jobs-chart.png\" alt=\"Bar chart of ai writer jobs by kind on the getAIwork board and AI vendor boards on 8 November 2026\" class=\"wp-image-1467\" srcset=\"https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/11\/ai-writer-jobs-chart.png 1600w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/11\/ai-writer-jobs-chart-300x169.png 300w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/11\/ai-writer-jobs-chart-1024x576.png 1024w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/11\/ai-writer-jobs-chart-768x432.png 768w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/11\/ai-writer-jobs-chart-1536x864.png 1536w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><figcaption class=\"wp-block-image__caption\">On 8 November 2026 the getAIwork board&#8217;s 19 writing titled listings were 10 training tasks, 6 employer roles and 3 freelance gigs; 28 AI vendor boards showed 10 staff writing roles and 2 training postings.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-writing-tests-do-these-jobs-ask-for\">What writing tests do these jobs ask for?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Staff roles test the way publishing always has: a portfolio and a stack of samples. Harvey&#8217;s two roles both ask for a portfolio and eight or more years. Perplexity&#8217;s Senior Editor wants a body of published or edited work. Lovable asks applicants to send writing samples in English with the application and says the technical writer should test what they document. No posting we read asked for an AI writing certificate, which will disappoint the people selling them more than the people hiring.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Training postings test harder and earlier. <a href=\"https:\/\/job-boards.greenhouse.io\/xai\/jobs\/5017529007\" target=\"_blank\" rel=\"noopener\">xAI&#8217;s AI Tutor, Writing posting<\/a>, now published under the SpaceXSI name, lists $35 to $75 an hour for US candidates as listed on 8 November 2026, for a six month temporary role, remote only in the United States, the United Kingdom, Canada and Australia. It asks for C2 English and verifiable proof of one specialty: for fiction, at least two of a Big Five publishing deal, novel sales over 50,000 copies, ten stories in major outlets or a major award; for technical writing, five or more years and a public portfolio.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/jobs.ashbyhq.com\/cohere\/acec6038-117b-400b-92e3-0745fbb4cf53\" target=\"_blank\" rel=\"noopener\">Cohere&#8217;s German Writer and Translator posting<\/a>, listed at CA$30 an hour on 8 November 2026 for remote work within Canada, describes its process plainly: a review of your resume and writing samples, then a virtual annotation test that includes a writing sample and chatting with a bot. The pattern holds across both kinds. Staff jobs judge what you have already written. Training jobs make you write in front of them.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1376\" height=\"768\" src=\"https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/11\/editing-test-for-ai-writer-jobs.jpg\" alt=\"A close up of a writer editing text on paper for practical ai writer jobs testing.\" class=\"wp-image-1463\" srcset=\"https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/11\/editing-test-for-ai-writer-jobs.jpg 1376w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/11\/editing-test-for-ai-writer-jobs-300x167.jpg 300w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/11\/editing-test-for-ai-writer-jobs-1024x572.jpg 1024w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/11\/editing-test-for-ai-writer-jobs-768x429.jpg 768w\" sizes=\"auto, (max-width: 1376px) 100vw, 1376px\" \/><figcaption class=\"wp-block-image__caption\">Training postings test applicants with a written task before any work is offered.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-do-writers-who-tried-ai-training-work-report\">What do writers who tried AI training work report?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">We read four public threads, dated between March and October 2026, and 52 of the replies under them. These are reports from forum users, labelled as such, not evidence of how any company hires or pays.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In <a href=\"https:\/\/www.reddit.com\/r\/xAI_community\/comments\/1s2z2bs\/ai_tutor_writing_assessment\/\" target=\"_blank\" rel=\"noopener\">a March 2026 r\/xAI_community thread<\/a>, an applicant for a model behaviour tutor role described the writing assessment as an essay typed into a split screen test environment, with no clear instruction on which box took the answer; a second applicant had the same confusion. The poster said a second assessment followed the next day and a rejection about two weeks later.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In <a href=\"https:\/\/www.reddit.com\/r\/xAI_community\/comments\/1wvftim\/ai_tutor_schedule\/\" target=\"_blank\" rel=\"noopener\">an October 2026 thread<\/a> on the same forum, a newly hired tutor said they had been told during recruiting the hours were flexible, then found their onboarding set a fixed 9:00 to 5:30 Pacific day. Replies said US internal hires keep set hours while some international contractors log a weekly minimum instead. Check the contract, not the recruiter&#8217;s summary.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In <a href=\"https:\/\/www.reddit.com\/r\/DataAnnotationTech\/comments\/1shz4mq\/loving_the_creative_writing_tasks\/\" target=\"_blank\" rel=\"noopener\">an April 2026 r\/DataAnnotationTech thread<\/a>, several workers said they enjoyed the creative writing tasks but got no feedback on whether their writing passed, and one said the automated checker was hard on poetry. One reply came from a writer with 20 years of paid copywriting who had taken the writing qualifications and still was not being offered those tasks.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And in <a href=\"https:\/\/www.reddit.com\/r\/copywriting\/comments\/1x62rbm\/have_you_lost_a_copywriting_job_because_of_ai\/\" target=\"_blank\" rel=\"noopener\">an October 2026 r\/copywriting thread<\/a> on writers losing work to AI, replies split. Some described being laid off or moved from salary to per deliverable contracts; others said AI drafts at their agencies still needed a skilled writer to fix them. Read together, the accounts agree with the postings: training work is gated by tests and offers little feedback, and staff writing work rewards a portfolio that a model cannot fake.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"which-kind-of-ai-writer-job-fits-your-schedule\">Which kind of AI writer job fits your schedule?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">It depends on how many hours you can give and what you have already published. This comparison uses only the postings above.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>If you have<\/th><th>Where the postings were<\/th><th>What they asked for<\/th><\/tr><\/thead><tbody><tr><td>Five or more years of professional writing and a portfolio<\/td><td>Staff roles at Anthropic, OpenAI, Perplexity and Harvey<\/td><td>Samples, a portfolio review, set office locations<\/td><\/tr><tr><td>A deep specialty such as law, engineering, medicine or defence<\/td><td>Mercor, micro1 and Synthires evaluation listings<\/td><td>Proof of the specialty, often 20 to 40 hours a week<\/td><\/tr><tr><td>Strong English or a second language and a few hours a week<\/td><td>micro1 and similar training listings, Cohere in Canada<\/td><td>A written test before any work<\/td><\/tr><tr><td>Published books or a big writing specialty<\/td><td>xAI&#8217;s writing tutor posting<\/td><td>Verifiable credits, a full or part time schedule in your local business hours<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1376\" height=\"768\" src=\"https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/11\/choosing-schedule-for-ai-writer-jobs.jpg\" alt=\"A man considers his daily schedule while researching remote ai writer jobs from a comfortable armchair.\" class=\"wp-image-1464\" srcset=\"https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/11\/choosing-schedule-for-ai-writer-jobs.jpg 1376w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/11\/choosing-schedule-for-ai-writer-jobs-300x167.jpg 300w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/11\/choosing-schedule-for-ai-writer-jobs-1024x572.jpg 1024w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/11\/choosing-schedule-for-ai-writer-jobs-768x429.jpg 768w\" sizes=\"auto, (max-width: 1376px) 100vw, 1376px\" \/><figcaption class=\"wp-block-image__caption\">Forum users describe essay tests, set hours and little feedback on training work.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">For the training side in more depth, our <a href=\"https:\/\/getaiwork.com\/articles\/ai-trainer-jobs\/\">guide to AI trainer jobs and how the platforms organise them<\/a> covers every platform, <a href=\"https:\/\/getaiwork.com\/articles\/rlhf-jobs\/\">the RLHF jobs explainer<\/a> shows what rating and rewriting model answers involves, and the <a href=\"https:\/\/getaiwork.com\/articles\/part-time-ai-jobs\/\">part time AI jobs comparison<\/a> sets out the hours each kind of work asks for.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you are weighing a staff writing job against training tasks, the <a href=\"https:\/\/getaiwork.com\/?h=jobs&#038;utm_source=articles&#038;utm_medium=organic&#038;utm_content=ai-writer-jobs\">AI jobs match quiz<\/a> gives you a shortlist, and the <a href=\"https:\/\/getaiwork.com\/board\/\">board itself<\/a> is free to browse with no signup.<\/p>\n\n\n\n<div class=\"msq-tool msq-choose\" data-id=\"ai-writer-chooser\">\n<h3>Which kind of AI writer job matches what you have?<\/h3>\n<p>Pick the line closest to your situation. Each answer restates a row of the comparison table on this page, read on 8 November 2026.<\/p>\n<label><input type=\"radio\" name=\"ai-writer-chooser\" value=\"a\">Five or more years of professional writing and a portfolio, and I can work from an office<\/label>\n<label><input type=\"radio\" name=\"ai-writer-chooser\" value=\"b\">A deep specialty such as law, engineering, medicine or defence writing<\/label>\n<label><input type=\"radio\" name=\"ai-writer-chooser\" value=\"c\">Strong English or a second language, and only a few hours a week<\/label>\n<label><input type=\"radio\" name=\"ai-writer-chooser\" value=\"d\">Published books, a big writing specialty, and set business hours are fine<\/label>\n<label><input type=\"radio\" name=\"ai-writer-chooser\" value=\"e\">I am in India<\/label>\n<div class=\"msq-choice-result\" data-for=\"a\" hidden><strong>The staff roles.<\/strong> Anthropic, OpenAI, Perplexity and Harvey listed writing roles in San Francisco or New York on 8 November 2026, asking for samples or a portfolio and 4 to 8 years of experience.<\/div>\n<div class=\"msq-choice-result\" data-for=\"b\" hidden><strong>The expert evaluation listings.<\/strong> Mercor, micro1 and Synthires listed writer titles that are really evaluation work, asking for proof of the specialty and often 20 to 40 hours a week.<\/div>\n<div class=\"msq-choice-result\" data-for=\"c\" hidden><strong>The general training listings.<\/strong> Expect a written test before any work, as Cohere&#8217;s posting describes. Being accepted does not mean tasks will be offered.<\/div>\n<div class=\"msq-choice-result\" data-for=\"d\" hidden><strong>xAI&#8217;s writing tutor posting.<\/strong> It asked for verifiable credits and a schedule in your local business hours, remote in the US, UK, Canada and Australia only.<\/div>\n<div class=\"msq-choice-result\" data-for=\"e\" hidden><strong>Start with the board&#8217;s India listings.<\/strong> On 8 November 2026 only 12 of the board&#8217;s 550 Writing tagged listings were India based, and xAI&#8217;s writing tutor posting excluded India.<\/div>\n<p class=\"msq-note\">This restates the postings read on 8 November 2026. Listings change, rates are as listed, and nothing here is a promise of acceptance, work or pay.<\/p>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"frequently-asked-questions\">Frequently asked questions<\/h2>\n\n\n<div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-q-1\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Do AI writer jobs need a degree?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Most postings we read on 8 November 2026 asked for years of experience and samples rather than a degree. xAI&#8217;s writing tutor posting lists a degree in English, history or journalism as preferred for nonfiction.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-2\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Are AI writer jobs remote?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>The training postings mostly are. xAI&#8217;s was remote in four countries and Cohere&#8217;s within Canada, while the staff roles at Anthropic, OpenAI, Perplexity and Harvey were tied to San Francisco or New York.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-3\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Can I do AI writing work from India?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Few listings allow it. On 8 November 2026, 12 of the 550 Writing tagged listings on the getAIwork board were India based, and xAI&#8217;s writing tutor posting excluded India.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-4\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Is an AI writing certificate worth buying for these jobs?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>No posting we read asked for one. Staff roles asked for a portfolio, and training postings ran their own written tests.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-5\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">What is a content designer at an AI company?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>A writer for the product itself: the words in the interface and help flows. OpenAI&#8217;s posting also mentions building quality standards and reviewer guidance.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-6\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">How long does an AI writing assessment take?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>It varies and the companies do not say. Forum users describe essay style tests and a second stage, with replies taking from days to weeks.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n<div class=\"msq-end\" id=\"ms-quiz-end\">\n<p><strong>Finished the page?<\/strong> The same five questions from the top, to see what stuck.<\/p>\n<button type=\"button\" class=\"msq-btn msq-start-test\">Test Your Understanding of This Article<\/button>\n<div class=\"msq-mount\"><\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Platform statuses and listed pay change without notice. Pay figures are quoted only as listed by the poster on the date shown and are never a promise of earnings. This page was verified on the date shown and is rechecked on the weekly refresh.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>AI writer postings read on 8 November 2026, split into staff roles and training tasks, with pay as printed, the writing tests each asks for and 19 listings counted on the getAIwork board.<\/p>\n","protected":false},"author":2,"featured_media":1462,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","rank_math_title":"AI Writer Jobs: Staff Roles, Training Tasks and the Tests","rank_math_description":"AI writer jobs on 8 November 2026: 10 staff writing roles on AI vendor boards, the training tasks that dominate, and the writing tests each asks for.","rank_math_focus_keyword":"ai writer jobs","rank_math_canonical_url":"","rank_math_breadcrumb_title":"","rank_math_facebook_title":"","rank_math_facebook_description":"","rank_math_facebook_image":"","rank_math_twitter_title":"","rank_math_twitter_description":"","rank_math_twitter_image":"","rank_math_pillar_content":"","rank_math_robots":[],"rank_math_advanced_robots":[]},"categories":[3],"tags":[],"class_list":["post-1465","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-jobs"],"_links":{"self":[{"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/posts\/1465","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/comments?post=1465"}],"version-history":[{"count":3,"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/posts\/1465\/revisions"}],"predecessor-version":[{"id":1470,"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/posts\/1465\/revisions\/1470"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/media\/1462"}],"wp:attachment":[{"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/media?parent=1465"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/categories?post=1465"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/tags?post=1465"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}