ByJack King,
a pop-culture nerd who has written about film and TV since 2019.
Photo: Nick Strasburg/HBO
You don’t need to know much about the world of finance to understand that it is inherently dramatic. It’s win or fail, collapse or prosper, live or die. It’s an arena, and traders are the gladiators. Such is why Mickey Down and Konrad Kay’s Industry set up shop in London’s business capital in 2020, following the young grads who enlist at the prestigious investment bank Pierpoint. A lot of the drama goes down on the trading floor, where characters bark jargon at each other to thrilling effect, setting up high-stakes trades worth millions of pounds. It’s frenetic, anxiety-inducing, and incredible to watch. You will not understand a single word of it.
All this competition demands risky moves that can change one’s fortunes on a dime. In season two, no one felt this more than Harper, who spent eight episodes courting the favor of tech billionaire Jesse Bloom, only to be fucked over when he embroiled her in his live-TV insider-trading scheme. Yasmin’s season-two arc similarly saw her attempt to cozy up to a more powerful individual, only to have that blow up in her face. And a word for poor Danny Van Deventer, a.k.a. DVD, who seemed a genuinely decent dude but nevertheless wound up with a dagger in his back.
As some fell, others rose. After being relegated to the boredom of Pierpoint’s client-relations department, Eric rallied back to the top, leveraging a threat to expose Pierpoint’s culture of indifference around sexual assault to force a return to the trading floor. Oh, and chef’s kiss for Gus, perhaps the only character involved with Bloom who did not get fucked over, although he did spend a lot of time fucking Bloom’s son. Robert’s season was more of a mixed bag thanks to his increasingly weird dynamic with Nicole, a rich client who exploited him sexually, and in return used him as her broker — which, given the scale of her trade, put him in decent standing on the trading floor.
Just as the financial landscape is dictated by economic, technological, and political trends, the value of our coke-vacuuming horndog ensemble is informed not just by what they do, but also what happens to them. So who is flying high heading into Sunday night’s season-three premiere, and who is holding a toxic asset? Let’s weigh up where Industry’s main players — and a few of the key side bets — stand on the trading floor following the events of season two.
1.
Gus Sackey (David Jonsson)
Almost everything came up Gus in Industry season two. Pivoting to politics, he got a new job working in a constituency office for a soft Tory MP; he also got a new twink, “tutoring” Jesse’s son Leo into Oxford. He did lose the constituency-office job after he let slip to his MP that he had leaked privileged government information that Bloom used to his advantage, but no bother, because Bloom gave him a new job — and £35,000 in cold hard cash. The final shot we see of Gus is of him lying back in Bloom’s private jet, surveying the city lights below with a content little smirk. Good for her! To the moon, baby. Alas, Gus’s ascension at the end of the season leaves him without a role to play in season three … but that just means his stock’ll stay up, right?
2.
Eric Tao (Ken Leung)
If we were measuring Eric’s worth by the entire season, he might be lower down this power ranking, but the guy is riding the high of becoming a Pierpoint partner — and he’s back on the newly merged trading floor as everyone’s boss. It’s a far cry from earlier in season two when he literally couldn’t sleep because of stress and then had to face the emasculating humiliation of being sent to Pierpoint’s retirement home (read: client relations). Oh, and after Harper outshone him during the Bloom saga, he had her fired vis-à-vis the forged college degree she used for her Pierpoint application. No doubt he did so at least partly out of his protective instinct toward her — Harper had “unknowingly” committed insider trading with Bloom, so in Eric’s thought process, maybe he was keeping her out of jail. But still, would anyone begrudge him a little Schadenfreude? Yeah, he’s riding high, but Eric has this strange ability to get fucked over, so keep that in mind going into the new season.
3.
Jesse Bloom (Jay Duplass)
It’d be fair to say that Jesse won the whole damn season, having both shorted the pharma firm FastAide and won a long play with rival firm Rican to huge financial rewards. Which he orchestrated during an appearance on CNN, of course, using an interview to speak back into existence the U.K. government’s investigation into FastAide’s Amazon acquisition. He taught Harper a thing or two en route, his son got into Oxford, and he’s still one of the most powerful financiers in the world. Though, with that all said, he isn’t likely to appear in season three — especially with Kit Harington slotting into the role of this season’s financial catalyst/antagonist.
4.
Nicole Craig (Sarah Parish)
Nicole is in Industry not only to demonstrate the corrupting power that money can have on one’s soul, but also how sexual predators in positions of power so often get away with it. Nicole very much got away with it in season two, not just in her queasy exploitation of Robert’s desire to make a name for himself — not to mention his clear mommy issues — but her assaults on Venetia and Harper also go ignored by Pierpoint. Her position in this ranking does not reflect a moral judgment of her character, as she is manifestly an awful person, rags-to-riches story or not — but to ignore the power she holds would be to ignore the point.
5.
Robert Spearing (Harry Lawtey)
Ah, Mr. Mommy Issues himself. Season two for Robert was basically the story of his Oedipal relationship with Nicole, who saw in him a cute young plaything to toy with/fuck. He remained deeply anxious, neurotic, and weirdly hot throughout; we also got to meet his publican dad, who did not seem like the kind of guy to return your calls, give hugs, or do anything else that might betray an iota of affection. So, you know, you feel for Robert, really. Can he escape the vice grip Nicole has on his crotch, both metaphorically and literally speaking? We’ll see in season three. Until then, he’s holding steady — but don’t write off a big spike in the near future, as long as he keeps off the gear.
6.
Rishi Ramdani (Sagar Radia)
Rishi took more of an active role in season two after becoming something of a fan favorite, probably because he’s given the most profanely delicious, shadiest zingers Down and Kay can come up with. He got married in season two, before which he had sex with Harper in a pub toilet, which may or may not come back to bite him on the arse. Harper also stiffed him on a deal with Bloom at the season’s midpoint, and he begrudgingly teamed with Harper and Eric — and later, DVD — to sell themselves as a collective to a rival bank with Pierpoint at the brink of huge strategic redundancies. That didn’t quite work out, but he did have the last laugh over Harper when he kept his job at Pierpoint instead of her. The more Rishi in season three, the better.
7.
Kenny Kilbane (Conor MacNeill)
Yasmin was probably too cruel to Kenny in season two — sure, he was a drunken arsehole to her in the first season, but was also deeply repentant for it after going teetotal. On the other hand, he was just a bit tragic and embarrassing. A little too dad-core without the warm self-awareness. He was and will probably continue to be just a bit … meh. Decent money says he’ll stick around in the background, though, being both deeply unappealing as a person and generally quite innocuous. He’s the sort of asset your investment manager would stick in a stable, bland portfolio for minor, steady gains.
8.
Harper Stern (Myha’la Herrold)
After acquiring (read: stalking) tech billionaire Jesse Bloom — who made much of his money during COVID with totally ethical investments in the health sector — Harper used their relationship as leverage while climbing up Pierpoint’s greasy pole. It (not very surprisingly) unfolded that Bloom was playing her the entire time, but the real sucker punch came at the end of the finale, when a reinstated Eric dobbed her in to HR for faking the college degree she never completed for her Pierpoint application. But there isn’t a chance in hell that Harper is down and out for good; she has too often demonstrated an agile wiliness that will no doubt see her rally through season three. Will she get back into the Pierpoint fold? One wonders whether she’d even want to.
9.
Yasmin Kara-Hanani (Marisa Abela)
Yasmin spent much of season two negotiating a move away from the FX desk to work for Celeste Pacquet (Katrine de Candole) in Pierpoint’s upper-tier private wealth division, which entailed a lot of wine dinners with handsome Europeans. Once under Celeste’s wing, she tried to get her dad to bring his business to Pierpoint, but he turned out to be something of an agéd fuckboy, so she cut him off. Alas, Celeste — with whom Yasmin had an affair after a prolonged “will they, won’t they” — told Yasmin that she’s only worth anything for her dad’s portfolio, sending Yasmin back down to the trading floor. Oh, and her dad froze her out of their joint account and changed the locks on their townhouse, so she’s broke, too. Couldn’t happen to a nicer nepo baby! If the common logic is to “buy low, sell high,” Yasmin is prime stock right now. But if there’s something else we know about Yasmin, it’s that she’s incredibly resilient, so expect a surge in the new season.
10.
Danny Van Deventer, a.k.a. DVD (Alex Alomar Akpobome)
DVD essentially took over the trading floor from Eric in season two; although he didn’t get an official promotion, he was the most senior trader on the floor and so became de facto manager of the CPS desk. He and Harper had a bit of a thing, and it looked like his stock was up, but then came the finale, where he was stabbed in the back and made one of Pierpoint’s very involuntary redundancies. Didn’t like him much anyway. See ya!
By submitting your email, you agree to our
Terms and Privacy Notice
and to receive email correspondence from us. This site is protected by reCAPTCHA and the Google
Privacy Policy and
Terms of Service apply.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
Already a subscriber?
Already a subscriber?
`;
// integrate Sub(x) scripts and elements
if (hostname !== 'subs.nymag.com') { // do not integrate on this subdomain
document.head.appendChild(trackingScript);
document.body.insertAdjacentHTML('beforeend', subXAnimationElements);
}
There was an error processing the request. Please try again later."}).catch(e=>console.error("Error verifying email: ",e)))(r.querySelector(".content"),o.bannerCTAVerification)})):(l.remove(),s.remove()),o.dismissable||n.remove(),o.useAlertIcon||a.remove(),r.classList.add("show"),n.addEventListener("click",()=>{u(),r.classList.remove("show")})}else r.remove()}});
}, {"1":1,"6":6,"12":12,"35":35,"40":40}];
window.modules["global-nav.client"] = [function(require,module,exports){"use strict";const dom=require(4),auth=require(12),signInButton=dom.find(".user-signin"),signOutButton=dom.find(".user-signout"),globalNav=dom.find('[class^="global-nav"]'),body=dom.find("body"),dropdownItems=dom.findAll(".dropdown-wrap"),gtm=require(1),appendLandingPageParams=require(135),pageUri=require(124).getPageUri(),subscriptionPromoLinks=dom.findAll(".persist-params"),searchString=window.location.search||"";function closeDropdowns(e){let n=globalNav.querySelectorAll(".dropdown.open");dropdownItems.forEach(function(t){let o=t.querySelector(".dropdown");!n||t.contains(e.target)&&27!==e.keyCode||o.classList.remove("open")})}function gtmSendReport(e,n,t){let o={eventCategory:"ecommerce",eventAction:"componentClick",brand:e,dimension23:"global-nav",list:pageUri,pageZone:"header",variant:"nav-link"};"global-nav-link"===t&&(o.eventLabel=n.href),gtm.reportNow(o)}function updateElementTargetUrlsIfQueryStrings(e){if(searchString){const n=new URLSearchParams(searchString);let t=e.href;if(t.includes("?")){const o=t.split("?"),i=new URLSearchParams(o[1]);for(let e of n.entries())i.set(e[0],e[1]);t=`${o[0]}?${i.toString()}`,e.href=t}else e.href=`${t}?${n.toString()}`}}function init(e){const n=e.querySelectorAll(".to-landing-page");window.addEventListener("auth:init",()=>{signInButton.addEventListener("click",function(e){e.preventDefault(),auth.showEmbeddedLoginFlow("top navigation")}),signOutButton.addEventListener("click",function(e){e.preventDefault(),gtmSendReport("Sign Out",e.target,"user-info-link"),auth.logout()}),auth.isAuthenticated()&&e.classList.add("signed-in"),auth.isSubscriber()&&e.classList.add("subscribed"),e.querySelectorAll(".user-link").forEach(e=>{e.classList.add("active")}),subscriptionPromoLinks.forEach(e=>{updateElementTargetUrlsIfQueryStrings(e)}),appendLandingPageParams(n)})}dropdownItems.forEach(function(e){e.addEventListener("click",function(){e.querySelector(".dropdown").classList.toggle("open")})}),body.addEventListener("click",closeDropdowns),document.addEventListener("keydown",closeDropdowns),globalNav.addEventListener("click",function(e){let n=e.target;n.classList.contains("global-nav-track")&>mSendReport(n.text,n,"global-nav-link")}),module.exports=init;
}, {"1":1,"4":4,"12":12,"124":124,"135":135}];
window.modules["aaa-module-mounting.legacy"] = [function(require,module,exports){"use strict";const _pickBy=require(221),_each=require(406),Fingerprint2=require(408),DS=require(407),Eventify=require(246);function registerGlobals(){window.DS=DS,window.Eventify=Eventify,window.Fingerprint2=Fingerprint2,DS.value("Eventify",Eventify),DS.value("Fingerprint2",Fingerprint2),DS.value("$document",window.document),DS.value("$window",window)}function mountDollarSliceComponents(){DS.service("components",["$document","$module",function(e,n){var o=_pickBy(n.definitions,e=>e.providerStrategy===n.providers.controller),r=Object.keys(o);function t(e){return o=>{try{n.get(e,o)}catch(e){logMountError(o,e)}}}_each(r,n=>{var o=e.querySelectorAll('[data-uri*="/_components/'+n+'/"]'),r=e.querySelectorAll('[data-uri$="/_components/'+n+'"]');_each(o,t(n)),_each(r,t(n))}),this.components=r}]),DS.get("components")}function logMountError(e,n){const o=e.outerHTML.slice(0,e.outerHTML.indexOf(e.innerHTML));console.error("Error attaching controller to "+o,n)}registerGlobals(),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{mountDollarSliceComponents()}):mountDollarSliceComponents();
}, {"221":221,"246":246,"406":406,"407":407,"408":408}];
window.modules["ads.legacy"] = [function(require,module,exports){"use strict";const _map=require(118),_forEach=require(107),_isString=require(268),_intersectionWith=require(409),_isEqual=require(274),_each=require(406),_debounce=require(182),_sortBy=require(205),page=require(124),visit=require(114);DS.service("adService",["Eventify","$cid","$document","$window",function(e,t,a,i){var o,n,s,r,d,c,u,l,g={},p=this,h=[],f=visit.getQueryParamsObject(["utm_campaign"]),m=document.querySelector('script[data-type="ad-a9"]'),b=[],w=!1,v=[],y=document.querySelector('script[data-name="ad-doubleverify"]');document.querySelector('script[data-name="concert-ads"]')||(i.NYM={},i.NYM.analytics={},i.NYM.analytics.adStartTime=i.performance.now(),i.googletag=i.googletag||{},i.googletag.cmd=i.googletag.cmd||[],u=i.googletag,(m||y)&&(i.googletag.cmd=i.googletag.cmd||[],i.googletag.cmd.push(function(){i.googletag.pubads().disableInitialLoad()})),m&&(l=i.setInterval(function(){void 0!==window.apstag&&void 0!==window.apstag.timeout&&(i.clearInterval(l),window.apstag.cleared=!0,l=null)},10),setTimeout(function(){l&&(i.clearInterval(l),i.googletag.pubads().refresh(),window.apstag||console.log("MESSAGE: Timeout for A9 load exceeded, aborting"))},500)),y&&(b.push(new Promise(function(e){w?e():v.push(e)})),c=i.setTimeout(T,2500)),o=function(e){var t,a,o=e.data,n=[];return o.loaded?e:(o.loaded=!0,t=null,(t=o.sizes?u.defineSlot(o.name,o.sizes,o.id).addService(u.pubads()):u.defineOutOfPageSlot(o.name,o.id).addService(u.pubads())).setTargeting("adid",o.id),f.hasOwnProperty("utm_campaign")&&t.setTargeting("utmcamp",f.utm_campaign),a=p.getAdCount(o.label),t.setTargeting("label",o.label+"_"+o.site+"-"+a),u.display(o.id),u.pubads().addEventListener("slotOnload",function(){i.NYM.analytics.firstAdLoadTime||(i.NYM.analytics.firstAdLoadTime=i.performance.now(),i.NYM.analytics.firstAdLoadLabel=e.data.label)}),n=_(o),Promise.all(b).then(function(){n?window.apstag&&window.apstag.cleared?window.apstag.fetchBids({slots:[n],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([t],{changeCorrelator:!1})})}):y&&u.pubads().refresh([t],{changeCorrelator:!1}):u.pubads().refresh([t],{changeCorrelator:!1})}),e.slot=t,e)},n=function(e){var a,i,o,n=t(),s=e.getAttribute("data-name"),r=e.getAttribute("data-sizes"),d=e.getAttribute("data-label"),c=e.getAttribute("data-site");n=e.id,r&&r.length?(r=r.split(","),a=[],_map(r,function(e){e=e.split("x"),i=parseInt(e[0]),o=parseInt(e[1]),a.push([i,o])})):(e.classList.add("oop"),a=!1),this.data={id:n,name:s,sizes:a,loaded:!1,label:d,site:c},g[n]=this},r=function(e){u.cmd.push(function(){var t=o(e);g[e.data.id]=t})},s=function(e){var t=[];e.slot?(t=_(e))&&window.apstag&&window.apstag.cleared&&window.apstag.fetchBids({slots:[t],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([e.slot],{changeCorrelator:!1})})}):e&&r(e)},u.cmd.push(function(){var e,t,o,n=page.getMeta("article:tag"),s=page.getMeta("author"),r=i.location.href,d=(e=a.head.querySelector(".head-gtm"),t=a.body.querySelector(".gtm"),e&&"top"===e.getAttribute("data-gtm")?"gtmtop":t&&"bottom"===t.getAttribute("data-gtm")?"gtmbottom":"");o=[],_forEach([n,s,d],function(e){_forEach(e.split(","),function(e){(e=e.trim().toLowerCase().replace(/\s/g,"-").replace(/\'|\’/g,"")).length&&o.push(e)})}),u.pubads().setTargeting("kw",o),u.pubads().setTargeting("entry_group",o),r=r.slice(r.lastIndexOf("/")+1),u.pubads().setTargeting("pn",r),u.companionAds().setRefreshUnfilledSlots(!0),u.pubads().enableAsyncRendering(),u.enableServices()}),this.load=r,this.create=function(e){return new n(e)},this.refresh=function(e){var t;_isString(e)?(t=this.getById(e),s(t)):s(e)},this.remove=function(e){var t=e.data.id;a.getElementById(t).innerHTML=""},this.getAdCount=function(e){var t,a=0,i=Object.keys(g);return _each(i,function(i){(t=g[i]).data.loaded&&t.data.label===e&&a++}),a},this.getById=function(e){return g[e]},d=_debounce(function(){var e={TopLeaderboard:1,RightColTopMPU:2,outOfPage:99,"homepageTakeover/TopLeaderboard":1},t=_sortBy(h,function(t){return e[t.data.label]||10});_forEach(t,function(e){return e.data.sizes?r(e):i.setTimeout(function(){r(e)},2e3)}),y&&window.PQ.cmd.push(()=>{try{window.PQ.loadSignals(["ids","bsc","vlp"],T)}catch(e){T(),console.error(`There has been an error loading Double Verify signals: ${e}`)}}),h=[]},10),this.addToPageLoadQueue=function(e){h.push(e),d()});function _(e){var t,a=e.sizes;return a=_intersectionWith(a,[[970,250],[970,90],[728,90],[300,600],[300,250],[320,100],[320,50]],_isEqual),e.sizes&&e.sizes.length&&(t={slotID:e.id,sizes:a,slotName:e.label}),t}function T(){i.clearTimeout(c),w=!0,_forEach(v,function(e){e()})}}]);
}, {"107":107,"114":114,"118":118,"124":124,"182":182,"205":205,"268":268,"274":274,"406":406,"409":409}];
window.modules["cid.legacy"] = [function(require,module,exports){"use strict";DS.service("$cid",function(){var r=Math.floor(100*Math.random());return function(){return"cid-"+ ++r}});
}, {}];
window.modules["client.legacy"] = [function(require,module,exports){"use strict";require("cid.legacy"),require("ads.legacy"),require("facebook.legacy"),require("aaa-module-mounting.legacy");
}, {"cid.legacy":"cid.legacy","ads.legacy":"ads.legacy","facebook.legacy":"facebook.legacy","aaa-module-mounting.legacy":"aaa-module-mounting.legacy"}];
window.modules["facebook.legacy"] = [function(require,module,exports){"use strict";DS.service("facebook",[function(){this.fb=function(i){window.FB&&window.FB[i].apply(this,Array.prototype.slice.call(arguments,1))}}]);
}, {}];
require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o typeof key === 'string' && key.match(/\.legacy$/)).forEach(key => window.require(key));
}
function tryToMount(fn, el, name) {
try {
fn(el); // init the controller
} catch (e) {
const elementTag = el.outerHTML.slice(0, el.outerHTML.indexOf(el.innerHTML));
console.error(`Error initializing controller for "${name}" on "${elementTag}"`, e);
}
}
/**
* mount client.js component controllers
*/
function mountComponentModules() {
Object.keys(window.modules).filter(key => typeof key === 'string' && key.match(/\.client$/)).forEach(key => {
let controllerFn = window.require(key);
if (typeof controllerFn === 'function') {
const name = key.replace('.client', ''),
instancesSelector = `[data-uri*="_components/${name}/"]`,
defaultSelector = `[data-uri$="_components${name}"]`,
instances = document.querySelectorAll(instancesSelector),
defaults = document.querySelectorAll(defaultSelector);
for (let el of instances) {
tryToMount(controllerFn, el, name);
}
for (let el of defaults) {
tryToMount(controllerFn, el, name);
}
}
});
}
// Make sure that a `window.process.env.NODE_ENV` is available in the client for any dependencies,
// services, or components that could require it
// note: the `` value is swapped for the actual environment variable in /lib/cmd/compile/scripts.js
window.process = window.process || {};
window.process.env = window.process.env || {};
if (!window.process.env.NODE_ENV) {
window.process.env.NODE_ENV = '';
}
// note: legacy controllers that require legacy services (e.g. dollar-slice) must
// wait for DOMContentLoaded to initialize themselves, as the files themselves must be mounted first
mountLegacyServices();
mountComponentModules();
// ]]