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, Technology

ExperiencedNo visa sponsorship
Point72 logo

at Point72

Hedge Funds

Posted 6 days ago

No clicks

This employer did not include a short summary.

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, 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, 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 improving our companys IT infrastructure, positioning us at the forefront of a rapidly evolving technology landscape. Were a team of experts experimenting, discovering new ways to harness the power of open-source solutions, and embracing enterprise agile methodology. We encourage professional development to ensure you bring innovative ideas to our products while satisfying your own intellectual curiosity. 


WHAT YOULL DO

We are looking for an experienced professional to work as part of the Finance Technology team. In addition to tactical development, you will be responsible for delivering and creating programs to modernize and scale the platform through technology upgrades, cloud technology adoption, and re-architecting business processes. You will work alongside world-class engineers, partnering directly with Finance stakeholders to understand existing workflows and deliver scalable replacements. This position offers deep domain exposure across FP&A, investor reporting, and compensation, and carries a high degree of ownership over the modernization roadmap.

Specifically, you will:

Build software applications and deliver software enhancements and projects supporting finance and investor processing.

Work closely with business stakeholders to develop software solutions using test-driven and agile software development methodologies.

Be responsible for system upgrades and features supporting resiliency and capacity improvements, automation and controls, and integration with internal and external vendors and services.

Driving architecture of core platforms and accelerating modernizing leveraging AI tools

Work with DevOps teams to manage and resolve operational issues and leverage CI/CD platforms while following DevOps practices within the team and projects.

Continuously improve the platforms using the latest technologies and software development ideas.

Participate in initiatives to transition select applications to cloud platforms, enhancing stability, scalability and performance of the existing platform.

Develop close working relationships and collaborate with other technology teams to deliver cross-departmental initiatives.


WHATS REQUIRED

3 to 12 years of professional software development experience with strong expertise in Java and Java-based technologies.

Solid knowledge of financial products including fixed income, credit, equities, and derivatives, along with related accounting, settlement, affirmation processing, and prime broker reconciliation systems.

Extensive experience in SQL development and building large-scale data warehouses to support high-volume data processing and analytics.

Experience with Python and Databricks for data engineering, pipeline development, and large-scale analytics.

Proven background in developing high volume messaging architectures, streaming platforms, and transaction processing systems.

Hands-on experience building and consuming RESTful services, as well as developing microservices on Kubernetes-based platforms and AWS infrastructure.

Experience designing and building interactive web interfaces using Angular and React.

Familiarity with NoSQL databases such as Redis and MongoDB, along with exposure to agentic AI frameworks.

Strong verbal communication, analytical and problem-solving skills, understanding of agile methodologies, and commitment to high ethical standards.

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.



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-01\",\"job\":,\"friendlyJobName\":\"software-engineer-technology\",\"formattedTeam\":\"Software & System Engineering\",\"formattedLocation\":\"Bengaluru, India\",\"formattedArea\":\"Technology & Engineering\"}');

Software Engineer, Technology

Compensation

Not specified

City: Bengaluru

Country: India

Point72 logo
Hedge Funds

6 days ago

No clicks

at Point72

ExperiencedNo visa sponsorship

This employer did not include a short summary.

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, 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, 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 improving our companys IT infrastructure, positioning us at the forefront of a rapidly evolving technology landscape. Were a team of experts experimenting, discovering new ways to harness the power of open-source solutions, and embracing enterprise agile methodology. We encourage professional development to ensure you bring innovative ideas to our products while satisfying your own intellectual curiosity. 


WHAT YOULL DO

We are looking for an experienced professional to work as part of the Finance Technology team. In addition to tactical development, you will be responsible for delivering and creating programs to modernize and scale the platform through technology upgrades, cloud technology adoption, and re-architecting business processes. You will work alongside world-class engineers, partnering directly with Finance stakeholders to understand existing workflows and deliver scalable replacements. This position offers deep domain exposure across FP&A, investor reporting, and compensation, and carries a high degree of ownership over the modernization roadmap.

Specifically, you will:

Build software applications and deliver software enhancements and projects supporting finance and investor processing.

Work closely with business stakeholders to develop software solutions using test-driven and agile software development methodologies.

Be responsible for system upgrades and features supporting resiliency and capacity improvements, automation and controls, and integration with internal and external vendors and services.

Driving architecture of core platforms and accelerating modernizing leveraging AI tools

Work with DevOps teams to manage and resolve operational issues and leverage CI/CD platforms while following DevOps practices within the team and projects.

Continuously improve the platforms using the latest technologies and software development ideas.

Participate in initiatives to transition select applications to cloud platforms, enhancing stability, scalability and performance of the existing platform.

Develop close working relationships and collaborate with other technology teams to deliver cross-departmental initiatives.


WHATS REQUIRED

3 to 12 years of professional software development experience with strong expertise in Java and Java-based technologies.

Solid knowledge of financial products including fixed income, credit, equities, and derivatives, along with related accounting, settlement, affirmation processing, and prime broker reconciliation systems.

Extensive experience in SQL development and building large-scale data warehouses to support high-volume data processing and analytics.

Experience with Python and Databricks for data engineering, pipeline development, and large-scale analytics.

Proven background in developing high volume messaging architectures, streaming platforms, and transaction processing systems.

Hands-on experience building and consuming RESTful services, as well as developing microservices on Kubernetes-based platforms and AWS infrastructure.

Experience designing and building interactive web interfaces using Angular and React.

Familiarity with NoSQL databases such as Redis and MongoDB, along with exposure to agentic AI frameworks.

Strong verbal communication, analytical and problem-solving skills, understanding of agile methodologies, and commitment to high ethical standards.

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.



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-01\",\"job\":,\"friendlyJobName\":\"software-engineer-technology\",\"formattedTeam\":\"Software & System Engineering\",\"formattedLocation\":\"Bengaluru, India\",\"formattedArea\":\"Technology & Engineering\"}');