LOG IN
SIGN UP
Canary Wharfian - Online Investment Banking & Finance Community.
Sign In
Forgot password?
Don't have an account?
or
Join Canary Wharfian
By signing up, you agree to our Terms & Conditions and Privacy Policy.
or

Software Engineer, Macro Middle Office Technology

ExperiencedNo visa sponsorship
Point72 logo

at Point72

Hedge Funds

Posted 14 days ago

No clicks

Based on the provided JobPosting data, here's a concise summary with relevant details: **Job Title:** Software Engineer, Macro Middle Office Technology **Company:** Point72 **Location:** Bengaluru, India **Job Type:** Full Time **Experience:** Experienced Professionals **Team:** Software & System Engineering (within Technology & Engineering area) **Summary ofRole:** - Develop and maintain software to ensure accurate and resilient trade processing, position keeping, and downstream workflows. - Diagnose and resolve complex trade, profit and loss, pricing, security reference data, and liquidation issues across production systems. - Improve straight-through trade processing by reducing manual intervention, strengthening controls, and automating recurring operational tasks. - Collaborate with trading, operations, and technology teams to understand workflow gaps and deliver practical engineering solutions. - Monitor application health, data quality, and processing status to identify issues before they affect business users. - Build tools and enhancements to simplify investigations, accelerate issue resolution, and improve transparency across post-trade processes. - Contribute to incident analysis by identifying root causes, documenting findings, and implementing durable fixes. - Modernize existing applications and data flows to enhance scalability, maintainability, and reliability for the Macro business. - Collaborate with global engineering teams to deliver changes safely across development, testing, and production environments. **Required Skills & Experience:** - Bachelor’s degree in computer science, engineering, mathematics, finance, or a related technical field. - 5+ years of software engineering experience supporting trading, post-trade, middle office, or financial data processing applications. - Strong programming skills in an object-oriented language and experience building maintainable production applications. - Proficient SQL skills with

Compensation
Not specified

Currency: Not specified

City
Bengaluru
Country
India

Full Job Description

@font-face { font-family: 'WistiaPlayerInterNumbersSemiBold'; font-feature-settings: 'tnum' 1; src: url(data:application/x-font-woff;charset=utf-8;base64,d09GMk9UVE8AAAaMAAwAAAAACgAAAAZBAAMD1wAAAAAAAAAAAAAAAAAAAAAAAAAADYpwGhQbIBwqBmAAgTIBNgIkAzAEBgWDGgcgGykJEZWkARP8KHCbm2tEznyIN98tPTUk9Ig3oiVV3pbDIzXa+f/fZgXpALFTZhBoMVFC9cp036dXvRKVmVnsxe+D+1NDQI5lG7ikZWEINIElTeBIdnxlhauQ5GQtoLHA/wN0riVdSx5xgbxF3KTbgnjVQ4B9P7YqCx7FpEZK+6ilx0AoopUh4aExJEKmkU+0ncdr4iFfKhdSFD9y91LCRaxNbVqvi0dND3rxI7ndUDR7EiwT3bhiua9krFA0oepCy2hCjwmjnjDjKjNTDz2ZuHtN8820Wfw/l8u4w4yV/f8/6uscs5rmiN00LcP4hAofyZUSyS3WinX0RGFFtnGrjj36x6dlNa57+PLTlrUisH2n9orfgd+R34XfDd0NsWDXwfwhvKHpbs3UBni37dBlPvO4KYn/PgylilcgSdw6sjsSSxsRGfIJgqhi14bKZCHcQvjUh/+3HMotTYrGLVYCxyMFjEnYC98yTAp6atAKVxaZ9eu2NMji8WTj4w/Y34elD60PPwb5bEywLqAX/amwmUo6TBCy14N/TL44jb3sE5JdUIPXXI0RBSoGt3BUObn4agKGIxxQhlyQacbstK4fS2mZoBtFNQ1bd+4zND2vQu6anl7gWFOj8MV2DVMtU44xMhpwElrrjA7zO5IqWojd/v1Vso6cqp91zC2YrGhDOy07Iqyza2q9smDIwUYek0AWbCt/8x78QmrzayQ6xtpmqfCYsLfgU9HdeP3UqutZTTNd/9Q8k08XzXzIxSdvLPda8YaeeZnkxUwql0nDKyUYdaWZjGAy7UDLHpVqBVHTxSV0wBy21El9u/491ik2J3YkdiP2LPZL41RBeeNUWtp97Bbn0Ee1g9wr9qqV/X+4R9nlPX03743dylnaXZyNp8v58yLOsFYCbUnCVQzjN+5QhlmKccO7aMkueWJggROd4qnw2x5LydUcg/NRamE3XMlkGovpRWPKWEavP74P2O1RANM/3gIIPJj7TX+lqU2geQuaBx4B/7cWAOx0ucTiEHYJU9y5DBuUMYNIHeHZz9tn+Fw2G5EBTqUlHRfRi4eB5wNlJsRsv5k4b6HyFkhIC6BO4LzPbWhW7rbCcxubeKHOc6UaBKZBMMd4j8XuRUynOCCa4EMfF9grkI1NcTaSAVtk1nrIOwFfeEBlQw4f4phb6zHzBOm0ZZ0dBcaZRVdYIo5xYiyOMEWONwQHmjKGE//VuRBgul1QrpyxmMvF4vGj0xfuuQrNt4tVTsRhEnjY9AuKa1FVLSEneQWzFd5WbO7hasX08ONUOVQgwQuVqACFXkSoIoUgK1hJEkAgbkG5CjqBS5wrRFuY2IfVwhRnLsVyZTZpatveGR4yEbYqbE6J80nM4aa+LD7Oqmr8PdSJFUQVynmgN4lerGQV1+uLdYzdOFWHPW/iK2gIQayhizQ0NMwyvBEBlrDczRfmU40CTtAHqLQGnjQG8MYkxm1MwJuTqjHwVCu9iRJ1C8ojWGHxUYowH0c5X57zpXquvlw0wzHHGMTfufxiJ1psFJTzq6nGeDvHF4LgmHHWCUViZBaInRn+cswnBi460RBPRYg9TRUQ0CZUC5LAT0qLLu50FpdTeBhjGf7/h4dg9hE0uqsBx/saOcYRDIfnOhfzGFBHyizcJK3p2edUjWrC0rn1aGjXtfVUCHMAKKhlxV8eTEIcV2jCOdKiqahv/MisrfRQVnxPJoOU62mR6pu2ZllIzo8zOZqQB7kWJXW2/c0aihata5PcIVJKfFRgHAETmEQVTCELptGMGcyigTnMJ1voUVN6uCZS9pV2hrwl7FYMvBwtUSd7L7E5qP9t7BIPRF7EcmA9ct2nIPHrxgWajtDltbXuBLuaY6qRZGa5ZlX5anfR0lYXaHUzVSFjZa8rfdhZ8rKXFZg21LVL5LFjI5TlDIbwnFGHE2dypHs6Q50N015dpOgLONEUlOqoiQgIaeCsjMq9gITDKwRMieQgKUy9UQY1BTFYZU2KpE2SkILMIjW8IdFwIKmMaK8oClJVssAEtFnz5dQ1s+w6EZoNGtPGQfzx+aoE8ikiP8GCYOWtgB+HBdWDaxACAZInVq14dZI85RRDvZGIghyONw59KV/BBEQ02P1ER8hmNGiURT2hQP8WfAY=); }
{ "@context": "https://schema.org", "@graph": [ { "@type": "WebSite", "@id": "http://careers.point72.com/#website", "url": "http://careers.point72.com/", "name": "Point72", "description": "", "potentialAction": [ ], "inLanguage": "en-US" }, , ] }
img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--duotone--dark-grayscale: url('#wp-duotone-dark-grayscale');--wp--preset--duotone--grayscale: url('#wp-duotone-grayscale');--wp--preset--duotone--purple-yellow: url('#wp-duotone-purple-yellow');--wp--preset--duotone--blue-red: url('#wp-duotone-blue-red');--wp--preset--duotone--midnight: url('#wp-duotone-midnight');--wp--preset--duotone--magenta-yellow: url('#wp-duotone-magenta-yellow');--wp--preset--duotone--purple-green: url('#wp-duotone-purple-green');--wp--preset--duotone--blue-orange: url('#wp-duotone-blue-orange');--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} try { Typekit.load({ async: true }); } catch (e) {}
Software Engineer, Macro Middle Office Technology Career
!function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='//static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); // Insert Twitter Pixel ID and Standard Event data below twq('init','o38l9'); twq('track','PageView'); _linkedin_partner_id = "592849"; window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || []; window._linkedin_data_partner_ids.push(_linkedin_partner_id); (function() {var s = document.getElementsByTagName("script")[0]; var b = document.createElement("script"); b.type = "text/javascript";b.async = true; b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js"; s.parentNode.insertBefore(b, s);} )(); (function(e,a){if(!a.__SV){var b=window;try{var c,l,i,j=b.location,g=j.hash;c=function(a,b){return(l=a.match(RegExp(b+"=([^&]*)")))?l[1]:null};g&&c(g,"state")&&(i=JSON.parse(decodeURIComponent(c(g,"state"))),"mpeditor"===i.action&&(b.sessionStorage.setItem("_mpcehash",g),history.replaceState(i.desiredHash||"",e.title,j.pathname+j.search)))}catch(m){}var k,h;window.mixpanel=a;a._i=[];a.init=function(b,c,f){function e(b,a){var c=a.split(".");2==c.length&&(b=b[c[0]],a=c[1]);b[a]=function(){b.push([a].concat(Array.prototype.slice.call(arguments, 0)))}}var d=a;"undefined"!==typeof f?d=a[f]=[]:f="mixpanel";d.people=d.people||[];d.toString=function(b){var a="mixpanel";"mixpanel"!==f&&(a+="."+f);b||(a+=" (stub)");return a};d.people.toString=function(){return d.toString(1)+".people (stub)"};k="disable time_event track track_pageview track_links track_forms register register_once alias unregister identify name_tag set_config reset people.set people.set_once people.increment people.append people.union people.track_charge people.clear_charges people.delete_user".split(" "); for(h=0;h
if(!window.sfdcPage) { window.sfdcPage = new ApexPage(); }UserContext.initialize();
(function enforceAnalyticsDelayGateEarly() { if (window.__p72AnalyticsDelayGateInstalled) { return; } window.__p72AnalyticsDelayGateInstalled = true; const ANALYTICS_DELAY_MS = 10000; const releaseAt = Date.now() + ANALYTICS_DELAY_MS; let gateOpen = false; const queuedScripts = []; const pendingScriptSrc = new WeakMap(); const pendingConnectedScripts = []; function isAnalyticsUrl(url) { if (!url) { return false; } try { const parsed = new URL(url, window.location.href); const host = parsed.hostname.toLowerCase(); return host === "www.googletagmanager.com" || host === "googletagmanager.com" || host === "www.google-analytics.com" || host === "google-analytics.com"; } catch (error) { return false; } } function queueScript(parent, node, referenceNode, mode) { queuedScripts.push({ parent, node, referenceNode, mode, }); } function rememberDeferredSrc(scriptNode, srcValue) { pendingScriptSrc.set(scriptNode, srcValue); if (scriptNode.isConnected) { pendingConnectedScripts.push(scriptNode); } } function getScriptSrc(scriptNode) { if (!scriptNode || scriptNode.tagName !== "SCRIPT") { return ""; } return pendingScriptSrc.get(scriptNode) || scriptNode.getAttribute("src") || scriptNode.src || ""; } const originalAppendChild = Node.prototype.appendChild; const originalInsertBefore = Node.prototype.insertBefore; const originalSetAttribute = Element.prototype.setAttribute; const originalScriptSrcDescriptor = Object.getOwnPropertyDescriptor(HTMLScriptElement.prototype, "src"); function applyPendingSrc(scriptNode) { if (!scriptNode || scriptNode.tagName !== "SCRIPT") { return; } const deferredSrc = pendingScriptSrc.get(scriptNode); if (!deferredSrc) { return; } pendingScriptSrc.delete(scriptNode); if (originalScriptSrcDescriptor && typeof originalScriptSrcDescriptor.set === "function") { originalScriptSrcDescriptor.set.call(scriptNode, deferredSrc); } else { originalSetAttribute.call(scriptNode, "src", deferredSrc); } } Node.prototype.appendChild = function patchedAppendChild(node) { const src = getScriptSrc(node); if (!gateOpen && src && isAnalyticsUrl(src)) { queueScript(this, node, null, "append"); return node; } return originalAppendChild.call(this, node); }; Node.prototype.insertBefore = function patchedInsertBefore(node, referenceNode) { const src = getScriptSrc(node); if (!gateOpen && src && isAnalyticsUrl(src)) { queueScript(this, node, referenceNode, "insert"); return node; } return originalInsertBefore.call(this, node, referenceNode); }; Element.prototype.setAttribute = function patchedSetAttribute(name, value) { if (!gateOpen && this.tagName === "SCRIPT" && typeof name === "string" && name.toLowerCase() === "src") { const src = String(value || ""); if (src && isAnalyticsUrl(src)) { rememberDeferredSrc(this, src); return; } } return originalSetAttribute.call(this, name, value); }; if (originalScriptSrcDescriptor && typeof originalScriptSrcDescriptor.get === "function" && typeof originalScriptSrcDescriptor.set === "function") { Object.defineProperty(HTMLScriptElement.prototype, "src", { configurable: true, enumerable: originalScriptSrcDescriptor.enumerable, get: function patchedScriptSrcGet() { if (pendingScriptSrc.has(this)) { return pendingScriptSrc.get(this); } return originalScriptSrcDescriptor.get.call(this); }, set: function patchedScriptSrcSet(value) { const src = String(value || ""); if (!gateOpen && src && isAnalyticsUrl(src)) { rememberDeferredSrc(this, src); return src; } pendingScriptSrc.delete(this); return originalScriptSrcDescriptor.set.call(this, src); }, }); } function flushQueuedScripts() { gateOpen = true; if (pendingConnectedScripts.length > 0) { const uniqueConnectedScripts = Array.from(new Set(pendingConnectedScripts)); uniqueConnectedScripts.forEach((scriptNode) => { try { applyPendingSrc(scriptNode); } catch (error) { // Ignore failures from stale nodes; other script paths may retry safely. } }); } while (queuedScripts.length > 0) { const item = queuedScripts.shift(); try { if (!item || !item.parent || !item.node) { continue; } applyPendingSrc(item.node); if (item.mode === "insert" && item.referenceNode && item.referenceNode.parentNode === item.parent) { originalInsertBefore.call(item.parent, item.node, item.referenceNode); } else { originalAppendChild.call(item.parent, item.node); } } catch (error) { // Ignore failures from stale nodes; other script paths may retry safely. } } } const remainingDelay = Math.max(releaseAt - Date.now(), 0); window.setTimeout(flushQueuedScripts, remainingDelay); })();
P72 Careers - Header
.c-cookie-consent{ opacity:1; position:relative; top:0; transform:translateY(0); transition:transform .4s cubic-bezier(.65,0,.35,1); transition:transform var(--p72-animation-duration) var(--p72-animation-timing); } .c-cookie-consent__container{ align-items:flex-start; display:flex;gap:1rem; gap:var(--p72-space); padding-bottom: .5rem; padding-bottom:var(--p72-space-xs); padding-top:.5rem; padding-top:var(--p72-space-xs) } .c-cookie-consent__content>:last-child{ /* margin-bottom:0*/ } /* .c-cookie-consent__content a{ -webkit-text-decoration:underline; text-decoration:underline }*/ .c-cookie-consent__close{ position:relative; right:-.75rem; right:calc(var(--p72-space-sm)*-1); top:-.75rem; top:calc(var(--p72-space-sm)*-1) } .c-cookie-consent.is-hidden{ opacity:0;transform:translateY(-100%) } .c-menu-mobile__menu-item > a, .c-menu-mobile__menu-item > a span { color: #18181a; /* matches your current inline color */ } .c-menu-mobile__button:hover { background: #f5f4ee !important; border-color: #18181a !important; color: #18181a !important; } .c-menu-mega-careers ul a:focus, .c-menu-mega-careers ul a:hover { color: #b08725 !important; color: var(--p72-color-content-stronger) !important; } li.c-menu-mobile__menu-item > a.c-menu-mobile__link, li.c-menu-mobile__menu-item > a.c-menu-mobile__link span { color: #18181a !important; } li.c-menu-mobile__menu-item > a.c-menu-mobile__link:hover, li.c-menu-mobile__menu-item > a.c-menu-mobile__link:hover span { color: var(--p72-color-content-stronger, #b08725) !important; } li.c-menu-mobile__menu-item > a.c-menu-mobile__link, li.c-menu-mobile__menu-item > a.c-menu-mobile__link span { color: #18181a !important; } li.o-icon > a.o-icon:hover, li.o-icon > a.o-icon:hover span { color: var(--p72-color-content-stronger, #b08725) !important; } .o-button--outlined { background-color: transparent; color: black; border: 1px solid black; transition: all 0.3s ease; } .o-button--outlined:focus, .o-button--outlined:hover { background-color: var(--p72-color-button-background, #b08725); border-color: var(--p72-color-button-background, #b08725); color: var(--p72-color-button-text, #f5f4ee); } .c-menu-mega { opacity: 0; visibility: hidden; transform: translateY(5px); transition: opacity 0.15s ease-out, transform 0.15s ease-out; will-change: opacity, transform; } body.header-scrolled .c-header { top: var(--p72-cookie-consent-height, 0px) !important; } body.header-scrolled .c-menu-mobile { /*top: 0 !important;*/ } /* Header common style */ .c-header, .c-header.l-wrap, .c-header .l-wrap { transition: none !important; will-change: auto; } /* Optional: reset header when scrolled */ body.header-scrolled .c-header, body.header-scrolled .c-header.l-wrap, body.header-scrolled .c-header .l-wrap { top: 0 !important; } @media only screen and (max-width:768px) { .c-cookie-consent__container { padding: 8px 10px !important; } body.header-scrolled .c-header, body.header-scrolled .c-header.l-wrap { padding-top: 13px; !important; } body.header-scrolled .c-header .l-wrap { padding-top: 13px; !important; } .c-cookie-consent__content p,.c-cookie-consent__content a { max-width: 100% !important; font-family:"Aptos", sans-serif; font-size:14px !important; line-height:18.2px !important; } } /* ========================================================= Combined CSS: c-menu-mobile + u-hide-after--md + u-spacing--lg Includes required variables + hamburger related CSS ========================================================= */ /* ========================================================= Required Variables ========================================================= */ :root { --p72-header-height: 100px; --p72-space-xxs: 0.25rem; --p72-space-xs: 0.5rem; --p72-space-sm: 0.75rem; --p72-space: 1rem; --p72-space-md: 1.5rem; --p72-space-lg: 2rem; --p72-animation-duration: 0.4s; --p72-animation-duration-long: 0.6s; --p72-animation-timing: cubic-bezier(0.65, 0, 0.35, 1); --p72-z-index-5: 5; --p72-border-width: 1px; --p72-font-family-secondary: Aptos, sans-serif; --p72-font-weight-bold: 700; --p72-font-size-heading-xs: 1.25rem; --p72-line-height-tight: 1.1; --p72-letter-spacing-wide: 0.06em; --p72-typography-heading-xs: var(--p72-font-weight-bold) var(--p72-font-size-heading-xs) / var(--p72-line-height-tight) var(--p72-font-family-secondary); --p72-color-brand-cream: #f5f4ee; --p72-color-brand-gold: #b08725; --p72-color-brand-slate: #505a6b; --p72-color-brand-charcoal: #18181a; --p72-color-background: var(--p72-color-brand-charcoal); --p72-color-content: var(--p72-color-brand-cream); --p72-color-content-stronger: var(--p72-color-brand-gold); --p72-color-border: var(--p72-color-brand-slate); --p72-cookie-consent-height: 0px; --p72-icon-size-sm: 0.9375rem; } /* ========================================================= Utility: u-hide-after--md Hidden after medium breakpoint ========================================================= */ @media (min-width: 769px) { .u-hide-after--md { display: none !important; } } /* ========================================================= Utility: u-spacing--lg Adds large vertical spacing between direct children ========================================================= */ .u-spacing--lg > * + * { margin-top: 2rem; margin-top: var(--p72-space-lg); } /* ========================================================= Mobile Menu Container ========================================================= */ .c-menu-mobile { bottom: 0; height: calc(100% - var(--p72-cookie-consent-height)); overflow-y: scroll; padding: calc(100px + 1.5rem) 1.5rem 1.5rem; padding: calc(var(--p72-header-height) + var(--p72-space-md)) var(--p72-space-md) var(--p72-space-md) var(--p72-space-md); position: fixed; right: 0; top: var(--p72-cookie-consent-height) !important; transform: translate3d(100%, 0, 0); transition: all 0.6s cubic-bezier(0.65, 0, 0.35, 1); transition: all var(--p72-animation-duration-long) var(--p72-animation-timing); visibility: hidden; width: 100%; z-index: 5; z-index: var(--p72-z-index-5); background-color: var(--p72-color-background); color: var(--p72-color-content); } /* ========================================================= Mobile Menu Open State Add class c-menu-mobile-is-active to body or parent ========================================================= */ @media (max-width: 767px) { .c-menu-mobile-is-active .c-menu-mobile { transform: translateZ(0); visibility: visible; } body.c-menu-mobile-is-active { overflow: hidden; } } /* ========================================================= Mobile Menu Item ========================================================= */ .c-menu-mobile__menu-item { border-bottom: 1px solid #505a6b; border-bottom: var(--p72-border-width) solid var(--p72-color-border); display: flex; flex-flow: column nowrap; gap: 0.25rem; gap: var(--p72-space-xxs); overflow: hidden; width: 100%; } /* ========================================================= Mobile Menu Link / Button ========================================================= */ .c-menu-mobile__link { align-items: center; background: transparent; border: none; color: #f5f4ee; color: var(--p72-color-content); cursor: pointer; display: flex; font: 700 1.25rem/1.1 Aptos, sans-serif; font: var(--p72-typography-heading-xs); gap: 0.25rem; gap: var(--p72-space-xxs); justify-content: space-between; letter-spacing: 0.06em; letter-spacing: var(--p72-letter-spacing-wide); padding: 0.75rem 0; padding: var(--p72-space-sm) 0; text-transform: uppercase; transition: color 0.4s cubic-bezier(0.65, 0, 0.35, 1); transition: color var(--p72-animation-duration) var(--p72-animation-timing); width: 100%; text-align: left; } @media (max-width: 768px) { .c-menu-mobile__link { font-size: 1.0625rem; } } .c-menu-mobile__link:focus, .c-menu-mobile__link:hover { color: #b08725; color: var(--p72-color-content-stronger); } .c-menu-mobile__link svg { height: var(--p72-icon-size-sm); min-width: var(--p72-icon-size-sm); width: var(--p72-icon-size-sm); } /* ========================================================= Mobile Sub Menu ========================================================= */ .c-menu-mobile--sub-menu { display: none; } .c-menu-mobile--sub-menu ul { display: flex; flex-direction: column; gap: 0.25rem; gap: var(--p72-space-xxs); margin-bottom: 0.75rem; margin-bottom: var(--p72-space-sm); list-style: none; padding: 0; } .c-menu-mobile--sub-menu a { color: #f5f4ee; color: var(--p72-color-content); text-decoration: none; } @media (max-width: 768px) { .c-menu-mobile--sub-menu a { font-size: 0.875rem; } } .c-menu-mobile--sub-menu a:focus, .c-menu-mobile--sub-menu a:hover { color: #b08725; color: var(--p72-color-content-stronger); } /* Show submenu when menu item is active */ .c-menu-mobile__menu-item.this-is-active .c-menu-mobile--sub-menu { display: block; } /* ========================================================= Header Style When Mobile Menu Is Active ========================================================= */ .c-menu-mobile-is-active .c-header { backdrop-filter: blur(0); border-color: #505a6b; border-color: var(--p72-color-border); } /* ========================================================= Hamburger Button Base ========================================================= */ .o-button-hamburger { align-items: center; -webkit-appearance: none; -moz-appearance: none; appearance: none; background: transparent; border: none; color: #f5f4ee; color: var(--p72-color-content); cursor: pointer; display: flex; height: 50px; padding: 0; --p72-hamburger-line-height: 1px; --p72-hamburger-line-spacing: 6px; --p72-hamburger-line-width: 25px; --p72-hamburger-lines-total-height: calc( var(--p72-hamburger-line-spacing) * 2 + var(--p72-hamburger-line-height) * 3 ); } .o-button-hamburger__label { font: 700 1rem/1.1 Aptos, sans-serif; letter-spacing: 0.06em; letter-spacing: var(--p72-letter-spacing-wide); text-transform: uppercase; } .o-button-hamburger__lines { height: var(--p72-hamburger-lines-total-height); margin-left: 0.25rem; margin-left: var(--p72-space-xxs); position: relative; transition: transform 0.5s ease-in-out; width: var(--p72-hamburger-line-width); } .o-button-hamburger__line { background-color: currentcolor; height: var(--p72-hamburger-line-height); left: 0; position: absolute; transition: transform 0.3s ease, top 0.3s ease, opacity 0.3s ease; width: 100%; } .o-button-hamburger__line:first-child { top: 0; } .o-button-hamburger__line:nth-child(2) { top: calc( var(--p72-hamburger-line-spacing) + var(--p72-hamburger-line-height) ); } .o-button-hamburger__line:nth-child(3) { top: calc( (var(--p72-hamburger-line-spacing) + var(--p72-hamburger-line-height)) * 2 ); } /* ========================================================= Hamburger Active Animation Triggered by .c-menu-mobile-is-active ========================================================= */ .c-menu-mobile-is-active .o-button-hamburger__line:first-child { top: 50%; transform: rotate(45deg); } .c-menu-mobile-is-active .o-button-hamburger__line:nth-child(2) { opacity: 0; } .c-menu-mobile-is-active .o-button-hamburger__line:nth-child(3) { top: 50%; transform: rotate(-45deg); } /** * Extracted scroll-related functionality from the bundled app. * * Requires: * - GSAP * - ScrollTrigger * - Optional: jQuery if using the jQuery-based class add below * * If you are using ES modules: * * import gsap from "gsap"; * import ScrollTrigger from "gsap/ScrollTrigger"; * * gsap.registerPlugin(ScrollTrigger); */ /* ========================================================================== Cookie consent scroll/resize height tracking ========================================================================== */ const COOKIE_NOTICE_KEY = "p72_cookie_notice_dismissed"; /** * Global analytics gate: defer GA/GTM script injection attempts until 10s. * This catches third-party code paths that try to load tags before our * CookieConsentTracking delay executes. */ (function enforceAnalyticsDelayGate() { if (window.__p72AnalyticsDelayGateInstalled) { return; } window.__p72AnalyticsDelayGateInstalled = true; const ANALYTICS_DELAY_MS = 10000; const releaseAt = Date.now() + ANALYTICS_DELAY_MS; let gateOpen = false; const queuedScripts = []; function isAnalyticsUrl(url) { if (!url) { return false; } try { const parsed = new URL(url, window.location.href); const host = parsed.hostname.toLowerCase(); return host === "www.googletagmanager.com" || host === "googletagmanager.com" || host === "www.google-analytics.com" || host === "google-analytics.com"; } catch (error) { return false; } } function queueScript(parent, node, referenceNode, mode) { queuedScripts.push({ parent, node, referenceNode, mode, }); } const originalAppendChild = Node.prototype.appendChild; const originalInsertBefore = Node.prototype.insertBefore; Node.prototype.appendChild = function patchedAppendChild(node) { const src = node && node.tagName === "SCRIPT" ? node.src : ""; if (!gateOpen && src && isAnalyticsUrl(src)) { queueScript(this, node, null, "append"); return node; } return originalAppendChild.call(this, node); }; Node.prototype.insertBefore = function patchedInsertBefore(node, referenceNode) { const src = node && node.tagName === "SCRIPT" ? node.src : ""; if (!gateOpen && src && isAnalyticsUrl(src)) { queueScript(this, node, referenceNode, "insert"); return node; } return originalInsertBefore.call(this, node, referenceNode); }; function flushQueuedScripts() { gateOpen = true; while (queuedScripts.length > 0) { const item = queuedScripts.shift(); try { if (!item || !item.parent || !item.node) { continue; } if (item.mode === "insert" && item.referenceNode && item.referenceNode.parentNode === item.parent) { originalInsertBefore.call(item.parent, item.node, item.referenceNode); } else { originalAppendChild.call(item.parent, item.node); } } catch (error) { // Ignore failures from stale nodes; other script paths may retry safely. } } } const remainingDelay = Math.max(releaseAt - Date.now(), 0); window.setTimeout(flushQueuedScripts, remainingDelay); })(); const cookieConsentScroll = { _raf: null, _scrollBound: false, _onScroll: null, isDismissed() { try { return sessionStorage.getItem(COOKIE_NOTICE_KEY) === "1"; } catch (error) { return false; } }, setDismissed() { try { sessionStorage.setItem(COOKIE_NOTICE_KEY, "1"); } catch (error) {} }, showBanner() { const banner = document.querySelector(".js-cookie-consent"); if (banner) { banner.classList.remove("is-hidden"); banner.classList.add("is-visible"); this.updateHeightVar(); this.bindScroll(); } }, hideBanner() { const banner = document.querySelector(".js-cookie-consent"); if (banner) { banner.classList.remove("is-visible"); banner.classList.add("is-hidden"); this.unbindScroll(); this.updateHeightVar(); } }, updateHeightVar() { const banner = document.querySelector(".js-cookie-consent"); let height = 0; if (banner && !banner.classList.contains("is-hidden")) { const rect = banner.getBoundingClientRect(); height = Math.min( Math.max(rect.bottom, 0), banner.offsetHeight ); } document.documentElement.style.setProperty( "--p72-cookie-consent-height", `${height}px` ); }, onScroll() { if (!this._raf) { this._raf = window.requestAnimationFrame(() => { this._raf = null; this.updateHeightVar(); }); } }, bindScroll() { if (!this._scrollBound) { this._scrollBound = true; this._onScroll = this.onScroll.bind(this); window.addEventListener("scroll", this._onScroll, { passive: true, }); window.addEventListener("resize", this._onScroll, { passive: true, }); } }, unbindScroll() { if (this._scrollBound) { this._scrollBound = false; window.removeEventListener("scroll", this._onScroll); window.removeEventListener("resize", this._onScroll); } }, observeHeight() { const banner = document.querySelector(".js-cookie-consent"); if (!banner || typeof ResizeObserver === "undefined") return; new ResizeObserver(() => this.updateHeightVar()).observe(banner); }, handleClose() { this.setDismissed(); this.hideBanner(); }, init() { const banner = document.querySelector(".js-cookie-consent"); if (banner) { if (this.isDismissed()) { this.updateHeightVar(); } else { this.showBanner(); } this.observeHeight(); } else { document.documentElement.style.setProperty( "--p72-cookie-consent-height", "0px" ); } }, }; const CookieConsentTracking = { gaConfig: null, getGAConfig() { if (this.gaConfig !== null) { return this.gaConfig; } const cookieConsentEl = document.querySelector(".js-cookie-consent"); const gaConfigRaw = cookieConsentEl && (cookieConsentEl.dataset.p72GaConfig || cookieConsentEl.dataset.gaConfig); if (gaConfigRaw) { try { const config = JSON.parse(gaConfigRaw); this.gaConfig = Array.isArray(config) ? config.filter((item) => item.tracking_id && item.tag_type) : []; } catch (error) { console.warn("Cookie Consent: Invalid GA config", error); this.gaConfig = []; } } else { this.gaConfig = []; } return this.gaConfig; }, isDismissed() { try { return sessionStorage.getItem(COOKIE_NOTICE_KEY) === "1"; } catch (error) { return false; } }, setDismissed() { try { sessionStorage.setItem(COOKIE_NOTICE_KEY, "1"); } catch (error) { // Ignore sessionStorage errors } }, loadGTM(trackingId) , loadGtagAnalytics(configs) { if (configs.length === 0) { return; } window.dataLayer = window.dataLayer || []; function gtag() { window.dataLayer.push(arguments); } window.gtag = gtag; const primaryConfig = configs.find((item) => item.tag_type === "ga4") || configs[0]; const script = document.createElement("script"); script.async = true; script.src = `https://www.googletagmanager.com/gtag/js?id=${primaryConfig.tracking_id}`; document.head.appendChild(script); gtag("js", new Date()); configs.forEach((item) => { gtag("config", item.tracking_id); }); }, loadCustomScripts() { const template = document.querySelector("template.js-tracking-scripts"); if (!template) { return; } const clonedContent = template.content.cloneNode(true); clonedContent.querySelectorAll("script").forEach((script) => { const newScript = document.createElement("script"); for (const attr of script.attributes) { newScript.setAttribute(attr.name, attr.value); } if (script.textContent) { newScript.textContent = script.textContent; } script.parentNode.replaceChild(newScript, script); }); document.body.appendChild(clonedContent); }, loadTrackingPixels() { if (window.p72PixelsLoaded) { return; } window.p72PixelsLoaded = true; const gaConfig = this.getGAConfig(); const gtmConfigs = gaConfig.filter((item) => item.tag_type === "gtm"); const analyticsConfigs = gaConfig.filter( (item) => item.tag_type === "ga4" || item.tag_type === "ua" ); gtmConfigs.forEach((item) => { this.loadGTM(item.tracking_id); }); this.loadGtagAnalytics(analyticsConfigs); this.loadCustomScripts(); }, scheduleTrackingPixels() { if (window.p72PixelsScheduled) { return; } window.p72PixelsScheduled = true; window.setTimeout(() => { this.loadTrackingPixels(); }, 10000); }, updateHeightVar() { const cookieConsentEl = document.querySelector(".js-cookie-consent"); let height = 0; if (cookieConsentEl && !cookieConsentEl.classList.contains("is-hidden")) { const rect = cookieConsentEl.getBoundingClientRect(); height = Math.min(Math.max(rect.bottom, 0), cookieConsentEl.offsetHeight); } document.documentElement.style.setProperty( "--p72-cookie-consent-height", `${height}px` ); }, showBanner() { const cookieConsentEl = document.querySelector(".js-cookie-consent"); if (!cookieConsentEl) { return; } cookieConsentEl.classList.remove("is-hidden"); cookieConsentEl.classList.add("is-visible"); this.updateHeightVar(); this.bindScroll(); }, hideBanner() { const cookieConsentEl = document.querySelector(".js-cookie-consent"); if (!cookieConsentEl) { return; } cookieConsentEl.classList.remove("is-visible"); cookieConsentEl.classList.add("is-hidden"); this.unbindScroll(); this.updateHeightVar(); }, onScroll() { if (this._raf) { return; } this._raf = window.requestAnimationFrame(() => { this._raf = null; this.updateHeightVar(); }); }, bindScroll() { if (this._scrollBound) { return; } this._scrollBound = true; this._onScroll = this.onScroll.bind(this); window.addEventListener("scroll", this._onScroll, { passive: true }); window.addEventListener("resize", this._onScroll, { passive: true }); }, unbindScroll() { if (!this._scrollBound) { return; } this._scrollBound = false; window.removeEventListener("scroll", this._onScroll); window.removeEventListener("resize", this._onScroll); }, observeHeight() { const cookieConsentEl = document.querySelector(".js-cookie-consent"); if (!cookieConsentEl || typeof ResizeObserver === "undefined") { return; } new ResizeObserver(() => { this.updateHeightVar(); }).observe(cookieConsentEl); }, handleClose() { this.setDismissed(); this.hideBanner(); }, init() { const cookieConsentEl = document.querySelector(".js-cookie-consent"); if (cookieConsentEl) { this.scheduleTrackingPixels(); if (this.isDismissed()) { this.updateHeightVar(); } else { this.showBanner(); } this.observeHeight(); } else { document.documentElement.style.setProperty( "--p72-cookie-consent-height", "0px" ); } }, }; /* ========================================================================== Smooth anchor scrolling with header offset ========================================================================== */ function getAnchorTarget(hash) { if (!hash || hash === "#") return null; const id = hash.startsWith("#") ? hash.substring(1) : hash; let target = document.getElementById(id); if (!target) { try { target = document.querySelector(hash); } catch (error) { return null; } } return target; } function scrollToElementWithHeaderOffset(element) { const headerHeight = parseInt( getComputedStyle(document.documentElement) .getPropertyValue("--p72-header-height") ) || 0; const top = element.getBoundingClientRect().top + window.pageYOffset - headerHeight; window.scrollTo({ top, behavior: "smooth", }); } function initSmoothAnchorScrolling() { document.addEventListener("click", function (event) { const link = event.target.closest( 'a[href^="#"]:not([href="#"])' ); if (!link) return; const href = link.getAttribute("href"); const target = getAnchorTarget(href); if (target) { event.preventDefault(); scrollToElementWithHeaderOffset(target); if (history.pushState) { history.pushState(null, null, href); } } }); if (window.location.hash) { setTimeout(() => { const target = getAnchorTarget(window.location.hash); if (target) { scrollToElementWithHeaderOffset(target); } }, 100); } } /* ========================================================================== GSAP ScrollTrigger animations ========================================================================== */ function initGsapScrollAnimations() { if (typeof gsap === "undefined" || typeof ScrollTrigger === "undefined") { console.warn("GSAP or ScrollTrigger is not available."); return; } gsap.registerPlugin(ScrollTrigger); document.querySelectorAll(".js-gsap-trigger").forEach((trigger) => { /** * Fade in on scroll */ const fadeItems = trigger.querySelectorAll(".js-gsap-fade-in"); if (fadeItems.length > 0) { fadeItems.forEach((item, index) => { gsap.to(item, { opacity: 1, duration: 0.8, ease: "power1.in", scrollTrigger: item, delay: 0.1 * index, }); }); } /** * Scale in on scroll */ const scaleItems = trigger.querySelectorAll(".js-gsap-scale-in"); if (scaleItems.length > 0) { scaleItems.forEach((item, index) => { gsap.to(item, { scale: 1, opacity: 1, duration: 0.8, ease: "power1.in", scrollTrigger: item, delay: 0.1 * index, transformOrigin: "center center", }); }); } /** * Slide up on scroll */ const slideUpItems = trigger.querySelectorAll(".js-gsap-slide-in-up"); if (slideUpItems.length > 0) { slideUpItems.forEach((item, index) => { gsap.to(item, { opacity: 1, y: 0, duration: 0.8, ease: "power1.in", scrollTrigger: item, delay: 0.1 * index, }); }); } /** * Card entrance animation * * Note: * In the original bundle this is inside `.js-gsap-trigger`, * but it is not actually tied to ScrollTrigger. It runs immediately. */ const cards = trigger.querySelectorAll(".js-card-animate"); if (cards.length > 0) { console.log("Found cards to animate:", cards.length); gsap.set(cards, { opacity: 0, y: 12, filter: "blur(0.5px)", clearProps: "none", }); gsap.to(cards, { opacity: 1, y: 0, filter: "blur(0px)", duration: 0.3, ease: "power2.out", stagger: 0.03, delay: 0.05, }); } }); /** * Generic scroll class trigger */ gsap.utils.toArray(".u-scroll-animation").forEach((element) => { ScrollTrigger.create({ trigger: element, start: "top 90%", onEnter: () => { element.classList.add("u-scroll-animate"); }, }); }); } /* ========================================================================== Load-more card animation ========================================================================== */ function initLoadMoreScrollRelatedAnimation() { if (typeof jQuery === "undefined") { console.warn("jQuery is not available."); return; } if (typeof gsap === "undefined") { console.warn("GSAP is not available."); return; } const $ = jQuery; $(".js-button-load-more").on("click", () => { const hiddenItems = $(".js-filter-item.u-display--none").not(".ft-hidden"); const itemsToShow = hiddenItems.slice(0, 8); if (itemsToShow.length > 0) { const animatedCards = itemsToShow.find(".js-card-animate").get(); if (animatedCards.length > 0) { gsap.set(animatedCards, { opacity: 0, y: 12, filter: "blur(0.5px)", }); } itemsToShow.removeClass("u-display--none"); const filterContainer = $(".js-filter-container"); try { if (filterContainer.data("isotope")) { filterContainer.isotope("layout"); } } catch (error) {} if (animatedCards.length > 0) { gsap.to(animatedCards, { opacity: 1, y: 0, filter: "blur(0px)", duration: 0.4, ease: "power2.out", stagger: 0.04, }); } $(".js-button-load-more") .blur() .removeClass("active focus"); if (hiddenItems.length <= 8) { $(".js-button-load-more").hide(); } } }); } /* ========================================================================== Optional: Swiper timeline with horizontal scroll/drag behavior ========================================================================== */ /** * The bundle initializes a horizontal Swiper timeline. * * Requires Swiper and Navigation module. * * In the original minified code: * - fl = Swiper * - ml = Navigation module */ function initTimelineSwiper() { if (typeof Swiper === "undefined") { console.warn("Swiper is not available."); return; } // If using Swiper modules globally, adjust as needed. // Swiper.use([Navigation]); new Swiper(".js-timeline", { slidesPerView: 1, spaceBetween: "-10%", breakpoints: { 640: { slidesPerView: 2, }, 768: { slidesPerView: 3, }, 1024: { slidesPerView: 4, }, 1200: { slidesPerView: 5, }, }, direction: "horizontal", freeMode: true, navigation: { nextEl: ".swiper-button-next", prevEl: ".swiper-button-prev", }, }); } /* ========================================================================== Optional: Posts slider horizontal drag/scroll behavior ========================================================================== */ class PostsSlider { constructor() { this.sliders = document.querySelectorAll(".js-posts-slider"); this.swiperInstances = []; this.init(); } init() { if (!this.sliders.length) return; if (typeof Swiper === "undefined") { console.warn("Swiper is not available."); return; } // If using Swiper modules globally, adjust as needed. // Swiper.use([Navigation]); this.sliders.forEach((slider) => { const container = slider.querySelector(".js-posts-slider-container"); if (!container) return; const prevButton = slider.querySelector(".js-posts-slider-prev"); const nextButton = slider.querySelector(".js-posts-slider-next"); const swiper = new Swiper(container, { slidesPerView: "auto", spaceBetween: 0, grabCursor: true, watchSlidesProgress: true, wrapperClass: "js-posts-slider-wrapper", slideClass: "js-posts-slider-card", navigation: { nextEl: nextButton, prevEl: prevButton, }, on: { init: function () { if (prevButton) { prevButton.classList.add("swiper-button-disabled"); prevButton.setAttribute("disabled", "disabled"); } }, slideChange: function () { if (prevButton) { if (this.isBeginning) { prevButton.classList.add("swiper-button-disabled"); prevButton.setAttribute("disabled", "disabled"); } else { prevButton.classList.remove("swiper-button-disabled"); prevButton.removeAttribute("disabled"); } } if (nextButton) { if (this.isEnd) { nextButton.classList.add("swiper-button-disabled"); nextButton.setAttribute("disabled", "disabled"); } else { nextButton.classList.remove("swiper-button-disabled"); nextButton.removeAttribute("disabled"); } } }, }, }); this.swiperInstances.push(swiper); }); } } /* ========================================================================== Main initializer ========================================================================== */ function initExtractedScrollFunctionality() { cookieConsentScroll.init(); CookieConsentTracking.init(); initSmoothAnchorScrolling(); initGsapScrollAnimations(); initLoadMoreScrollRelatedAnimation(); initTimelineSwiper(); new PostsSlider(); } /* ========================================================================== DOM ready ========================================================================== */ document.addEventListener("DOMContentLoaded", () => { initExtractedScrollFunctionality(); });

Point72, L.P. and its affiliates and our third-party partners use cookies and similar technologies to view and retain your site interactions to perform analytics, enable site functionality and assist our marketing efforts exclusively for recruiting purposes. By continuing to use our site, you consent to these data practices, as described in our Privacy Policy.

  • About Us
  • Careers
  • Perspectives
Browse Open Roles
Menu
  • About Us
    • What We Do
    • Our Values
    • Leadership
    • Locations
  • Careers
    • Working Here
    • Students & Early-Career
    • Point72 Academy
    • Fundamental Equities
    • Cubist Systematic
    • Point72 LaunchPoint
    • Global Macro
    • Private Investments
    • Investment Services
    • Proprietary Research
  • Perspectives
Browse Open Roles
What We Do
Learn about the strategies and asset classes that make up our global business.
Our Values
See how we support our people, communities, and the planet through our ESG efforts.
Leadership
Meet the team responsible for shaping our firm.
Locations
Find us in financial hubs across the globe as we pursue the worlds best talent.

Working Here

Learn about the culture and community you can expect when you join us.
Define Your Path

Students & Early-Career

  • All Programs
  • Point72 Academy

Experienced Professionals

  • Fundamental Equities
  • Cubist Systematic
  • Point72 LaunchPoint
  • Global Macro
  • Private Investments
  • Investment Services
  • Proprietary Research
if (window.innerWidth > 768) { document.write(' /* rules */ <\/script>'); } /* rules */ !function(){"use strict";var r,n={},e={};function t(r){var o=e[r];if(void 0!==o)return o.exports;var u=e[r]={exports:{}};return n[r].call(u.exports,u,u.exports,t),u.exports}t.m=n,r=[],t.O=function(n,e,o,u){if(!e){var i=1/0;for(s=0;s
=u)&&Object.keys(t.O).every(function(r){return t.O[r](e[a])})?e.splice(a--,1):(f=!1,u0&&r[s-1][2]>u;s--)r[s]=r[s-1];r[s]=[e,o,u]},t.n=function(r){var n=r&&r.__esModule?function(){return r.default}:function(){return r};return t.d(n,{a:n}),n},t.d=function(r,n){for(var e in n)t.o(n,e)&&!t.o(r,e)&&Object.defineProperty(r,e,{enumerable:!0,get:n[e]})},t.o=function(r,n){return Object.prototype.hasOwnProperty.call(r,n)},function(){var r={666:0};t.O.j=function(n){return 0===r[n]};var n=function(n,e){var o,u,i=e[0],f=e[1],a=e[2],c=0;if(i.some(function(n){return 0!==r[n]})){for(o in f)t.o(f,o)&&(t.m[o]=f[o]);if(a)var s=a(t)}for(n&&n(e);c console.log("Custom tracking script loaded after consent tracking delay");

Software Engineer, Macro Middle Office Technology

Apply Now
Experience

Experienced Professionals

Location

Bengaluru, India

Focus

Software & System Engineering

Business

Point72

A Career with Point72s Technology Team

As Point72 reimagines the future of investing, our Technology team is constantly evolving our firms IT infrastructure and engineering capabilities, positioning us at the forefront of a rapidly evolving technology landscape. Were a team of experts who experiment and work to discover new ways to harness open-source solutions, modern cloud architectures, and sophisticated Artificial Intelligence (AI) solutions, while embracing enterprise agile methodologies. Our commitment to building and innovating in the AI space provides the framework intended to drive smarter decision making and enhance how we build and operate our platforms and applications.


As a member of Point72s Technology team, we encourage and support your professional development from day onehelping you advance your technical skills, contribute innovative ideas, and satisfy your own intellectual curiosityall while delivering real business impact for our multi-billion-dollar global business.


What youll do

Develop and support software that keeps trade processing, position keeping, and downstream workflows accurate and resilient

Diagnose complex trade, profit and loss, pricing, security reference data, and liquidation issues across production systems

Improve straight-through trade processing by reducing manual intervention, strengthening controls, and automating recurring operational tasks

Partner with trading, operations, and technology teams to understand workflow gaps and deliver practical engineering solutions

Monitor application health, data quality, and processing status to identify issues before they affect business users

Build tools and enhancements that simplify investigations, accelerate issue resolution, and improve transparency across post-trade processes

Contribute to incident analysis by identifying root causes, documenting findings, and implementing durable fixes

Modernize existing applications and data flows to improve scalability, maintainability, and reliability for the Macro business

Collaborate with global engineering teams to deliver changes safely across development, testing, and production environments


Whats required

Bachelors degree in computer science, engineering, mathematics, finance, or a related technical field

5+ years of software engineering experience supporting trading, post-trade, middle office, or financial data processing applications

Strong programming skills in an object-oriented language and experience building maintainable production applications

Proficient SQL skills with experience analyzing relational data, investigating data quality issues, and supporting database-driven applications

Hands-on experience with straight-through trade processing, security reference data, price data, and position or trade lifecycle workflows

Ability to debug trade capture, profit and loss, liquidation, pricing, and reference data issues in time-sensitive production environments

Understanding of macro financial products, trade flows, positions, and downstream reporting processes

Strong communication and stakeholder management skills with the ability to explain technical issues clearly to business and technology teams

Ability to work full time from Bengaluru, India, and collaborate effectively with global teams across time zones

Commitment to the highest ethical standards


We take care of our people

We invest in our people, their careers, their health, and their well-being. When you work here, we provide:

  • Health care benefits
  • Maternity, Adoption & related leave policies
  • Generous paternity and family care leave policies
  • Employee Assistance Program & Mental wellness programs
  • Transportation support
  • Tuition assistance

About Point72

Point72 is a leading global alternative investment firm led by Steven A. Cohen. Building on more than 30 years of investing experience, Point72 seeks to deliver superior returns for its investors through fundamental and systematic investing strategies across asset classes and geographies. We aim to attract and retain the industrys brightest talent by cultivating an investor-led culture and committing to our peoples long-term growth. For more information, visit www.Point72.com/about.



Apply Now

Job Application Checklist

  • Rsum
  • Education background
Apply Now

Still Exploring?

Browse Open Roles

P72 Careers - Footer
/* Main footer padding control */ @media (min-width: 1921px) { .c-menu-footer__graphic{ margin-bottom: -85px !important; } .c-footer{ padding-top:40px !important; } .c-footer__upper{ /*padding-top:100px;*/ } .c-menu-footer__menu{ padding-top:20px !important; } .c-footer__branding{ margin-bottom:0px !important; } .c-menu-footer__link{ line-height:1.3 !important; font-size:1.127rem !important; } .c-menu-footer__title{ line-height:1.4 !important; } } @media (max-width: 1920px) { .c-menu-footer__graphic{ margin-bottom: -65px !important; } .c-menu-footer__title{ line-height:1.4 !important; } .c-menu-footer__link{ line-height:1.3 !important; font-size:1.127rem !important; } .c-menu-footer__menu{ padding-top:20px; } .c-footer__branding{ margin-bottom:0px !important; } } .c-menu-footer__title{ color:#f5f4ee; } @media (max-width: 1024px) { .c-footer__graphic { display: none; } } @media (max-width: 768px) { .c-footer{ padding-top:25px; } .c-footer__upper{ margin-bottom:-20px; } .c-footer__branding{ margin-top:20px; } .c-menu-utility__menu-item { padding-top:3px; } } @media (min-width: 769px) { .c-menu-utility__menu-item { padding-top:0; } }

Point72

  • About Us
    • What We Do
    • Our Values
    • Leadership
    • Locations
  • Join Our Team
    • Working Here
    • Students & Early-Career
    • Asia-Pacific Offices
    • Warsaw Office
  • Career Paths
    • Fundamental Equities
    • Point72 Academy
    • Point72 LaunchPoint
    • Cubist Systematic
    • Global Macro
    • Point72 Private Investments
    • Proprietary Research
    • Investment Services
  • Resources
    • Perspectives
    • General Inquiries
    • Press Inquiries
    • Investor Login
  • 2026 Point72. All Rights Reserved
  • | Global Privacy Policy
  • | Terms of Use
  • | Disclosures
  • | Brand Misuse Fraudulent Schemes Notice
// Mixpanel ignore tracking for known IPs var excludeIPS = '[65.213.72.30, 185.142.16.9, 203.176.115.9, 208.68.197.6, 208.68.197.9, 208.68.199.6, 208.68.199.9, 208.85.160.9, 208.85.161.9]'; $.getJSON('//api.ipify.org?format=json', function(data) { try{ if(true && excludeIPS.indexOf(data.ip) > -1)else{ mixpanel.unregister("$ignore"); mixpanel.track("View Page", ); mixpanel.people.set_once({ 'First Career Page Visit' : new Date().toISOString() }); mixpanel.people.set({ 'Last Career Page Visit' : new Date().toISOString() }); // Only for Careers Site mixpanel.people.increment("# of Career Page Visits"); (function(){ var links = document.querySelectorAll('a'); [].forEach.call(links, function(link) ); })(); } }catch(e){} }); jQuery(document).ready(function(){ var str = navigator.userAgent; if (str.toLowerCase().indexOf("firefox") >= 0) { jQuery('body').addClass("gecko"); } }); CSJobDetailModule.init('{\"lastModifiedDateFormatted\":\"2026-09-16\",\"job\":,\"friendlyJobName\":\"software-engineer-macro-middle-office-technology\",\"formattedTeam\":\"Software & System Engineering\",\"formattedLocation\":\"Bengaluru, India\",\"formattedArea\":\"Technology & Engineering\"}');

Software Engineer, Macro Middle Office Technology

Compensation

Not specified

City: Bengaluru

Country: India

Point72 logo
Hedge Funds

14 days ago

No clicks

at Point72

ExperiencedNo visa sponsorship

Based on the provided JobPosting data, here's a concise summary with relevant details: **Job Title:** Software Engineer, Macro Middle Office Technology **Company:** Point72 **Location:** Bengaluru, India **Job Type:** Full Time **Experience:** Experienced Professionals **Team:** Software & System Engineering (within Technology & Engineering area) **Summary ofRole:** - Develop and maintain software to ensure accurate and resilient trade processing, position keeping, and downstream workflows. - Diagnose and resolve complex trade, profit and loss, pricing, security reference data, and liquidation issues across production systems. - Improve straight-through trade processing by reducing manual intervention, strengthening controls, and automating recurring operational tasks. - Collaborate with trading, operations, and technology teams to understand workflow gaps and deliver practical engineering solutions. - Monitor application health, data quality, and processing status to identify issues before they affect business users. - Build tools and enhancements to simplify investigations, accelerate issue resolution, and improve transparency across post-trade processes. - Contribute to incident analysis by identifying root causes, documenting findings, and implementing durable fixes. - Modernize existing applications and data flows to enhance scalability, maintainability, and reliability for the Macro business. - Collaborate with global engineering teams to deliver changes safely across development, testing, and production environments. **Required Skills & Experience:** - Bachelor’s degree in computer science, engineering, mathematics, finance, or a related technical field. - 5+ years of software engineering experience supporting trading, post-trade, middle office, or financial data processing applications. - Strong programming skills in an object-oriented language and experience building maintainable production applications. - Proficient SQL skills with

Full Job Description

@font-face { font-family: 'WistiaPlayerInterNumbersSemiBold'; font-feature-settings: 'tnum' 1; src: url(data:application/x-font-woff;charset=utf-8;base64,d09GMk9UVE8AAAaMAAwAAAAACgAAAAZBAAMD1wAAAAAAAAAAAAAAAAAAAAAAAAAADYpwGhQbIBwqBmAAgTIBNgIkAzAEBgWDGgcgGykJEZWkARP8KHCbm2tEznyIN98tPTUk9Ig3oiVV3pbDIzXa+f/fZgXpALFTZhBoMVFC9cp036dXvRKVmVnsxe+D+1NDQI5lG7ikZWEINIElTeBIdnxlhauQ5GQtoLHA/wN0riVdSx5xgbxF3KTbgnjVQ4B9P7YqCx7FpEZK+6ilx0AoopUh4aExJEKmkU+0ncdr4iFfKhdSFD9y91LCRaxNbVqvi0dND3rxI7ndUDR7EiwT3bhiua9krFA0oepCy2hCjwmjnjDjKjNTDz2ZuHtN8820Wfw/l8u4w4yV/f8/6uscs5rmiN00LcP4hAofyZUSyS3WinX0RGFFtnGrjj36x6dlNa57+PLTlrUisH2n9orfgd+R34XfDd0NsWDXwfwhvKHpbs3UBni37dBlPvO4KYn/PgylilcgSdw6sjsSSxsRGfIJgqhi14bKZCHcQvjUh/+3HMotTYrGLVYCxyMFjEnYC98yTAp6atAKVxaZ9eu2NMji8WTj4w/Y34elD60PPwb5bEywLqAX/amwmUo6TBCy14N/TL44jb3sE5JdUIPXXI0RBSoGt3BUObn4agKGIxxQhlyQacbstK4fS2mZoBtFNQ1bd+4zND2vQu6anl7gWFOj8MV2DVMtU44xMhpwElrrjA7zO5IqWojd/v1Vso6cqp91zC2YrGhDOy07Iqyza2q9smDIwUYek0AWbCt/8x78QmrzayQ6xtpmqfCYsLfgU9HdeP3UqutZTTNd/9Q8k08XzXzIxSdvLPda8YaeeZnkxUwql0nDKyUYdaWZjGAy7UDLHpVqBVHTxSV0wBy21El9u/491ik2J3YkdiP2LPZL41RBeeNUWtp97Bbn0Ee1g9wr9qqV/X+4R9nlPX03743dylnaXZyNp8v58yLOsFYCbUnCVQzjN+5QhlmKccO7aMkueWJggROd4qnw2x5LydUcg/NRamE3XMlkGovpRWPKWEavP74P2O1RANM/3gIIPJj7TX+lqU2geQuaBx4B/7cWAOx0ucTiEHYJU9y5DBuUMYNIHeHZz9tn+Fw2G5EBTqUlHRfRi4eB5wNlJsRsv5k4b6HyFkhIC6BO4LzPbWhW7rbCcxubeKHOc6UaBKZBMMd4j8XuRUynOCCa4EMfF9grkI1NcTaSAVtk1nrIOwFfeEBlQw4f4phb6zHzBOm0ZZ0dBcaZRVdYIo5xYiyOMEWONwQHmjKGE//VuRBgul1QrpyxmMvF4vGj0xfuuQrNt4tVTsRhEnjY9AuKa1FVLSEneQWzFd5WbO7hasX08ONUOVQgwQuVqACFXkSoIoUgK1hJEkAgbkG5CjqBS5wrRFuY2IfVwhRnLsVyZTZpatveGR4yEbYqbE6J80nM4aa+LD7Oqmr8PdSJFUQVynmgN4lerGQV1+uLdYzdOFWHPW/iK2gIQayhizQ0NMwyvBEBlrDczRfmU40CTtAHqLQGnjQG8MYkxm1MwJuTqjHwVCu9iRJ1C8ojWGHxUYowH0c5X57zpXquvlw0wzHHGMTfufxiJ1psFJTzq6nGeDvHF4LgmHHWCUViZBaInRn+cswnBi460RBPRYg9TRUQ0CZUC5LAT0qLLu50FpdTeBhjGf7/h4dg9hE0uqsBx/saOcYRDIfnOhfzGFBHyizcJK3p2edUjWrC0rn1aGjXtfVUCHMAKKhlxV8eTEIcV2jCOdKiqahv/MisrfRQVnxPJoOU62mR6pu2ZllIzo8zOZqQB7kWJXW2/c0aihata5PcIVJKfFRgHAETmEQVTCELptGMGcyigTnMJ1voUVN6uCZS9pV2hrwl7FYMvBwtUSd7L7E5qP9t7BIPRF7EcmA9ct2nIPHrxgWajtDltbXuBLuaY6qRZGa5ZlX5anfR0lYXaHUzVSFjZa8rfdhZ8rKXFZg21LVL5LFjI5TlDIbwnFGHE2dypHs6Q50N015dpOgLONEUlOqoiQgIaeCsjMq9gITDKwRMieQgKUy9UQY1BTFYZU2KpE2SkILMIjW8IdFwIKmMaK8oClJVssAEtFnz5dQ1s+w6EZoNGtPGQfzx+aoE8ikiP8GCYOWtgB+HBdWDaxACAZInVq14dZI85RRDvZGIghyONw59KV/BBEQ02P1ER8hmNGiURT2hQP8WfAY=); }
{ "@context": "https://schema.org", "@graph": [ { "@type": "WebSite", "@id": "http://careers.point72.com/#website", "url": "http://careers.point72.com/", "name": "Point72", "description": "", "potentialAction": [ ], "inLanguage": "en-US" }, , ] }
img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--duotone--dark-grayscale: url('#wp-duotone-dark-grayscale');--wp--preset--duotone--grayscale: url('#wp-duotone-grayscale');--wp--preset--duotone--purple-yellow: url('#wp-duotone-purple-yellow');--wp--preset--duotone--blue-red: url('#wp-duotone-blue-red');--wp--preset--duotone--midnight: url('#wp-duotone-midnight');--wp--preset--duotone--magenta-yellow: url('#wp-duotone-magenta-yellow');--wp--preset--duotone--purple-green: url('#wp-duotone-purple-green');--wp--preset--duotone--blue-orange: url('#wp-duotone-blue-orange');--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} try { Typekit.load({ async: true }); } catch (e) {}
Software Engineer, Macro Middle Office Technology Career
!function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='//static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); // Insert Twitter Pixel ID and Standard Event data below twq('init','o38l9'); twq('track','PageView'); _linkedin_partner_id = "592849"; window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || []; window._linkedin_data_partner_ids.push(_linkedin_partner_id); (function() {var s = document.getElementsByTagName("script")[0]; var b = document.createElement("script"); b.type = "text/javascript";b.async = true; b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js"; s.parentNode.insertBefore(b, s);} )(); (function(e,a){if(!a.__SV){var b=window;try{var c,l,i,j=b.location,g=j.hash;c=function(a,b){return(l=a.match(RegExp(b+"=([^&]*)")))?l[1]:null};g&&c(g,"state")&&(i=JSON.parse(decodeURIComponent(c(g,"state"))),"mpeditor"===i.action&&(b.sessionStorage.setItem("_mpcehash",g),history.replaceState(i.desiredHash||"",e.title,j.pathname+j.search)))}catch(m){}var k,h;window.mixpanel=a;a._i=[];a.init=function(b,c,f){function e(b,a){var c=a.split(".");2==c.length&&(b=b[c[0]],a=c[1]);b[a]=function(){b.push([a].concat(Array.prototype.slice.call(arguments, 0)))}}var d=a;"undefined"!==typeof f?d=a[f]=[]:f="mixpanel";d.people=d.people||[];d.toString=function(b){var a="mixpanel";"mixpanel"!==f&&(a+="."+f);b||(a+=" (stub)");return a};d.people.toString=function(){return d.toString(1)+".people (stub)"};k="disable time_event track track_pageview track_links track_forms register register_once alias unregister identify name_tag set_config reset people.set people.set_once people.increment people.append people.union people.track_charge people.clear_charges people.delete_user".split(" "); for(h=0;h
if(!window.sfdcPage) { window.sfdcPage = new ApexPage(); }UserContext.initialize();
(function enforceAnalyticsDelayGateEarly() { if (window.__p72AnalyticsDelayGateInstalled) { return; } window.__p72AnalyticsDelayGateInstalled = true; const ANALYTICS_DELAY_MS = 10000; const releaseAt = Date.now() + ANALYTICS_DELAY_MS; let gateOpen = false; const queuedScripts = []; const pendingScriptSrc = new WeakMap(); const pendingConnectedScripts = []; function isAnalyticsUrl(url) { if (!url) { return false; } try { const parsed = new URL(url, window.location.href); const host = parsed.hostname.toLowerCase(); return host === "www.googletagmanager.com" || host === "googletagmanager.com" || host === "www.google-analytics.com" || host === "google-analytics.com"; } catch (error) { return false; } } function queueScript(parent, node, referenceNode, mode) { queuedScripts.push({ parent, node, referenceNode, mode, }); } function rememberDeferredSrc(scriptNode, srcValue) { pendingScriptSrc.set(scriptNode, srcValue); if (scriptNode.isConnected) { pendingConnectedScripts.push(scriptNode); } } function getScriptSrc(scriptNode) { if (!scriptNode || scriptNode.tagName !== "SCRIPT") { return ""; } return pendingScriptSrc.get(scriptNode) || scriptNode.getAttribute("src") || scriptNode.src || ""; } const originalAppendChild = Node.prototype.appendChild; const originalInsertBefore = Node.prototype.insertBefore; const originalSetAttribute = Element.prototype.setAttribute; const originalScriptSrcDescriptor = Object.getOwnPropertyDescriptor(HTMLScriptElement.prototype, "src"); function applyPendingSrc(scriptNode) { if (!scriptNode || scriptNode.tagName !== "SCRIPT") { return; } const deferredSrc = pendingScriptSrc.get(scriptNode); if (!deferredSrc) { return; } pendingScriptSrc.delete(scriptNode); if (originalScriptSrcDescriptor && typeof originalScriptSrcDescriptor.set === "function") { originalScriptSrcDescriptor.set.call(scriptNode, deferredSrc); } else { originalSetAttribute.call(scriptNode, "src", deferredSrc); } } Node.prototype.appendChild = function patchedAppendChild(node) { const src = getScriptSrc(node); if (!gateOpen && src && isAnalyticsUrl(src)) { queueScript(this, node, null, "append"); return node; } return originalAppendChild.call(this, node); }; Node.prototype.insertBefore = function patchedInsertBefore(node, referenceNode) { const src = getScriptSrc(node); if (!gateOpen && src && isAnalyticsUrl(src)) { queueScript(this, node, referenceNode, "insert"); return node; } return originalInsertBefore.call(this, node, referenceNode); }; Element.prototype.setAttribute = function patchedSetAttribute(name, value) { if (!gateOpen && this.tagName === "SCRIPT" && typeof name === "string" && name.toLowerCase() === "src") { const src = String(value || ""); if (src && isAnalyticsUrl(src)) { rememberDeferredSrc(this, src); return; } } return originalSetAttribute.call(this, name, value); }; if (originalScriptSrcDescriptor && typeof originalScriptSrcDescriptor.get === "function" && typeof originalScriptSrcDescriptor.set === "function") { Object.defineProperty(HTMLScriptElement.prototype, "src", { configurable: true, enumerable: originalScriptSrcDescriptor.enumerable, get: function patchedScriptSrcGet() { if (pendingScriptSrc.has(this)) { return pendingScriptSrc.get(this); } return originalScriptSrcDescriptor.get.call(this); }, set: function patchedScriptSrcSet(value) { const src = String(value || ""); if (!gateOpen && src && isAnalyticsUrl(src)) { rememberDeferredSrc(this, src); return src; } pendingScriptSrc.delete(this); return originalScriptSrcDescriptor.set.call(this, src); }, }); } function flushQueuedScripts() { gateOpen = true; if (pendingConnectedScripts.length > 0) { const uniqueConnectedScripts = Array.from(new Set(pendingConnectedScripts)); uniqueConnectedScripts.forEach((scriptNode) => { try { applyPendingSrc(scriptNode); } catch (error) { // Ignore failures from stale nodes; other script paths may retry safely. } }); } while (queuedScripts.length > 0) { const item = queuedScripts.shift(); try { if (!item || !item.parent || !item.node) { continue; } applyPendingSrc(item.node); if (item.mode === "insert" && item.referenceNode && item.referenceNode.parentNode === item.parent) { originalInsertBefore.call(item.parent, item.node, item.referenceNode); } else { originalAppendChild.call(item.parent, item.node); } } catch (error) { // Ignore failures from stale nodes; other script paths may retry safely. } } } const remainingDelay = Math.max(releaseAt - Date.now(), 0); window.setTimeout(flushQueuedScripts, remainingDelay); })();
P72 Careers - Header
.c-cookie-consent{ opacity:1; position:relative; top:0; transform:translateY(0); transition:transform .4s cubic-bezier(.65,0,.35,1); transition:transform var(--p72-animation-duration) var(--p72-animation-timing); } .c-cookie-consent__container{ align-items:flex-start; display:flex;gap:1rem; gap:var(--p72-space); padding-bottom: .5rem; padding-bottom:var(--p72-space-xs); padding-top:.5rem; padding-top:var(--p72-space-xs) } .c-cookie-consent__content>:last-child{ /* margin-bottom:0*/ } /* .c-cookie-consent__content a{ -webkit-text-decoration:underline; text-decoration:underline }*/ .c-cookie-consent__close{ position:relative; right:-.75rem; right:calc(var(--p72-space-sm)*-1); top:-.75rem; top:calc(var(--p72-space-sm)*-1) } .c-cookie-consent.is-hidden{ opacity:0;transform:translateY(-100%) } .c-menu-mobile__menu-item > a, .c-menu-mobile__menu-item > a span { color: #18181a; /* matches your current inline color */ } .c-menu-mobile__button:hover { background: #f5f4ee !important; border-color: #18181a !important; color: #18181a !important; } .c-menu-mega-careers ul a:focus, .c-menu-mega-careers ul a:hover { color: #b08725 !important; color: var(--p72-color-content-stronger) !important; } li.c-menu-mobile__menu-item > a.c-menu-mobile__link, li.c-menu-mobile__menu-item > a.c-menu-mobile__link span { color: #18181a !important; } li.c-menu-mobile__menu-item > a.c-menu-mobile__link:hover, li.c-menu-mobile__menu-item > a.c-menu-mobile__link:hover span { color: var(--p72-color-content-stronger, #b08725) !important; } li.c-menu-mobile__menu-item > a.c-menu-mobile__link, li.c-menu-mobile__menu-item > a.c-menu-mobile__link span { color: #18181a !important; } li.o-icon > a.o-icon:hover, li.o-icon > a.o-icon:hover span { color: var(--p72-color-content-stronger, #b08725) !important; } .o-button--outlined { background-color: transparent; color: black; border: 1px solid black; transition: all 0.3s ease; } .o-button--outlined:focus, .o-button--outlined:hover { background-color: var(--p72-color-button-background, #b08725); border-color: var(--p72-color-button-background, #b08725); color: var(--p72-color-button-text, #f5f4ee); } .c-menu-mega { opacity: 0; visibility: hidden; transform: translateY(5px); transition: opacity 0.15s ease-out, transform 0.15s ease-out; will-change: opacity, transform; } body.header-scrolled .c-header { top: var(--p72-cookie-consent-height, 0px) !important; } body.header-scrolled .c-menu-mobile { /*top: 0 !important;*/ } /* Header common style */ .c-header, .c-header.l-wrap, .c-header .l-wrap { transition: none !important; will-change: auto; } /* Optional: reset header when scrolled */ body.header-scrolled .c-header, body.header-scrolled .c-header.l-wrap, body.header-scrolled .c-header .l-wrap { top: 0 !important; } @media only screen and (max-width:768px) { .c-cookie-consent__container { padding: 8px 10px !important; } body.header-scrolled .c-header, body.header-scrolled .c-header.l-wrap { padding-top: 13px; !important; } body.header-scrolled .c-header .l-wrap { padding-top: 13px; !important; } .c-cookie-consent__content p,.c-cookie-consent__content a { max-width: 100% !important; font-family:"Aptos", sans-serif; font-size:14px !important; line-height:18.2px !important; } } /* ========================================================= Combined CSS: c-menu-mobile + u-hide-after--md + u-spacing--lg Includes required variables + hamburger related CSS ========================================================= */ /* ========================================================= Required Variables ========================================================= */ :root { --p72-header-height: 100px; --p72-space-xxs: 0.25rem; --p72-space-xs: 0.5rem; --p72-space-sm: 0.75rem; --p72-space: 1rem; --p72-space-md: 1.5rem; --p72-space-lg: 2rem; --p72-animation-duration: 0.4s; --p72-animation-duration-long: 0.6s; --p72-animation-timing: cubic-bezier(0.65, 0, 0.35, 1); --p72-z-index-5: 5; --p72-border-width: 1px; --p72-font-family-secondary: Aptos, sans-serif; --p72-font-weight-bold: 700; --p72-font-size-heading-xs: 1.25rem; --p72-line-height-tight: 1.1; --p72-letter-spacing-wide: 0.06em; --p72-typography-heading-xs: var(--p72-font-weight-bold) var(--p72-font-size-heading-xs) / var(--p72-line-height-tight) var(--p72-font-family-secondary); --p72-color-brand-cream: #f5f4ee; --p72-color-brand-gold: #b08725; --p72-color-brand-slate: #505a6b; --p72-color-brand-charcoal: #18181a; --p72-color-background: var(--p72-color-brand-charcoal); --p72-color-content: var(--p72-color-brand-cream); --p72-color-content-stronger: var(--p72-color-brand-gold); --p72-color-border: var(--p72-color-brand-slate); --p72-cookie-consent-height: 0px; --p72-icon-size-sm: 0.9375rem; } /* ========================================================= Utility: u-hide-after--md Hidden after medium breakpoint ========================================================= */ @media (min-width: 769px) { .u-hide-after--md { display: none !important; } } /* ========================================================= Utility: u-spacing--lg Adds large vertical spacing between direct children ========================================================= */ .u-spacing--lg > * + * { margin-top: 2rem; margin-top: var(--p72-space-lg); } /* ========================================================= Mobile Menu Container ========================================================= */ .c-menu-mobile { bottom: 0; height: calc(100% - var(--p72-cookie-consent-height)); overflow-y: scroll; padding: calc(100px + 1.5rem) 1.5rem 1.5rem; padding: calc(var(--p72-header-height) + var(--p72-space-md)) var(--p72-space-md) var(--p72-space-md) var(--p72-space-md); position: fixed; right: 0; top: var(--p72-cookie-consent-height) !important; transform: translate3d(100%, 0, 0); transition: all 0.6s cubic-bezier(0.65, 0, 0.35, 1); transition: all var(--p72-animation-duration-long) var(--p72-animation-timing); visibility: hidden; width: 100%; z-index: 5; z-index: var(--p72-z-index-5); background-color: var(--p72-color-background); color: var(--p72-color-content); } /* ========================================================= Mobile Menu Open State Add class c-menu-mobile-is-active to body or parent ========================================================= */ @media (max-width: 767px) { .c-menu-mobile-is-active .c-menu-mobile { transform: translateZ(0); visibility: visible; } body.c-menu-mobile-is-active { overflow: hidden; } } /* ========================================================= Mobile Menu Item ========================================================= */ .c-menu-mobile__menu-item { border-bottom: 1px solid #505a6b; border-bottom: var(--p72-border-width) solid var(--p72-color-border); display: flex; flex-flow: column nowrap; gap: 0.25rem; gap: var(--p72-space-xxs); overflow: hidden; width: 100%; } /* ========================================================= Mobile Menu Link / Button ========================================================= */ .c-menu-mobile__link { align-items: center; background: transparent; border: none; color: #f5f4ee; color: var(--p72-color-content); cursor: pointer; display: flex; font: 700 1.25rem/1.1 Aptos, sans-serif; font: var(--p72-typography-heading-xs); gap: 0.25rem; gap: var(--p72-space-xxs); justify-content: space-between; letter-spacing: 0.06em; letter-spacing: var(--p72-letter-spacing-wide); padding: 0.75rem 0; padding: var(--p72-space-sm) 0; text-transform: uppercase; transition: color 0.4s cubic-bezier(0.65, 0, 0.35, 1); transition: color var(--p72-animation-duration) var(--p72-animation-timing); width: 100%; text-align: left; } @media (max-width: 768px) { .c-menu-mobile__link { font-size: 1.0625rem; } } .c-menu-mobile__link:focus, .c-menu-mobile__link:hover { color: #b08725; color: var(--p72-color-content-stronger); } .c-menu-mobile__link svg { height: var(--p72-icon-size-sm); min-width: var(--p72-icon-size-sm); width: var(--p72-icon-size-sm); } /* ========================================================= Mobile Sub Menu ========================================================= */ .c-menu-mobile--sub-menu { display: none; } .c-menu-mobile--sub-menu ul { display: flex; flex-direction: column; gap: 0.25rem; gap: var(--p72-space-xxs); margin-bottom: 0.75rem; margin-bottom: var(--p72-space-sm); list-style: none; padding: 0; } .c-menu-mobile--sub-menu a { color: #f5f4ee; color: var(--p72-color-content); text-decoration: none; } @media (max-width: 768px) { .c-menu-mobile--sub-menu a { font-size: 0.875rem; } } .c-menu-mobile--sub-menu a:focus, .c-menu-mobile--sub-menu a:hover { color: #b08725; color: var(--p72-color-content-stronger); } /* Show submenu when menu item is active */ .c-menu-mobile__menu-item.this-is-active .c-menu-mobile--sub-menu { display: block; } /* ========================================================= Header Style When Mobile Menu Is Active ========================================================= */ .c-menu-mobile-is-active .c-header { backdrop-filter: blur(0); border-color: #505a6b; border-color: var(--p72-color-border); } /* ========================================================= Hamburger Button Base ========================================================= */ .o-button-hamburger { align-items: center; -webkit-appearance: none; -moz-appearance: none; appearance: none; background: transparent; border: none; color: #f5f4ee; color: var(--p72-color-content); cursor: pointer; display: flex; height: 50px; padding: 0; --p72-hamburger-line-height: 1px; --p72-hamburger-line-spacing: 6px; --p72-hamburger-line-width: 25px; --p72-hamburger-lines-total-height: calc( var(--p72-hamburger-line-spacing) * 2 + var(--p72-hamburger-line-height) * 3 ); } .o-button-hamburger__label { font: 700 1rem/1.1 Aptos, sans-serif; letter-spacing: 0.06em; letter-spacing: var(--p72-letter-spacing-wide); text-transform: uppercase; } .o-button-hamburger__lines { height: var(--p72-hamburger-lines-total-height); margin-left: 0.25rem; margin-left: var(--p72-space-xxs); position: relative; transition: transform 0.5s ease-in-out; width: var(--p72-hamburger-line-width); } .o-button-hamburger__line { background-color: currentcolor; height: var(--p72-hamburger-line-height); left: 0; position: absolute; transition: transform 0.3s ease, top 0.3s ease, opacity 0.3s ease; width: 100%; } .o-button-hamburger__line:first-child { top: 0; } .o-button-hamburger__line:nth-child(2) { top: calc( var(--p72-hamburger-line-spacing) + var(--p72-hamburger-line-height) ); } .o-button-hamburger__line:nth-child(3) { top: calc( (var(--p72-hamburger-line-spacing) + var(--p72-hamburger-line-height)) * 2 ); } /* ========================================================= Hamburger Active Animation Triggered by .c-menu-mobile-is-active ========================================================= */ .c-menu-mobile-is-active .o-button-hamburger__line:first-child { top: 50%; transform: rotate(45deg); } .c-menu-mobile-is-active .o-button-hamburger__line:nth-child(2) { opacity: 0; } .c-menu-mobile-is-active .o-button-hamburger__line:nth-child(3) { top: 50%; transform: rotate(-45deg); } /** * Extracted scroll-related functionality from the bundled app. * * Requires: * - GSAP * - ScrollTrigger * - Optional: jQuery if using the jQuery-based class add below * * If you are using ES modules: * * import gsap from "gsap"; * import ScrollTrigger from "gsap/ScrollTrigger"; * * gsap.registerPlugin(ScrollTrigger); */ /* ========================================================================== Cookie consent scroll/resize height tracking ========================================================================== */ const COOKIE_NOTICE_KEY = "p72_cookie_notice_dismissed"; /** * Global analytics gate: defer GA/GTM script injection attempts until 10s. * This catches third-party code paths that try to load tags before our * CookieConsentTracking delay executes. */ (function enforceAnalyticsDelayGate() { if (window.__p72AnalyticsDelayGateInstalled) { return; } window.__p72AnalyticsDelayGateInstalled = true; const ANALYTICS_DELAY_MS = 10000; const releaseAt = Date.now() + ANALYTICS_DELAY_MS; let gateOpen = false; const queuedScripts = []; function isAnalyticsUrl(url) { if (!url) { return false; } try { const parsed = new URL(url, window.location.href); const host = parsed.hostname.toLowerCase(); return host === "www.googletagmanager.com" || host === "googletagmanager.com" || host === "www.google-analytics.com" || host === "google-analytics.com"; } catch (error) { return false; } } function queueScript(parent, node, referenceNode, mode) { queuedScripts.push({ parent, node, referenceNode, mode, }); } const originalAppendChild = Node.prototype.appendChild; const originalInsertBefore = Node.prototype.insertBefore; Node.prototype.appendChild = function patchedAppendChild(node) { const src = node && node.tagName === "SCRIPT" ? node.src : ""; if (!gateOpen && src && isAnalyticsUrl(src)) { queueScript(this, node, null, "append"); return node; } return originalAppendChild.call(this, node); }; Node.prototype.insertBefore = function patchedInsertBefore(node, referenceNode) { const src = node && node.tagName === "SCRIPT" ? node.src : ""; if (!gateOpen && src && isAnalyticsUrl(src)) { queueScript(this, node, referenceNode, "insert"); return node; } return originalInsertBefore.call(this, node, referenceNode); }; function flushQueuedScripts() { gateOpen = true; while (queuedScripts.length > 0) { const item = queuedScripts.shift(); try { if (!item || !item.parent || !item.node) { continue; } if (item.mode === "insert" && item.referenceNode && item.referenceNode.parentNode === item.parent) { originalInsertBefore.call(item.parent, item.node, item.referenceNode); } else { originalAppendChild.call(item.parent, item.node); } } catch (error) { // Ignore failures from stale nodes; other script paths may retry safely. } } } const remainingDelay = Math.max(releaseAt - Date.now(), 0); window.setTimeout(flushQueuedScripts, remainingDelay); })(); const cookieConsentScroll = { _raf: null, _scrollBound: false, _onScroll: null, isDismissed() { try { return sessionStorage.getItem(COOKIE_NOTICE_KEY) === "1"; } catch (error) { return false; } }, setDismissed() { try { sessionStorage.setItem(COOKIE_NOTICE_KEY, "1"); } catch (error) {} }, showBanner() { const banner = document.querySelector(".js-cookie-consent"); if (banner) { banner.classList.remove("is-hidden"); banner.classList.add("is-visible"); this.updateHeightVar(); this.bindScroll(); } }, hideBanner() { const banner = document.querySelector(".js-cookie-consent"); if (banner) { banner.classList.remove("is-visible"); banner.classList.add("is-hidden"); this.unbindScroll(); this.updateHeightVar(); } }, updateHeightVar() { const banner = document.querySelector(".js-cookie-consent"); let height = 0; if (banner && !banner.classList.contains("is-hidden")) { const rect = banner.getBoundingClientRect(); height = Math.min( Math.max(rect.bottom, 0), banner.offsetHeight ); } document.documentElement.style.setProperty( "--p72-cookie-consent-height", `${height}px` ); }, onScroll() { if (!this._raf) { this._raf = window.requestAnimationFrame(() => { this._raf = null; this.updateHeightVar(); }); } }, bindScroll() { if (!this._scrollBound) { this._scrollBound = true; this._onScroll = this.onScroll.bind(this); window.addEventListener("scroll", this._onScroll, { passive: true, }); window.addEventListener("resize", this._onScroll, { passive: true, }); } }, unbindScroll() { if (this._scrollBound) { this._scrollBound = false; window.removeEventListener("scroll", this._onScroll); window.removeEventListener("resize", this._onScroll); } }, observeHeight() { const banner = document.querySelector(".js-cookie-consent"); if (!banner || typeof ResizeObserver === "undefined") return; new ResizeObserver(() => this.updateHeightVar()).observe(banner); }, handleClose() { this.setDismissed(); this.hideBanner(); }, init() { const banner = document.querySelector(".js-cookie-consent"); if (banner) { if (this.isDismissed()) { this.updateHeightVar(); } else { this.showBanner(); } this.observeHeight(); } else { document.documentElement.style.setProperty( "--p72-cookie-consent-height", "0px" ); } }, }; const CookieConsentTracking = { gaConfig: null, getGAConfig() { if (this.gaConfig !== null) { return this.gaConfig; } const cookieConsentEl = document.querySelector(".js-cookie-consent"); const gaConfigRaw = cookieConsentEl && (cookieConsentEl.dataset.p72GaConfig || cookieConsentEl.dataset.gaConfig); if (gaConfigRaw) { try { const config = JSON.parse(gaConfigRaw); this.gaConfig = Array.isArray(config) ? config.filter((item) => item.tracking_id && item.tag_type) : []; } catch (error) { console.warn("Cookie Consent: Invalid GA config", error); this.gaConfig = []; } } else { this.gaConfig = []; } return this.gaConfig; }, isDismissed() { try { return sessionStorage.getItem(COOKIE_NOTICE_KEY) === "1"; } catch (error) { return false; } }, setDismissed() { try { sessionStorage.setItem(COOKIE_NOTICE_KEY, "1"); } catch (error) { // Ignore sessionStorage errors } }, loadGTM(trackingId) , loadGtagAnalytics(configs) { if (configs.length === 0) { return; } window.dataLayer = window.dataLayer || []; function gtag() { window.dataLayer.push(arguments); } window.gtag = gtag; const primaryConfig = configs.find((item) => item.tag_type === "ga4") || configs[0]; const script = document.createElement("script"); script.async = true; script.src = `https://www.googletagmanager.com/gtag/js?id=${primaryConfig.tracking_id}`; document.head.appendChild(script); gtag("js", new Date()); configs.forEach((item) => { gtag("config", item.tracking_id); }); }, loadCustomScripts() { const template = document.querySelector("template.js-tracking-scripts"); if (!template) { return; } const clonedContent = template.content.cloneNode(true); clonedContent.querySelectorAll("script").forEach((script) => { const newScript = document.createElement("script"); for (const attr of script.attributes) { newScript.setAttribute(attr.name, attr.value); } if (script.textContent) { newScript.textContent = script.textContent; } script.parentNode.replaceChild(newScript, script); }); document.body.appendChild(clonedContent); }, loadTrackingPixels() { if (window.p72PixelsLoaded) { return; } window.p72PixelsLoaded = true; const gaConfig = this.getGAConfig(); const gtmConfigs = gaConfig.filter((item) => item.tag_type === "gtm"); const analyticsConfigs = gaConfig.filter( (item) => item.tag_type === "ga4" || item.tag_type === "ua" ); gtmConfigs.forEach((item) => { this.loadGTM(item.tracking_id); }); this.loadGtagAnalytics(analyticsConfigs); this.loadCustomScripts(); }, scheduleTrackingPixels() { if (window.p72PixelsScheduled) { return; } window.p72PixelsScheduled = true; window.setTimeout(() => { this.loadTrackingPixels(); }, 10000); }, updateHeightVar() { const cookieConsentEl = document.querySelector(".js-cookie-consent"); let height = 0; if (cookieConsentEl && !cookieConsentEl.classList.contains("is-hidden")) { const rect = cookieConsentEl.getBoundingClientRect(); height = Math.min(Math.max(rect.bottom, 0), cookieConsentEl.offsetHeight); } document.documentElement.style.setProperty( "--p72-cookie-consent-height", `${height}px` ); }, showBanner() { const cookieConsentEl = document.querySelector(".js-cookie-consent"); if (!cookieConsentEl) { return; } cookieConsentEl.classList.remove("is-hidden"); cookieConsentEl.classList.add("is-visible"); this.updateHeightVar(); this.bindScroll(); }, hideBanner() { const cookieConsentEl = document.querySelector(".js-cookie-consent"); if (!cookieConsentEl) { return; } cookieConsentEl.classList.remove("is-visible"); cookieConsentEl.classList.add("is-hidden"); this.unbindScroll(); this.updateHeightVar(); }, onScroll() { if (this._raf) { return; } this._raf = window.requestAnimationFrame(() => { this._raf = null; this.updateHeightVar(); }); }, bindScroll() { if (this._scrollBound) { return; } this._scrollBound = true; this._onScroll = this.onScroll.bind(this); window.addEventListener("scroll", this._onScroll, { passive: true }); window.addEventListener("resize", this._onScroll, { passive: true }); }, unbindScroll() { if (!this._scrollBound) { return; } this._scrollBound = false; window.removeEventListener("scroll", this._onScroll); window.removeEventListener("resize", this._onScroll); }, observeHeight() { const cookieConsentEl = document.querySelector(".js-cookie-consent"); if (!cookieConsentEl || typeof ResizeObserver === "undefined") { return; } new ResizeObserver(() => { this.updateHeightVar(); }).observe(cookieConsentEl); }, handleClose() { this.setDismissed(); this.hideBanner(); }, init() { const cookieConsentEl = document.querySelector(".js-cookie-consent"); if (cookieConsentEl) { this.scheduleTrackingPixels(); if (this.isDismissed()) { this.updateHeightVar(); } else { this.showBanner(); } this.observeHeight(); } else { document.documentElement.style.setProperty( "--p72-cookie-consent-height", "0px" ); } }, }; /* ========================================================================== Smooth anchor scrolling with header offset ========================================================================== */ function getAnchorTarget(hash) { if (!hash || hash === "#") return null; const id = hash.startsWith("#") ? hash.substring(1) : hash; let target = document.getElementById(id); if (!target) { try { target = document.querySelector(hash); } catch (error) { return null; } } return target; } function scrollToElementWithHeaderOffset(element) { const headerHeight = parseInt( getComputedStyle(document.documentElement) .getPropertyValue("--p72-header-height") ) || 0; const top = element.getBoundingClientRect().top + window.pageYOffset - headerHeight; window.scrollTo({ top, behavior: "smooth", }); } function initSmoothAnchorScrolling() { document.addEventListener("click", function (event) { const link = event.target.closest( 'a[href^="#"]:not([href="#"])' ); if (!link) return; const href = link.getAttribute("href"); const target = getAnchorTarget(href); if (target) { event.preventDefault(); scrollToElementWithHeaderOffset(target); if (history.pushState) { history.pushState(null, null, href); } } }); if (window.location.hash) { setTimeout(() => { const target = getAnchorTarget(window.location.hash); if (target) { scrollToElementWithHeaderOffset(target); } }, 100); } } /* ========================================================================== GSAP ScrollTrigger animations ========================================================================== */ function initGsapScrollAnimations() { if (typeof gsap === "undefined" || typeof ScrollTrigger === "undefined") { console.warn("GSAP or ScrollTrigger is not available."); return; } gsap.registerPlugin(ScrollTrigger); document.querySelectorAll(".js-gsap-trigger").forEach((trigger) => { /** * Fade in on scroll */ const fadeItems = trigger.querySelectorAll(".js-gsap-fade-in"); if (fadeItems.length > 0) { fadeItems.forEach((item, index) => { gsap.to(item, { opacity: 1, duration: 0.8, ease: "power1.in", scrollTrigger: item, delay: 0.1 * index, }); }); } /** * Scale in on scroll */ const scaleItems = trigger.querySelectorAll(".js-gsap-scale-in"); if (scaleItems.length > 0) { scaleItems.forEach((item, index) => { gsap.to(item, { scale: 1, opacity: 1, duration: 0.8, ease: "power1.in", scrollTrigger: item, delay: 0.1 * index, transformOrigin: "center center", }); }); } /** * Slide up on scroll */ const slideUpItems = trigger.querySelectorAll(".js-gsap-slide-in-up"); if (slideUpItems.length > 0) { slideUpItems.forEach((item, index) => { gsap.to(item, { opacity: 1, y: 0, duration: 0.8, ease: "power1.in", scrollTrigger: item, delay: 0.1 * index, }); }); } /** * Card entrance animation * * Note: * In the original bundle this is inside `.js-gsap-trigger`, * but it is not actually tied to ScrollTrigger. It runs immediately. */ const cards = trigger.querySelectorAll(".js-card-animate"); if (cards.length > 0) { console.log("Found cards to animate:", cards.length); gsap.set(cards, { opacity: 0, y: 12, filter: "blur(0.5px)", clearProps: "none", }); gsap.to(cards, { opacity: 1, y: 0, filter: "blur(0px)", duration: 0.3, ease: "power2.out", stagger: 0.03, delay: 0.05, }); } }); /** * Generic scroll class trigger */ gsap.utils.toArray(".u-scroll-animation").forEach((element) => { ScrollTrigger.create({ trigger: element, start: "top 90%", onEnter: () => { element.classList.add("u-scroll-animate"); }, }); }); } /* ========================================================================== Load-more card animation ========================================================================== */ function initLoadMoreScrollRelatedAnimation() { if (typeof jQuery === "undefined") { console.warn("jQuery is not available."); return; } if (typeof gsap === "undefined") { console.warn("GSAP is not available."); return; } const $ = jQuery; $(".js-button-load-more").on("click", () => { const hiddenItems = $(".js-filter-item.u-display--none").not(".ft-hidden"); const itemsToShow = hiddenItems.slice(0, 8); if (itemsToShow.length > 0) { const animatedCards = itemsToShow.find(".js-card-animate").get(); if (animatedCards.length > 0) { gsap.set(animatedCards, { opacity: 0, y: 12, filter: "blur(0.5px)", }); } itemsToShow.removeClass("u-display--none"); const filterContainer = $(".js-filter-container"); try { if (filterContainer.data("isotope")) { filterContainer.isotope("layout"); } } catch (error) {} if (animatedCards.length > 0) { gsap.to(animatedCards, { opacity: 1, y: 0, filter: "blur(0px)", duration: 0.4, ease: "power2.out", stagger: 0.04, }); } $(".js-button-load-more") .blur() .removeClass("active focus"); if (hiddenItems.length <= 8) { $(".js-button-load-more").hide(); } } }); } /* ========================================================================== Optional: Swiper timeline with horizontal scroll/drag behavior ========================================================================== */ /** * The bundle initializes a horizontal Swiper timeline. * * Requires Swiper and Navigation module. * * In the original minified code: * - fl = Swiper * - ml = Navigation module */ function initTimelineSwiper() { if (typeof Swiper === "undefined") { console.warn("Swiper is not available."); return; } // If using Swiper modules globally, adjust as needed. // Swiper.use([Navigation]); new Swiper(".js-timeline", { slidesPerView: 1, spaceBetween: "-10%", breakpoints: { 640: { slidesPerView: 2, }, 768: { slidesPerView: 3, }, 1024: { slidesPerView: 4, }, 1200: { slidesPerView: 5, }, }, direction: "horizontal", freeMode: true, navigation: { nextEl: ".swiper-button-next", prevEl: ".swiper-button-prev", }, }); } /* ========================================================================== Optional: Posts slider horizontal drag/scroll behavior ========================================================================== */ class PostsSlider { constructor() { this.sliders = document.querySelectorAll(".js-posts-slider"); this.swiperInstances = []; this.init(); } init() { if (!this.sliders.length) return; if (typeof Swiper === "undefined") { console.warn("Swiper is not available."); return; } // If using Swiper modules globally, adjust as needed. // Swiper.use([Navigation]); this.sliders.forEach((slider) => { const container = slider.querySelector(".js-posts-slider-container"); if (!container) return; const prevButton = slider.querySelector(".js-posts-slider-prev"); const nextButton = slider.querySelector(".js-posts-slider-next"); const swiper = new Swiper(container, { slidesPerView: "auto", spaceBetween: 0, grabCursor: true, watchSlidesProgress: true, wrapperClass: "js-posts-slider-wrapper", slideClass: "js-posts-slider-card", navigation: { nextEl: nextButton, prevEl: prevButton, }, on: { init: function () { if (prevButton) { prevButton.classList.add("swiper-button-disabled"); prevButton.setAttribute("disabled", "disabled"); } }, slideChange: function () { if (prevButton) { if (this.isBeginning) { prevButton.classList.add("swiper-button-disabled"); prevButton.setAttribute("disabled", "disabled"); } else { prevButton.classList.remove("swiper-button-disabled"); prevButton.removeAttribute("disabled"); } } if (nextButton) { if (this.isEnd) { nextButton.classList.add("swiper-button-disabled"); nextButton.setAttribute("disabled", "disabled"); } else { nextButton.classList.remove("swiper-button-disabled"); nextButton.removeAttribute("disabled"); } } }, }, }); this.swiperInstances.push(swiper); }); } } /* ========================================================================== Main initializer ========================================================================== */ function initExtractedScrollFunctionality() { cookieConsentScroll.init(); CookieConsentTracking.init(); initSmoothAnchorScrolling(); initGsapScrollAnimations(); initLoadMoreScrollRelatedAnimation(); initTimelineSwiper(); new PostsSlider(); } /* ========================================================================== DOM ready ========================================================================== */ document.addEventListener("DOMContentLoaded", () => { initExtractedScrollFunctionality(); });

Point72, L.P. and its affiliates and our third-party partners use cookies and similar technologies to view and retain your site interactions to perform analytics, enable site functionality and assist our marketing efforts exclusively for recruiting purposes. By continuing to use our site, you consent to these data practices, as described in our Privacy Policy.

  • About Us
  • Careers
  • Perspectives
Browse Open Roles
Menu
  • About Us
    • What We Do
    • Our Values
    • Leadership
    • Locations
  • Careers
    • Working Here
    • Students & Early-Career
    • Point72 Academy
    • Fundamental Equities
    • Cubist Systematic
    • Point72 LaunchPoint
    • Global Macro
    • Private Investments
    • Investment Services
    • Proprietary Research
  • Perspectives
Browse Open Roles
What We Do
Learn about the strategies and asset classes that make up our global business.
Our Values
See how we support our people, communities, and the planet through our ESG efforts.
Leadership
Meet the team responsible for shaping our firm.
Locations
Find us in financial hubs across the globe as we pursue the worlds best talent.

Working Here

Learn about the culture and community you can expect when you join us.
Define Your Path

Students & Early-Career

  • All Programs
  • Point72 Academy

Experienced Professionals

  • Fundamental Equities
  • Cubist Systematic
  • Point72 LaunchPoint
  • Global Macro
  • Private Investments
  • Investment Services
  • Proprietary Research
if (window.innerWidth > 768) { document.write(' /* rules */ <\/script>'); } /* rules */ !function(){"use strict";var r,n={},e={};function t(r){var o=e[r];if(void 0!==o)return o.exports;var u=e[r]={exports:{}};return n[r].call(u.exports,u,u.exports,t),u.exports}t.m=n,r=[],t.O=function(n,e,o,u){if(!e){var i=1/0;for(s=0;s
=u)&&Object.keys(t.O).every(function(r){return t.O[r](e[a])})?e.splice(a--,1):(f=!1,u0&&r[s-1][2]>u;s--)r[s]=r[s-1];r[s]=[e,o,u]},t.n=function(r){var n=r&&r.__esModule?function(){return r.default}:function(){return r};return t.d(n,{a:n}),n},t.d=function(r,n){for(var e in n)t.o(n,e)&&!t.o(r,e)&&Object.defineProperty(r,e,{enumerable:!0,get:n[e]})},t.o=function(r,n){return Object.prototype.hasOwnProperty.call(r,n)},function(){var r={666:0};t.O.j=function(n){return 0===r[n]};var n=function(n,e){var o,u,i=e[0],f=e[1],a=e[2],c=0;if(i.some(function(n){return 0!==r[n]})){for(o in f)t.o(f,o)&&(t.m[o]=f[o]);if(a)var s=a(t)}for(n&&n(e);c console.log("Custom tracking script loaded after consent tracking delay");

Software Engineer, Macro Middle Office Technology

Apply Now
Experience

Experienced Professionals

Location

Bengaluru, India

Focus

Software & System Engineering

Business

Point72

A Career with Point72s Technology Team

As Point72 reimagines the future of investing, our Technology team is constantly evolving our firms IT infrastructure and engineering capabilities, positioning us at the forefront of a rapidly evolving technology landscape. Were a team of experts who experiment and work to discover new ways to harness open-source solutions, modern cloud architectures, and sophisticated Artificial Intelligence (AI) solutions, while embracing enterprise agile methodologies. Our commitment to building and innovating in the AI space provides the framework intended to drive smarter decision making and enhance how we build and operate our platforms and applications.


As a member of Point72s Technology team, we encourage and support your professional development from day onehelping you advance your technical skills, contribute innovative ideas, and satisfy your own intellectual curiosityall while delivering real business impact for our multi-billion-dollar global business.


What youll do

Develop and support software that keeps trade processing, position keeping, and downstream workflows accurate and resilient

Diagnose complex trade, profit and loss, pricing, security reference data, and liquidation issues across production systems

Improve straight-through trade processing by reducing manual intervention, strengthening controls, and automating recurring operational tasks

Partner with trading, operations, and technology teams to understand workflow gaps and deliver practical engineering solutions

Monitor application health, data quality, and processing status to identify issues before they affect business users

Build tools and enhancements that simplify investigations, accelerate issue resolution, and improve transparency across post-trade processes

Contribute to incident analysis by identifying root causes, documenting findings, and implementing durable fixes

Modernize existing applications and data flows to improve scalability, maintainability, and reliability for the Macro business

Collaborate with global engineering teams to deliver changes safely across development, testing, and production environments


Whats required

Bachelors degree in computer science, engineering, mathematics, finance, or a related technical field

5+ years of software engineering experience supporting trading, post-trade, middle office, or financial data processing applications

Strong programming skills in an object-oriented language and experience building maintainable production applications

Proficient SQL skills with experience analyzing relational data, investigating data quality issues, and supporting database-driven applications

Hands-on experience with straight-through trade processing, security reference data, price data, and position or trade lifecycle workflows

Ability to debug trade capture, profit and loss, liquidation, pricing, and reference data issues in time-sensitive production environments

Understanding of macro financial products, trade flows, positions, and downstream reporting processes

Strong communication and stakeholder management skills with the ability to explain technical issues clearly to business and technology teams

Ability to work full time from Bengaluru, India, and collaborate effectively with global teams across time zones

Commitment to the highest ethical standards


We take care of our people

We invest in our people, their careers, their health, and their well-being. When you work here, we provide:

  • Health care benefits
  • Maternity, Adoption & related leave policies
  • Generous paternity and family care leave policies
  • Employee Assistance Program & Mental wellness programs
  • Transportation support
  • Tuition assistance

About Point72

Point72 is a leading global alternative investment firm led by Steven A. Cohen. Building on more than 30 years of investing experience, Point72 seeks to deliver superior returns for its investors through fundamental and systematic investing strategies across asset classes and geographies. We aim to attract and retain the industrys brightest talent by cultivating an investor-led culture and committing to our peoples long-term growth. For more information, visit www.Point72.com/about.



Apply Now

Job Application Checklist

  • Rsum
  • Education background
Apply Now

Still Exploring?

Browse Open Roles

P72 Careers - Footer
/* Main footer padding control */ @media (min-width: 1921px) { .c-menu-footer__graphic{ margin-bottom: -85px !important; } .c-footer{ padding-top:40px !important; } .c-footer__upper{ /*padding-top:100px;*/ } .c-menu-footer__menu{ padding-top:20px !important; } .c-footer__branding{ margin-bottom:0px !important; } .c-menu-footer__link{ line-height:1.3 !important; font-size:1.127rem !important; } .c-menu-footer__title{ line-height:1.4 !important; } } @media (max-width: 1920px) { .c-menu-footer__graphic{ margin-bottom: -65px !important; } .c-menu-footer__title{ line-height:1.4 !important; } .c-menu-footer__link{ line-height:1.3 !important; font-size:1.127rem !important; } .c-menu-footer__menu{ padding-top:20px; } .c-footer__branding{ margin-bottom:0px !important; } } .c-menu-footer__title{ color:#f5f4ee; } @media (max-width: 1024px) { .c-footer__graphic { display: none; } } @media (max-width: 768px) { .c-footer{ padding-top:25px; } .c-footer__upper{ margin-bottom:-20px; } .c-footer__branding{ margin-top:20px; } .c-menu-utility__menu-item { padding-top:3px; } } @media (min-width: 769px) { .c-menu-utility__menu-item { padding-top:0; } }

Point72

  • About Us
    • What We Do
    • Our Values
    • Leadership
    • Locations
  • Join Our Team
    • Working Here
    • Students & Early-Career
    • Asia-Pacific Offices
    • Warsaw Office
  • Career Paths
    • Fundamental Equities
    • Point72 Academy
    • Point72 LaunchPoint
    • Cubist Systematic
    • Global Macro
    • Point72 Private Investments
    • Proprietary Research
    • Investment Services
  • Resources
    • Perspectives
    • General Inquiries
    • Press Inquiries
    • Investor Login
  • 2026 Point72. All Rights Reserved
  • | Global Privacy Policy
  • | Terms of Use
  • | Disclosures
  • | Brand Misuse Fraudulent Schemes Notice
// Mixpanel ignore tracking for known IPs var excludeIPS = '[65.213.72.30, 185.142.16.9, 203.176.115.9, 208.68.197.6, 208.68.197.9, 208.68.199.6, 208.68.199.9, 208.85.160.9, 208.85.161.9]'; $.getJSON('//api.ipify.org?format=json', function(data) { try{ if(true && excludeIPS.indexOf(data.ip) > -1)else{ mixpanel.unregister("$ignore"); mixpanel.track("View Page", ); mixpanel.people.set_once({ 'First Career Page Visit' : new Date().toISOString() }); mixpanel.people.set({ 'Last Career Page Visit' : new Date().toISOString() }); // Only for Careers Site mixpanel.people.increment("# of Career Page Visits"); (function(){ var links = document.querySelectorAll('a'); [].forEach.call(links, function(link) ); })(); } }catch(e){} }); jQuery(document).ready(function(){ var str = navigator.userAgent; if (str.toLowerCase().indexOf("firefox") >= 0) { jQuery('body').addClass("gecko"); } }); CSJobDetailModule.init('{\"lastModifiedDateFormatted\":\"2026-09-16\",\"job\":,\"friendlyJobName\":\"software-engineer-macro-middle-office-technology\",\"formattedTeam\":\"Software & System Engineering\",\"formattedLocation\":\"Bengaluru, India\",\"formattedArea\":\"Technology & Engineering\"}');