{"id":1507,"date":"2026-11-11T04:10:17","date_gmt":"2026-11-11T04:10:17","guid":{"rendered":"https:\/\/getaiwork.com\/articles\/?p=1507"},"modified":"2026-11-11T04:14:23","modified_gmt":"2026-11-11T04:14:23","slug":"fractal-ai-careers","status":"publish","type":"post","link":"https:\/\/getaiwork.com\/articles\/fractal-ai-careers\/","title":{"rendered":"Fractal AI Careers: Roles by City, Pay and the IPO Filing"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>Fractal AI careers, read on the company&#8217;s own Workday board on 11 November 2026, come to 114 open postings: 68 name an Indian city, led by Bengaluru, Mumbai and Gurugram, and 28 sit in the United States. None is a fresher role, and 24 were first opened before 2026, the oldest in June 2022.<\/strong><\/p>\n\n\n\n<div class=\"msq-audio\" data-article=\"fractal-ai-careers\" data-minutes=\"13\">\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\/fractal-ai-careers\/#audio\",\"name\":\"Fractal AI Careers: Roles by City, Pay and the IPO Filing, read aloud\",\"description\":\"Synthetic voice reading of the article, recorded 11 November 2026.\",\"contentUrl\":\"https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/11\/fractal-ai-careers-audio-202611110944.mp3\",\"encodingFormat\":\"audio\/mpeg\",\"duration\":\"PT13M28S\",\"uploadDate\":\"2026-11-11\",\"inLanguage\":\"en-US\",\"isAccessibleForFree\":true,\"mainEntityOfPage\":\"https:\/\/getaiwork.com\/articles\/fractal-ai-careers\/\",\"hasPart\":[{\"@type\":\"Clip\",\"name\":\"Fractal AI Careers: Roles by City, Pay and the IPO Filing\",\"startOffset\":0,\"endOffset\":47},{\"@type\":\"Clip\",\"name\":\"How many Fractal AI careers are open right now?\",\"startOffset\":47,\"endOffset\":174,\"url\":\"https:\/\/getaiwork.com\/articles\/fractal-ai-careers\/#how-many-fractal-ai-careers-are-open-right-now\"},{\"@type\":\"Clip\",\"name\":\"Which cities do Fractal's openings sit in?\",\"startOffset\":174,\"endOffset\":265,\"url\":\"https:\/\/getaiwork.com\/articles\/fractal-ai-careers\/#which-cities-do-fractal-s-openings-sit-in\"},{\"@type\":\"Clip\",\"name\":\"What pay do Fractal's own postings list?\",\"startOffset\":265,\"endOffset\":403,\"url\":\"https:\/\/getaiwork.com\/articles\/fractal-ai-careers\/#what-pay-do-fractal-s-own-postings-list\"},{\"@type\":\"Clip\",\"name\":\"Can freshers or career returners get into Fractal?\",\"startOffset\":403,\"endOffset\":490,\"url\":\"https:\/\/getaiwork.com\/articles\/fractal-ai-careers\/#can-freshers-or-career-returners-get-into-fractal\"},{\"@type\":\"Clip\",\"name\":\"What does Fractal's IPO prospectus say about its staff?\",\"startOffset\":490,\"endOffset\":587,\"url\":\"https:\/\/getaiwork.com\/articles\/fractal-ai-careers\/#what-does-fractal-s-ipo-prospectus-say-about-its-staff\"},{\"@type\":\"Clip\",\"name\":\"What do Fractal candidates report about interviews and offers?\",\"startOffset\":587,\"endOffset\":699,\"url\":\"https:\/\/getaiwork.com\/articles\/fractal-ai-careers\/#what-do-fractal-candidates-report-about-interviews-and-offer\"},{\"@type\":\"Clip\",\"name\":\"How do you apply to Fractal without chasing old listings?\",\"startOffset\":699,\"endOffset\":808,\"url\":\"https:\/\/getaiwork.com\/articles\/fractal-ai-careers\/#how-do-you-apply-to-fractal-without-chasing-old-listings\"}],\"contentSize\":\"5.7 MB\"}<\/script>\n<p class=\"msq-audio-lead\"><strong>Listen to this article<\/strong>, about 13 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\/fractal-ai-careers-audio-202611110944.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: Fractal AI Careers: Roles by City, Pay and the IPO Filing\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">0:00<\/span><a href=\"#top\">Fractal AI Careers: Roles by City, Pay and the IPO Filing<\/a><\/li>\n<li data-start=\"47.22\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"47.22\" aria-label=\"Play from: How many Fractal AI careers are open right now?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">0:47<\/span><a href=\"#how-many-fractal-ai-careers-are-open-right-now\">How many Fractal AI careers are open right now?<\/a><\/li>\n<li data-start=\"174.28\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"174.28\" aria-label=\"Play from: Which cities do Fractal&#x27;s openings sit in?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">2:54<\/span><a href=\"#which-cities-do-fractal-s-openings-sit-in\">Which cities do Fractal&#x27;s openings sit in?<\/a><\/li>\n<li data-start=\"265.3\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"265.3\" aria-label=\"Play from: What pay do Fractal&#x27;s own postings list?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">4:25<\/span><a href=\"#what-pay-do-fractal-s-own-postings-list\">What pay do Fractal&#x27;s own postings list?<\/a><\/li>\n<li data-start=\"403.12\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"403.12\" aria-label=\"Play from: Can freshers or career returners get into Fractal?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">6:43<\/span><a href=\"#can-freshers-or-career-returners-get-into-fractal\">Can freshers or career returners get into Fractal?<\/a><\/li>\n<li data-start=\"490.42\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"490.42\" aria-label=\"Play from: What does Fractal&#x27;s IPO prospectus say about its staff?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">8:10<\/span><a href=\"#what-does-fractal-s-ipo-prospectus-say-about-its-staff\">What does Fractal&#x27;s IPO prospectus say about its staff?<\/a><\/li>\n<li data-start=\"586.6\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"586.6\" aria-label=\"Play from: What do Fractal candidates report about interviews and offers?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">9:47<\/span><a href=\"#what-do-fractal-candidates-report-about-interviews-and-offer\">What do Fractal candidates report about interviews and offers?<\/a><\/li>\n<li data-start=\"698.54\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"698.54\" aria-label=\"Play from: How do you apply to Fractal without chasing old listings?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">11:39<\/span><a href=\"#how-do-you-apply-to-fractal-without-chasing-old-listings\">How do you apply to Fractal without chasing old listings?<\/a><\/li>\n<\/ol><\/nav>\n<p class=\"msq-audio-note\">Recorded 11 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\",\"fractalaicareersrolesbyc\",45],[4.28,\"p\",\"fractalaicareersreadonth\",159],[18.72,\"p\",\"noneisafresherroleand24w\",67],[25.72,\"p\",\"onthispageall114postings\",230],[47.22,\"h\",\"howmanyfractalaicareersa\",38],[51.1,\"p\",\"114\",3],[52.26,\"p\",\"fractalscareerspageatfra\",101],[60.42,\"p\",\"wereadeverypostingonitby\",125],[71.34,\"p\",\"themixtellsyouwhofractal\",37],[73.78,\"p\",\"workdaygroupsthepostings\",80],[79.18,\"p\",\"almosteverytitleasksfory\",144],[89.18,\"t\",\"dataengineer\",35],[94.86,\"t\",\"fractalanalyticsgeneralm\",76],[104.06,\"t\",\"datascientist\",36],[110.22,\"t\",\"decisionscientist\",40],[116.42,\"t\",\"aiengineer\",32],[122.5,\"t\",\"salesaccountgrowthandnew\",54],[129.3,\"t\",\"corporatefunctions\",40],[134.78,\"t\",\"projectmanagement\",39],[140.14,\"t\",\"edtech\",28],[145.46,\"p\",\"freshnessisuneven\",17],[147.3,\"p\",\"42postingswereopenedinth\",92],[155.26,\"p\",\"attheotherend24carrystar\",108],[165.38,\"p\",\"workdayshowsitaslivewhet\",108],[174.28,\"h\",\"whichcitiesdofractalsope\",34],[176.48,\"p\",\"bengalurubyawidemargin\",22],[178.68,\"p\",\"manypostingsnameseveralc\",128],[188.32,\"t\",\"bengaluru\",39],[193.28,\"t\",\"mumbai\",36],[198.48,\"t\",\"gurugramlistedasgurgaon\",53],[206.6,\"t\",\"pune\",34],[210.88,\"t\",\"chennai\",37],[215.4,\"t\",\"noida\",35],[220.04,\"t\",\"newyork\",44],[225.56,\"t\",\"hyderabad\",38],[229.68,\"t\",\"california\",46],[235.12,\"t\",\"london\",43],[240.56,\"p\",\"countedanotherway68posti\",113],[250.8,\"p\",\"nineshownolocationatalli\",70],[255.76,\"p\",\"everypostingontheboardis\",122],[265.3,\"h\",\"whatpaydofractalsownpost\",32],[267.58,\"p\",\"onlytheusonessayanything\",24],[270.14,\"p\",\"ofthe28uspostings21print\",127],[280.98,\"p\",\"noneofthe68indianposting\",38],[283.78,\"p\",\"thesearethemostrecentuse\",129],[295.58,\"t\",\"genai\",64],[307.22,\"t\",\"technicalprogrammanager\",82],[320.82,\"t\",\"seniorgenaiengineer\",81],[333.66,\"t\",\"engagementmanagercpgandr\",81],[345.34,\"t\",\"srbusinessanalystseniord\",106],[359.66,\"t\",\"seniordatascientist\",87],[372.78,\"t\",\"productanalyticsinsights\",89],[385.3,\"p\",\"noticewhatismissingfromt\",59],[389.94,\"p\",\"anyonequotinganindianfra\",97],[398.74,\"p\",\"wehaveleftthosefiguresou\",53],[403.12,\"h\",\"canfreshersorcareerretur\",42],[406.12,\"p\",\"notthroughthepublicboard\",39],[408.16,\"p\",\"thereisnograduateinterno\",50],[412.36,\"p\",\"fractalsentryrouteforstu\",231],[430.28,\"p\",\"noneofthosewasonfractals\",112],[439.72,\"p\",\"careerreturnershaveaname\",46],[443.56,\"p\",\"threepostingscarrythereb\",216],[458.96,\"p\",\"thecatchisthedate\",17],[460.28,\"p\",\"allthreerebootpostingswe\",122],[471.48,\"p\",\"askafractalrecruiterbefo\",47],[474.84,\"p\",\"ifyouareearlyinyourcaree\",214],[490.42,\"h\",\"whatdoesfractalsipoprosp\",45],[494.7,\"p\",\"thatitisbiggrowingandlos\",50],[498.34,\"p\",\"fractalanalyticswentpubl\",153],[511.34,\"t\",\"31march2023\",48],[519.98,\"t\",\"31march2024\",48],[528.78,\"t\",\"30september2024\",52],[537.22,\"t\",\"31march2025\",48],[545.9,\"t\",\"30september2025\",52],[553.86,\"p\",\"theprospectuscountsattri\",178],[567.78,\"p\",\"initsriskfactorsitalsosa\",110],[577.86,\"p\",\"inotherwordssalariesarem\",53],[582.1,\"p\",\"thesamefilingishostedonf\",47],[586.6,\"h\",\"whatdofractalcandidatesr\",53],[590.44,\"p\",\"wereadfiveredditthreadsf\",93],[598.52,\"p\",\"theyarewhatindividualpeo\",73],[604.44,\"p\",\"inapril2026anazuredataen\",125],[614.2,\"p\",\"thefirsttheywrotecovered\",181],[627.44,\"p\",\"repliesinthesamethreadde\",103],[634.96,\"p\",\"onecommenterclaimedmassr\",143],[648.92,\"p\",\"inoctober2026adataengine\",239],[666.44,\"p\",\"areplyallegedthatstaffin\",110],[675.32,\"p\",\"alsoinoctober2026afinaly\",182],[689.44,\"p\",\"longgapsbetweenacampusof\",124],[698.54,\"h\",\"howdoyouapplytofractalwi\",47],[701.9,\"p\",\"startatworkdayandworkout\",29],[704.46,\"p\",\"ifaroleisnotonthefractal\",94],[711.02,\"p\",\"sortbydateandgivethepost\",89],[718.38,\"p\",\"readtheexperiencefloorin\",90],[724.3,\"p\",\"thegetaiworkboardmakesau\",39],[727.46,\"p\",\"on11november2026itcarrie\",239],[750.34,\"p\",\"listedpayontheboardforco\",173],[768.58,\"p\",\"browsethegetaiworkboardw\",119],[776.54,\"p\",\"forcomparisonwithotherem\",163],[789.02,\"p\",\"andifawhatsappmessageoff\",107],[797.26,\"p\",\"iffractalisoneofseverale\",129]];\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: all 114 postings on Fractal&#8217;s own Workday board read on 11 November 2026 and counted by city and job family, the US pay estimates as Fractal lists them, the dated ReBoot returnship, headcount and attrition from the February 2026 prospectus, and four candidate accounts.<\/p>\n\n\n\n<div class=\"msq\" id=\"ms-quiz\" data-slug=\"fractal-ai-careers\" 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=\"b\" data-title=\"How many Fractal AI careers are open right now?\" data-section=\"#how-many-fractal-ai-careers-are-open-right-now\">\n<p class=\"msq-question\">1. Which job family had the most open postings on Fractal&#8217;s board on 11 November 2026?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 1 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">Data Scientist<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">Data Engineer<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">AI Engineer<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>Data Engineer led with 35 of 114 postings on the <a href=\"https:\/\/fractal.wd1.myworkdayjobs.com\/Careers\" target=\"_blank\" rel=\"noopener\">Fractal Workday board<\/a>; Data Scientist had 18 and AI Engineer 7. <a class=\"msq-section\" href=\"#how-many-fractal-ai-careers-are-open-right-now\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"2\" data-answer=\"c\" data-title=\"Which cities do Fractal&#x27;s openings sit in?\" data-section=\"#which-cities-do-fractal-s-openings-sit-in\">\n<p class=\"msq-question\">2. Which city was named on the most Fractal postings?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 2 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">Mumbai<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">Gurugram<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">Bengaluru<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>Bengaluru appeared on 62 postings, Mumbai on 46 and Gurugram on 36, counted on the <a href=\"https:\/\/fractal.wd1.myworkdayjobs.com\/Careers\" target=\"_blank\" rel=\"noopener\">Fractal Workday board<\/a> on 11 November 2026. <a class=\"msq-section\" href=\"#which-cities-do-fractal-s-openings-sit-in\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"3\" data-answer=\"a\" data-title=\"What pay do Fractal&#x27;s own postings list?\" data-section=\"#what-pay-do-fractal-s-own-postings-list\">\n<p class=\"msq-question\">3. How many of Fractal&#8217;s 68 Indian postings printed a pay figure?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 3 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">None<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">Half<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">All of them<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>Only US postings carried an estimate, 21 of 28, such as the <a href=\"https:\/\/fractal.wd1.myworkdayjobs.com\/Careers\/job\/Massachusetts\/Senior-Gen-AI-Engineer_SR-47740\" target=\"_blank\" rel=\"noopener\">Senior Gen AI Engineer posting<\/a> at $120,000 to $150,000 as listed. <a class=\"msq-section\" href=\"#what-pay-do-fractal-s-own-postings-list\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"4\" data-answer=\"b\" data-title=\"Can freshers or career returners get into Fractal?\" data-section=\"#can-freshers-or-career-returners-get-into-fractal\">\n<p class=\"msq-question\">4. What minimum career break does the ReBoot posting ask for?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 4 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">Six months<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">One year<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">Three years<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>The <a href=\"https:\/\/fractal.wd1.myworkdayjobs.com\/Careers\/job\/Data-Testing-Engineer_SR-18095-1\" target=\"_blank\" rel=\"noopener\">ReBoot posting<\/a> asks for a corporate career break of at least one year; it was opened on 29 May 2023. <a class=\"msq-section\" href=\"#can-freshers-or-career-returners-get-into-fractal\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"5\" data-answer=\"a\" data-title=\"What does Fractal&#x27;s IPO prospectus say about its staff?\" data-section=\"#what-does-fractal-s-ipo-prospectus-say-about-its-staff\">\n<p class=\"msq-question\">5. What employee attrition rate does the prospectus give for the six months to 30 September 2025?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 5 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">15.7%<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">23.7%<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">31.2%<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>The <a href=\"https:\/\/nsearchives.nseindia.com\/corporate\/FP_INE212S01015_12FEB2026.pdf\" target=\"_blank\" rel=\"noopener\">prospectus dated 11 February 2026<\/a> gives 15.7%, down from 23.7% in the year to March 2023, with 5,722 full time employees. <a class=\"msq-section\" href=\"#what-does-fractal-s-ipo-prospectus-say-about-its-staff\">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=\"how-many-fractal-ai-careers-are-open-right-now\">How many Fractal AI careers are open right now?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">114. Fractal&#8217;s careers page at fractal.ai\/careers forwards straight to a <a href=\"https:\/\/fractal.wd1.myworkdayjobs.com\/Careers\" target=\"_blank\" rel=\"noopener\">Workday job board<\/a>, so that board is the list that counts. We read every posting on it by script on 11 November 2026, including each one&#8217;s detail page, rather than trusting the summaries that job sites copy around.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The mix tells you who Fractal actually wants. Workday groups the postings into job families, and data engineering is the biggest by a distance. Almost every title asks for years of experience, and the floors printed in the descriptions mostly start at three to five years and climb past ten for architect and lead roles.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Job family on Fractal&#8217;s board<\/th><th>Open postings, 11 Nov 2026<\/th><\/tr><\/thead><tbody><tr><td>Data Engineer<\/td><td>35<\/td><\/tr><tr><td>Fractal Analytics (general, mostly architects and consultants)<\/td><td>24<\/td><\/tr><tr><td>Data Scientist<\/td><td>18<\/td><\/tr><tr><td>Decision Scientist<\/td><td>15<\/td><\/tr><tr><td>AI Engineer<\/td><td>7<\/td><\/tr><tr><td>Sales (account growth and new business)<\/td><td>7<\/td><\/tr><tr><td>Corporate functions<\/td><td>5<\/td><\/tr><tr><td>Project management<\/td><td>2<\/td><\/tr><tr><td>EdTech<\/td><td>1<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Freshness is uneven. 42 postings were opened in the 30 days before we looked, and the newest four carry a start date of 10 November 2026. At the other end, 24 carry start dates before 2026, and a Data Scientist posting for the pharma domain has been open since 14 June 2022. Workday shows it as live; whether anyone is still reading applications for it is another question, and one the board does not answer.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"which-cities-do-fractal-s-openings-sit-in\">Which cities do Fractal&#8217;s openings sit in?<\/h2>\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\/smartphone-showing-map-of-fractal-ai-careers.jpg\" alt=\"A smartphone displaying global job locations next to a mug, highlighting geographic fractal ai careers.\" class=\"wp-image-1505\" srcset=\"https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/11\/smartphone-showing-map-of-fractal-ai-careers.jpg 1376w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/11\/smartphone-showing-map-of-fractal-ai-careers-300x167.jpg 300w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/11\/smartphone-showing-map-of-fractal-ai-careers-1024x572.jpg 1024w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/11\/smartphone-showing-map-of-fractal-ai-careers-768x429.jpg 768w\" sizes=\"auto, (max-width: 1376px) 100vw, 1376px\" \/><figcaption class=\"wp-block-image__caption\">Fractal&#8217;s postings on 11 November 2026 named eight Indian cities and eleven US states.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Bengaluru, by a wide margin. Many postings name several cities at once, so the counts below add up to more than 114: each row is the number of postings that list that city as a possible base.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>City<\/th><th>Postings naming it<\/th><th>Country<\/th><\/tr><\/thead><tbody><tr><td>Bengaluru<\/td><td>62<\/td><td>India<\/td><\/tr><tr><td>Mumbai<\/td><td>46<\/td><td>India<\/td><\/tr><tr><td>Gurugram (listed as Gurgaon)<\/td><td>36<\/td><td>India<\/td><\/tr><tr><td>Pune<\/td><td>29<\/td><td>India<\/td><\/tr><tr><td>Chennai<\/td><td>23<\/td><td>India<\/td><\/tr><tr><td>Noida<\/td><td>16<\/td><td>India<\/td><\/tr><tr><td>New York<\/td><td>12<\/td><td>United States<\/td><\/tr><tr><td>Hyderabad<\/td><td>9<\/td><td>India<\/td><\/tr><tr><td>California<\/td><td>8<\/td><td>United States<\/td><\/tr><tr><td>London<\/td><td>5<\/td><td>United Kingdom<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Counted another way, 68 postings name at least one Indian city, 28 name a US state, five are in London, three in Amsterdam and one in Melbourne. Nine show no location at all, including the three returnship postings covered below. Every posting on the board is marked full time; 102 are regular roles and nine are fixed term, which is worth checking before you resign from anything.<\/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\/fractal-ai-careers-chart.png\" alt=\"Bar chart of fractal ai careers by city, led by Bengaluru with 62 postings.\" class=\"wp-image-1509\" srcset=\"https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/11\/fractal-ai-careers-chart.png 1600w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/11\/fractal-ai-careers-chart-300x169.png 300w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/11\/fractal-ai-careers-chart-1024x576.png 1024w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/11\/fractal-ai-careers-chart-768x432.png 768w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/11\/fractal-ai-careers-chart-1536x864.png 1536w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><figcaption class=\"wp-block-image__caption\">Postings on Fractal&#8217;s own Workday board on 11 November 2026 that name each city. Many postings name several cities, so the bars add up to more than the 114 postings.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-pay-do-fractal-s-own-postings-list\">What pay do Fractal&#8217;s own postings list?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Only the US ones say anything. Of the 28 US postings, 21 print what Fractal calls a reasonable estimate of the current range, beside a note that hiring at or near the top of it is not typical. None of the 68 Indian postings prints a figure. These are the most recent US estimates as listed on 11 November 2026; they are Fractal&#8217;s own words, change without notice, and promise nothing to any applicant.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Posting<\/th><th>Location<\/th><th>Opened<\/th><th>Range as listed<\/th><\/tr><\/thead><tbody><tr><td><a href=\"https:\/\/fractal.wd1.myworkdayjobs.com\/Careers\/job\/Tennessee\/Gen-AI_SR-43848-1\" target=\"_blank\" rel=\"noopener\">Gen AI<\/a><\/td><td>Tennessee<\/td><td>10 Nov 2026<\/td><td>$150,000 to $155,000<\/td><\/tr><tr><td><a href=\"https:\/\/fractal.wd1.myworkdayjobs.com\/Careers\/job\/New-Jersey\/Technical-Program-Manager_SR-47387\" target=\"_blank\" rel=\"noopener\">Technical Program Manager<\/a><\/td><td>New Jersey<\/td><td>10 Nov 2026<\/td><td>$120,000 to $140,000<\/td><\/tr><tr><td><a href=\"https:\/\/fractal.wd1.myworkdayjobs.com\/Careers\/job\/Massachusetts\/Senior-Gen-AI-Engineer_SR-47740\" target=\"_blank\" rel=\"noopener\">Senior Gen AI Engineer<\/a><\/td><td>Massachusetts<\/td><td>6 Nov 2026<\/td><td>$120,000 to $150,000<\/td><\/tr><tr><td><a href=\"https:\/\/fractal.wd1.myworkdayjobs.com\/Careers\/job\/New-York\/Engagement-Manager---CPG-Retail_SR-43318-1\" target=\"_blank\" rel=\"noopener\">Engagement Manager, CPG and Retail<\/a><\/td><td>New York<\/td><td>3 Nov 2026<\/td><td>up to $180,000<\/td><\/tr><tr><td><a href=\"https:\/\/fractal.wd1.myworkdayjobs.com\/Careers\/job\/New-York\/Sr-Business-Analyst---Senior-Decision-Scientist---Insurance_SR-46873\" target=\"_blank\" rel=\"noopener\">Sr Business Analyst \/ Senior Decision Scientist, Insurance<\/a><\/td><td>New York<\/td><td>20 Oct 2026<\/td><td>$125,000 to $135,000<\/td><\/tr><tr><td><a href=\"https:\/\/fractal.wd1.myworkdayjobs.com\/Careers\/job\/New-York\/Senior-Data-Scientist_SR-46889\" target=\"_blank\" rel=\"noopener\">Senior Data Scientist<\/a><\/td><td>New York or New Jersey<\/td><td>16 Oct 2026<\/td><td>$110,000 to $140,000<\/td><\/tr><tr><td><a href=\"https:\/\/fractal.wd1.myworkdayjobs.com\/Careers\/job\/Minnesota\/Product-Analytics-Insights-Leader_SR-46922\" target=\"_blank\" rel=\"noopener\">Product Analytics Insights Leader<\/a><\/td><td>Minnesota<\/td><td>16 Oct 2026<\/td><td>$150,000 to $200,000<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Notice what is missing from the Indian side: no ranges, no grades, nothing. Anyone quoting an Indian Fractal salary is quoting self reported survey data or a forum, not Fractal, and should say so. We have left those figures out rather than dress them up as facts.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"can-freshers-or-career-returners-get-into-fractal\">Can freshers or career returners get into Fractal?<\/h2>\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\/mature-worker-applying-for-fractal-ai-careers.jpg\" alt=\"A man in headphones taking notes at a home desk while weighing fractal ai careers.\" class=\"wp-image-1506\" srcset=\"https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/11\/mature-worker-applying-for-fractal-ai-careers.jpg 1376w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/11\/mature-worker-applying-for-fractal-ai-careers-300x167.jpg 300w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/11\/mature-worker-applying-for-fractal-ai-careers-1024x572.jpg 1024w, https:\/\/getaiwork.com\/articles\/wp-content\/uploads\/2026\/11\/mature-worker-applying-for-fractal-ai-careers-768x429.jpg 768w\" sizes=\"auto, (max-width: 1376px) 100vw, 1376px\" \/><figcaption class=\"wp-block-image__caption\">Fractal&#8217;s ReBoot returnship is for people back from a career break of a year or more.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Not through the public board, at least not today. There is no graduate, intern or trainee posting among the 114. Fractal&#8217;s entry route for students is its Imagineer programme, which runs through campus drives; a student on <a href=\"https:\/\/www.reddit.com\/r\/PlacementsPrep\/comments\/1x1mihg\/fractal_analytics_interview_exp\/\" target=\"_blank\" rel=\"noopener\">r\/PlacementsPrep<\/a> in October 2026 described Fractal arriving at their college for an Imagineer drive, and job sites still carry Imagineer listings from earlier batches. None of those was on Fractal&#8217;s own board on 11 November 2026, so treat any Imagineer link elsewhere as old until the board shows a fresh one.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Career returners have a named route that is easy to miss. Three postings carry the ReBoot label, and the <a href=\"https:\/\/fractal.wd1.myworkdayjobs.com\/Careers\/job\/Data-Testing-Engineer_SR-18095-1\" target=\"_blank\" rel=\"noopener\">Data Testing Engineer ReBoot posting<\/a> describes ReBoot as Fractal&#8217;s returnship for people who took a career break: four months, paid, with a minimum corporate break of one year, and a full time role possible afterwards. The catch is the date. All three ReBoot postings were opened on 29 May 2023 and carry no location, which reads more like a page nobody closed than a cohort hiring this month. Ask a Fractal recruiter before building plans around it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you are early in your career and Fractal is the dream rather than the plan, our <a href=\"https:\/\/getaiwork.com\/articles\/ai-jobs-for-freshers\/\">guide to AI jobs for freshers in India<\/a> lists what is actually open to recent graduates, and the <a href=\"https:\/\/getaiwork.com\/?h=jobsnoexp&#038;utm_source=articles&#038;utm_medium=organic&#038;utm_content=fractal-ai-careers\">getAIwork match quiz<\/a> will point you at the kind of work that fits what you can show today.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-does-fractal-s-ipo-prospectus-say-about-its-staff\">What does Fractal&#8217;s IPO prospectus say about its staff?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">That it is big, growing and losing fewer people than it used to. Fractal Analytics went public through an offer that ran from 9 to 11 February 2026, and its <a href=\"https:\/\/nsearchives.nseindia.com\/corporate\/FP_INE212S01015_12FEB2026.pdf\" target=\"_blank\" rel=\"noopener\">prospectus dated 11 February 2026<\/a> sets out the people numbers in one table, quoted here as filed:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Period end<\/th><th>Full time employees<\/th><th>Attrition rate<\/th><\/tr><\/thead><tbody><tr><td>31 March 2023<\/td><td>4,221<\/td><td>23.7%<\/td><\/tr><tr><td>31 March 2024<\/td><td>4,639<\/td><td>15.8%<\/td><\/tr><tr><td>30 September 2024<\/td><td>4,755<\/td><td>16.1%<\/td><\/tr><tr><td>31 March 2025<\/td><td>5,254<\/td><td>16.3%<\/td><\/tr><tr><td>30 September 2025<\/td><td>5,722<\/td><td>15.7%<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The prospectus counts attrition as voluntary leavers over the trailing 12 months divided by average headcount, and it lists employee benefits at 72.2% of revenue from operations for the six months to September 2025. In its risk factors it also says plainly that failing to attract and retain skilled AI and engineering staff could hurt the business. In other words, salaries are most of what Fractal spends money on. The same filing is <a href=\"https:\/\/fractal.ai\/docs\/Investor-Relations\/Offer-Documents\/Fractal-RHP.pdf\" target=\"_blank\" rel=\"noopener\">hosted on Fractal&#8217;s own investor pages<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-do-fractal-candidates-report-about-interviews-and-offer\">What do Fractal candidates report about interviews and offers?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">We read five Reddit threads from 2026 that discuss applying to or joining Fractal; four carried a usable account. They are what individual people report, not findings, and none of them speaks for Fractal.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In April 2026 an Azure data engineer with eight years of experience <a href=\"https:\/\/www.reddit.com\/r\/dataengineeringjobs\/comments\/1sppok3\/need_honest_opinion_about_fractal_analytics\/\" target=\"_blank\" rel=\"noopener\">asked for opinions on r\/dataengineeringjobs<\/a> after clearing two technical rounds. The first, they wrote, covered basic Python with lists and dictionaries, two SQL queries and a project walk through; the second went into Spark optimisation, running notebooks in parallel and the syntax for a merge upsert. Replies in the same thread described a client bench followed, after about two weeks without a project, by a company wide bench. One commenter claimed mass resignations; the prospectus table above shows attrition falling from 23.7% to 15.7%, so that claim is unverified and the filing points the other way.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In October 2026 a data engineer with three years of experience <a href=\"https:\/\/www.reddit.com\/r\/dataengineersindia\/comments\/1wvx89x\/need_help_regarding_fractal_analytics\/\" target=\"_blank\" rel=\"noopener\">reported on r\/dataengineersindia<\/a> that they cleared every round, then heard at the document submission stage that the position had been filled and no offer would be released, with their profile kept active for future openings. A reply alleged that staff inside the company were also without projects; that is one anonymous allegation and we could not verify it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Also in October 2026, a final year student <a href=\"https:\/\/www.reddit.com\/r\/IndiaCareers\/comments\/1x7k7gx\/got_placed_on_campus_at_fractal_analytics_and\/\" target=\"_blank\" rel=\"noopener\">wrote on r\/IndiaCareers that they had been placed on campus<\/a> at the start of fourth year and, with almost a year until joining, worried in public about whether the offer would survive. Long gaps between a campus offer and a joining date are common across Indian IT, and the worry is a reasonable one to raise with the recruiter in writing.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"how-do-you-apply-to-fractal-without-chasing-old-listings\">How do you apply to Fractal without chasing old listings?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Start at Workday and work outwards. If a role is not on the <a href=\"https:\/\/fractal.wd1.myworkdayjobs.com\/Careers\" target=\"_blank\" rel=\"noopener\">Fractal board<\/a>, assume it is filled or was never Fractal&#8217;s, whatever the listing elsewhere says. Sort by date and give the postings opened in the last month your first evening; the 2022 and 2023 ones can wait. Read the experience floor in the description before applying, because most titles here quietly mean senior.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The getAIwork board makes a useful cross check. On 11 November 2026 it carried exactly one Fractal listing, the <a href=\"https:\/\/getaiwork.com\/board\/job\/11216\/\">Data Scientist\/Senior Data Scientist Gen AI posting<\/a> in India, and among its 1,962 live listings it held 243 data science, data engineering and AI engineering titles, Fractal&#8217;s included, 194 of them graded advanced and 12 beginner. Listed pay on the board for coding and software roles had a median of $187,200 a year across 487 listings, per <a href=\"https:\/\/getaiwork.com\/stats.json\">stats.json<\/a> updated 10 November 2026; those are figures as listed, rates change and nothing is guaranteed. Browse the <a href=\"https:\/\/getaiwork.com\/board\/\">getAIwork board<\/a>, which is free and public with no sign up, if you want the same kind of work from employers whose boards are less crowded.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For comparison with other employers&#8217; own boards, our pages on <a href=\"https:\/\/getaiwork.com\/articles\/tenstorrent-careers\/\">Tenstorrent&#8217;s Greenhouse board<\/a> and <a href=\"https:\/\/getaiwork.com\/articles\/openai-careers\/\">OpenAI&#8217;s hiring and contractor routes<\/a> were built the same way, from the companies&#8217; job feeds on the day. And if a WhatsApp message offers you a Fractal job for a fee, you are not talking to Fractal; real employers do not charge applicants.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If Fractal is one of several employers you would happily join, take the <a href=\"https:\/\/getaiwork.com\/?h=compare&#038;utm_source=articles&#038;utm_medium=organic&#038;utm_content=fractal-ai-careers\">getAIwork match quiz<\/a> before you spend another week refreshing a single careers page.<\/p>\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 \">Is Fractal Analytics hiring freshers?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Its Workday board listed no fresher, intern or trainee role on 11 November 2026. Student hiring runs through Imagineer campus drives, which were not posted on the board that day.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-2\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Where are Fractal&#8217;s offices in India?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Postings on 11 November 2026 named Bengaluru, Mumbai, Gurugram, Pune, Chennai, Noida, Hyderabad and Coimbatore. The registered office in the prospectus is in Goregaon, Mumbai.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-3\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Does Fractal post salaries for Indian roles?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>No. None of the 68 Indian postings on 11 November 2026 printed a figure, while 21 of the 28 US postings did.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-4\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">What is Fractal ReBoot?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Fractal&#8217;s returnship for people back from a career break of at least a year: four paid months with a possible full time role after. Its three postings date from May 2023.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-5\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">How many people work at Fractal?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>5,722 full time employees on 30 September 2025, according to the prospectus dated 11 February 2026.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-6\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Is fractal.ai\/careers the official page?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Yes. On 11 November 2026 it redirected to Fractal&#8217;s Workday board at fractal.wd1.myworkdayjobs.com\/Careers, which is where applications go.<\/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>Fractal&#8217;s own Workday board read on 11 November 2026: 114 openings by city and job family, the US pay estimates as listed, the ReBoot returnship, prospectus headcount and what candidates report.<\/p>\n","protected":false},"author":2,"featured_media":1504,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","rank_math_title":"Fractal AI Careers: Roles by City, Pay and the IPO Filing","rank_math_description":"Fractal AI careers on its own Workday board on 11 November 2026: 114 openings by city, the US pay ranges as listed, and staff data from the prospectus.","rank_math_focus_keyword":"fractal ai careers","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-1507","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\/1507","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=1507"}],"version-history":[{"count":4,"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/posts\/1507\/revisions"}],"predecessor-version":[{"id":1513,"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/posts\/1507\/revisions\/1513"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/media\/1504"}],"wp:attachment":[{"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/media?parent=1507"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/categories?post=1507"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/getaiwork.com\/articles\/wp-json\/wp\/v2\/tags?post=1507"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}