00:00:00.000
A quick disclosure before we start today. Salesforce paid for my flight and hotel to be at Dreamforce 2026. They didn't get to see the questions ahead of time, and they didn't get a say in what made the cut. With that, on with the show
Dan
00:00:16.643
And then the AI duplication is sort of the… And a bad way to say it, it's sort of the slop, which is, geez, do we really need ten different ways to calculate sales tax? If you're doing agentic tools and you're not thinking about having the right agentic harness and how you're doing this really the discipline of the agentic harness for coding agents, that's the challenge you're gonna have. And the statistic was four to eight X of duplication because of that, the AI slop, if you will. This is DevOps Paradox, episode number 369, Vibe Coding Without the Sloth
Darin
00:01:46.061
Viktor and I have talked about vibe coding a lot. Viktor is not here with me today because I am on site at Dreamforce 2026 in beautiful San Francisco. Now, since I'm from Dallas, it was 102 when I left. I arrived here, it was 60, and it was wonderful. So on today's show, I have Dan Fernandez on. He's the VP of, this is a long title, VP of Product Management Developer Services at Salesforce. And I didn't read that. I actually remembered it. Was it right?
Dan
00:02:20.215
correct. I also do the digital experience platform as well, but yeah, same difference.
Darin
00:02:29.858
you're in charge of all the cool tools as a developer that I would use, people listening would use, the CLIs, the VS Code-ish stuff, all the things. I will go ahead and say up front, and I'll put a link down in the episode description, Dan did a great interview on Dev Interrupted October of 2025 with the LinearB guys that covers a lot of the base stuff. But it's been a year, so things have changed. Again, vibe coding, Viktor and I have talked about vibe coding, that it is great until it's not, and usually that not time is really quick. To me, and since you didn't hear that, because you listen to our episodes all the time right, Dan? I just wanna make sure. basically the way- No complaints … the, the way that we describe vibe coding today is it's basically the new Excel went into production. That's the way I feel like vibe coding is. but with Salesforce, y'all have, and again, you can go back and listen to the Dev Interrupted podcast, that because of all the guardrails naturally that exist in Salesforce, putting vibe coding in it wasn't that, and this is my words, not that big of a deal. Because you had so many guardrails. This is where people think that they can just bring in vibe coding into their enterprise or even their small shop. It's like, true, you can, but then what about all the things?
Darin
00:03:49.846
And you already had all the things. So fast-forward, now we're a year later. Where are we at? What's really going on in this space?
Dan
00:04:00.514
Yeah. So there's a, a lot of changes and one, happy to be here. So a high level, just as a measure of the, volume that we're talking about, GitHub released their data that had the number of commits changes. Just so we j-get a scale for the problem. Twenty twenty-five, the number of commits were one billion for the entire year. They are doing more commits, one point one billion per month. That's a fourteen X increase in just the amount of volume that they have. And you sort of think about like, "Okay. Wow, that's crazy." The other one is the, radar data for Cloudflare, which showed the amount of traffic humans are-- have now been surpassed by bots, just to be fair, this could be somebody who's on Google Gemini. My daughter's having her birthday, this, Saturday. I want to search for, gifts for her, use Google Gemini to be able to do that. That's hitting ten different, sites and different ideas. All of those count as bot traffic. Bot traffic has now surpassed humans. So how do we start thinking about, we're not just building for humans' interactions and interaction layers, but also for agentic experiences, Build one's designed for two surfaces, if you will. And then the AI duplication is sort of the… And a bad way to say it, it's sort of the slop, which is, geez, do we really need ten different ways to calculate sales tax? If you're doing agentic tools and you're not thinking about having the right agentic harness and how you're doing this really the discipline of the agentic harness for coding agents, that's the challenge you're gonna have. And the statistic was four to eight X of duplication because of that, the AI slop, if you will.
Darin
00:05:39.944
Okay. Twenty times way to calculate sales tax. we do that already. We've been doing that for decades. We don't have discipline. How can we even get discipline? W- I don't think even if, if you're a human telling an agent or creating an agent to do it, sure, you can s-stand it up, give it a nice definition, but that thing's gonna rot faster as soon as somebody makes a change in some h- state house somewhere that the taxes are gonna be different.
Dan
00:06:05.078
And to be fair, it's not just that. It's, oh, shoot, this team decided to use Node.js. This team decided to use Python. This team's using a, completely different tool. And so that's one of the key areas that we'll send a link to the viewers. We, Salesforce, published in our Salesforce engineering blog the areas and the journey that we went through to do this from AI-assisted to AI-native. And part of this is like, okay, great, now we can build everything. What could possibly go wrong? And that is literally sort of the phase one, the stages one to three of AI-assisted, and then the, trough of disillusionment, if you will. And there, that's where we're doing a big investment in what has now been renamed Lifecycle Center So which is one, how do we have and really think about a new role in engineering that is designed to enable other people to basically have the right tools, skills, and choices that they're making for their architecture so that we are telling their agents what they can and can't do? As part of that, our new product called or the new label for our existing product, which was DevOps Center, is now gonna be called Lifecycle Center. The intent is to add our coding agent platform governance. What that allows you to do is within coding agents to say, "These are the tools and abstractions and decisions we, want you to build, and to have consistency that you can measure for those tools." Now, that includes things like our quality gates. That includes things like what you can and can't do, and that's for Claude Code. That's for our Agentforce Vibes tools, and we have a Claude Code plugin and other agentic tools that you want to be able to build and measure to ensure that you have sort of consistency and quality. So it's just kind of one example of a quality gate that you can have is seven hundred rules that are running against your code, and these are static analysis tools and graph engine tools and things like scan analysis tools that are helping to ensure your code is following best practices doesn't have security issues can actually scale. So a tool called Apex Guru that's not just looking at static analysis tools, looking at your production environment. Cyber Monday is coming. How do you ensure that you're actually testing your code within there? we make that available as a s- as skills. So skills, again, are markdown files that we're giving to those agents. we started this journey at maybe like thirty skills. We're well over a hundred, and we'll probably potentially even have like a thousand skills that are giving instructions to agents. And what they're doing is not just telling the agent how to build stuff, but actually how to build and have verification loops So what that means is you go pull up… Apex is a programming language for Salesforce. And what we have directly within the skill is, hey, I want you to build the code, I want you to build the unit test, and I want you to verify the results using the free code analyzer tool. And it'll run and say, "Hey, until these things are fixed, you're not done." And again, people are used to things like hooks within Claude Code plugin to basically verify your results. So we are sort of encoding those best practices to ensure that while you're building things the code and the quality is within there. You connect up to an org, it downloads the policies. And again, you can think of policies as almost like the federal, state, local. Again, having that federal set of policies, and then you can apply it on a per project basis, right? So the poor folks that have to do the Sarbanes-Oxley and all the auditing and requirements and all that lovely stuff can have much stricter rules than, say, when we're building applications. I think the key here, the key unlock is, one the tools that we're actually building this with are coding agents. Underneath the covers, that's using things like the Anthropic Agent SDK. The same power and tools and capabilities that you have with Claude Code are now exposed directly within Agentforce Vibes and a new set of tools called Builder Central that is think of it as the no-code tool to do the same things you might do in Claude Code, but with those agentic skills, tools, and policies within. And then lastly is a new tool called Quick Pages that enables knowledge workers. Now, the difference here is in Builder Central and Vibes, you can actually change the shape of your apps, your agents, maybe I'm deleting fields and so on. With knowledge workers, the key thing we're doing is they're just building ways to connect to data and then to understand and build reports and dashboards. So the surface area of what you can do, you're not deleting customer records or anything. It's, "Hey, can you ask your coding agent?" And whether that's a coworker or whether that's Claude Cowork, To be able to analyze your data, build dynamic reports based on the data, which is like, "Hey, I'm having meetings. What are my opportunity meetings tomorrow? What areas should I go through? Who's talked to what? Give me the transcription in the meetings, and what are the things that I can better prepare for that?" So really the knowledge worker to the admin and no-code developer that wants to take advantage of these tools. But we don't want to throw them into sort of the deep end, if you will, on, "Hey by the way, you have production." And I use the Wired article as a great one, which is one in five applications had some serious security issue where they, were changing things in production And now people's driver's licenses were exposed 'cause they were vibe coding. How do we basically prevent that? One, having that pipeline, and it literally is a DevOps pipeline of quality gates and a set of skills, rules, and governance so the people that are actually changing the system, that you have that. And again, that you're able to manage all those capabilities at scale.
Darin
00:11:42.507
That's great for everybody that's not technical, but everything that you've just laid out over the past few minutes- Mm-hmm … Tells me now I am no longer needed as an application developer for my company.
Dan
00:11:52.397
this is sort of the existential crisis, which is like, "Hey, are developers actually needed?" you look at it in two ways, which is "Man, no one's gonna be able to do any development," or the inverse, "Everybody's gonna be doing development. What are the things that we need to do?" and part of that is, wow, geez, how do I enable others? So what does that mean? it's the redefinition of the harness engineering or platform engineering, and it will be its own category of job, which is: How do I enable this thing where a set of agents are building things on our platform, and how do I enable that for others to be able to use? That is a new skill that hasn't existed before. How do you measure not just agentic quality, for skills? How do I build tools to do the static analysis? How do I make sure that I'm actually measuring the harness's success or not success when it actually has slop? back to your, meta point, which was, "Hey vibe coding means slop," that is an engineering discipline. And that is what we faced internally within our engineers, which is if you don't do this stuff, you will end up with slop. And it needs that engineering discipline to actually get us out of the AI validating stage to the orchestrating stage. And we have not said, "Oh, geez, we don't need engineers anymore." We need them more than ever because there's going to be more people building on the platform than ever before.
Darin
00:13:14.143
How did your engineers define slop? Because to me, if slop-- It may not be the code I would have written- … But it still runs and solves the problem. Is it slop?
Dan
00:13:23.841
It's actually a great question, which is at what point are you trying to solve the outcome versus the best possible code? Is another way that we've heard it from folks. one is a couple things, which is, one, how critical is the code? What is the impact analysis of that code? And if it is the thing that is taking, let's just say, Stripe payments. We either make, a million dollars a day or we don't. The level of criticality to that code and the level of testing that you want is incredibly high. If there's something else where it's like, "Hey, I'm just trying to get a better understanding to improve things," that maybe doesn't have sort of the criticality that you have, which is like, "Geez, I just wanna be able to do something that scans my…" App Store reviews, because again, we are label you to build iOS and Android apps. Can we just build a skill that goes in every day, pulls App Store reviews, looks at it and maybe says, "Hey, the person that's using the Hungarian localization language, it's broken." Can we basically build a skill to analyze that and as a background agent actually maybe submits a PR and then we'd be able to do that? Those are two different criticalities if understanding sort of where you are in some of the bad feedback and can we improve that versus we don't make money today. Again, what our engineer is trying to do, which is one, understand the criticality of that, but two is make sure that we have that. And I have uh, our dear friend Boris from Claude Code talking about this, right? Which is like the, we have many guardrails in place to make sure this is happening. Linting rules, tests, Claude-driven end-to-s-- end tests. And that's one of the key things that we were having from our engineering team. to get back to the challenge that we faced within here was a lot of folks were sort of token maxing. Can we actually have some level consistency or, geez, we're finding LLMs do not have enough training data for this particular metadata type. So geez, we need skills. Well, What does a successful skill look like? How do we basically evaluate that? And it's very easy to say like, "Hey, this skill, we're telling it to do the right things and it does do verification." What are all the other variables? So when I'm doing harness engineering, it's not just the what skills are active. Do I have too many active? Which model am I using? You're, You're seeing people say like, "Hey, this is actually a better model for code verification." the ChatGPT and Codex models just recently uh, people are saying like, this is way better for defined things like fuzzy testing or integration tests that we may have missed versus the actual creating the tool in the code itself," which people are like, "Oh yeah, you know, Sonnet four six is still sort of Like our gold standard for that." And then people saying uh, "Opus five is sort of like hit or miss, and Opus four eight was great." But one, you being able to test the end-to-end of that. It's not just the individual skill, it's the skill within a context and all the other things that are within your, code base Classic example is using things like the wayfinder pattern and Matt Pocock skills to be able to have the agent, when I'm telling it to do stuff, it needs to know and understand my code base so that it doesn't sort of go wild. And you're basically giving instructions and really writing documentation so that the agent can find itself. That discipline is still absolutely engineering. It's just agentic engineering.
Darin
00:16:44.047
Which nobody wants to do, or very few people want to do that I'm running into because- Oh, really? … they're in, they're fearful of their-- Fearful is not the way, they're just angry that they can't do their job the way they've been doing it for the past 20 years.
Dan
00:16:56.017
do you see that there's a set of folks that are more like, "Wow, I've never been able to do X"? And I'll give sort of Like my personal-
Darin
00:17:02.081
that's me. Okay. Because I'm on the other side of it. It's like, man, I've had this backlog for decades- Right ……That now I'm able to actually do.
Dan
00:17:10.397
The classic example is, man, I built a Three.js visualization of data that I wasn't gonna be able to do before, and I'm not a, Graphics person, but to be able to do a texture map and everything else in Three.js, gorgeous, in React, and it works everywhere. I mean, It would've been hours of learning how to be able to do that. So it- Learning how to do it, not do it. Yes. exactly. Exactly. And that's, that's its own challenge. Yeah. at least and again, I give sorta internal examples of a number of folks going, "Geez, this gives me the ability to scale and do things I never thought before by becoming sort of a, a manager of agents or manager of managers to be able to do and the amount of changes." but you also do have to sorta internalize that feedback, which is, hey, people are worried about their job. People are worried about sort of their self-identification. I was the expert in, pick the tools, products, and services, and how do you sort of bring them along? 'Cause again, technology has never just been about the bits and bytes. It's the tools, process, and people. So how do you bring those people along and say like, "No, you have a bright future, and you are the one that don't think of this as a threat, more of an opportunity for you"?
Darin
00:18:22.312
I, I love that idea. I don't know that a good majority of the C-levels think that way because- Yeah they're looking to cut people because they need money to pay for tokens, and the quickest way to do that is get rid of people I don't know how we solve for that. I don't know that we ever do. Unless those companies start making more money, but if they make more money, it's gonna go towards tokens maybe. And this also spins into-- Okay I'm being very doomist right now. The people I'm most concerned about, we've talked about juniors and it's like, what do juniors do? I'm thinking about the people coming out straight out with a CS degree right now. It's like, what do they do? It's like being from Dallas area and growing up on the East Coast, it's nothing like the West Coast because there seems to be a lot more technical options here- Right at least in the US, than there is anywhere else in the States. What do you say to somebody that's coming out of school that's like, "Okay, what do I do? Do I just go and work at the local coffee shop now because I put in 50 resumes and nothing's happening"?
Dan
00:19:22.856
I want your thoughts on this because there are legitimate companies and I would say this is like the hyperscalers, that have AI bills to pay and have made the choice between the AI bills and people. Yeah. And certainly you see those articles. That said, that is not the majority of customers. That is true. There, there's people basically stapling themselves on because of economic reasons that really have nothing to do with what is your AI bill on doing layoffs. And you're starting to see the backlash on using AI as the excuse for all layoffs. But again, this is sort of like my personal take on that, everybody just stapling on that. back to your other question. I think there is a, level of uncertainty on what is the future. There's again, sort of two ways to look at that. It's the pessimistic doom, doomsday scenario or the opportunistic scenario. Never before has a junior developer been able to, build or run their own business. The sort of business o- of zero. And I've seen some of the examples where you're talking about like," Hey, we have our agentic workforce or our digital workforce." And I think that's a really interesting example on how people can adapt and learn in this new environment. We, Salesforce, have just recently, and I'm trying to think of how many total people it was, but we just hired a number of undergraduate folks. There's just brilliant people out there And we weren't hiring, and we said, "You know what? You're just a smart person. We're gonna hire you and figure out sort of what to do with you." Because there was this great supply that wasn't being used, and it's sort of like one example on, hey, you can do it and be like, "Oh yes, let's just maximize our profits and loss." Or can we actually take these brilliant people that, again, this is like the where did you get started in your technical journey, and actually give them an opportunity to sort of build and think about what is the future and not just like the "Hey, you are a cog in the wheel Help us define the future, uh, Of agentic development. Help us define the future. And again, we have a number of programs that we do. I'll give you just one, like fun example. If you are like a product manager, you get to join Salesforce and work on three different projects. And so you get to choose, and we always try and recruit just one of them, for example. they get to then choose which project they're doing. But as kinda one example of a, a recent hire, she owned getting a native Swift development and a set of skills in MCPs and Agentforce Vibes. And again was she necessarily an expert? No, but you deep dive, you understand the tools, and then you help basically do the evaluation. again, she became sort of like a permanent member of the team. But it's those examples where you get a tour and really sort of have a really high impact on three completely different projects within the company. And again, this could be like in, API management With MuleSoft, where you're thinking about like high scale and observability of systems and orchestration of systems, or something within Slack where it's more like, the user experience. We as Salesforce are trying to do a number of things to really help get those new voices and the youth, if you will, Hired within there. And, I'd love to sort of get your thoughts. Do you really think it's just AI, or is this sort of like an economic downturn? 'Cause we've been in economic downturns. I don't know about you, but the dot-com bust was pretty terrible.
Darin
00:22:46.596
I mean- You could say that was bad, yes. Yeah. When, a SOC was orphaned, a pop- Oh, I know … a pop-up SOC was orphaned, the, it's what do you do?
Dan
00:22:53.684
Yeah. And so you, you sort of have to look at it like that. It's not just AI, there's other economic factors. and maybe just the, optimist in me looks at the opportunities and what that actually means for folks as well.
Darin
00:23:05.519
I think it's possible. I mean, You think about it, 2000, which was with the dot-com bust, basically, 2008 with the banks doing their thing. Right. Right. But we really haven't had anything bad economically in the States, you could argue it, but nothing like to those levels until recently. Now, as we're recording this, the Fed met today. I don't know what happened. I don't know what happened- … with the markets today. I just, I don't know if it went up, went down. You're listening to this the week after recording of this, so you're listening to this seven days after it was recorded. can I say statistically we're probably due for another big correction of something like 2000 or 2008? Wouldn't surprise me. I want to stay here for just a second longer. Yeah. What if we would've had the AI capabilities we have today- Back at the peak of hiring, it-- during COVID, like at 2022, right? 'Cause we had, everybody was hiring like nobody's business, and then everybody got laid off like nobody's business. I wonder what would've happened if we had the tech where we're at today in September of 2026, in September of 2022. What, would've looked different?
Dan
00:24:11.902
Yeah. Absolutely. And again you hear those stories of people just over-hiring, hiring where they didn't even have …positions or hiring to try and block. How much of this is true or just, rumor? But you do look at where the top 100 tech companies were. The number of headcount that they had really did explode there.
Dan
00:24:34.468
Exactly. And then it And then again, people saying " like, "Well, This is just a correction on that," …As well, but personally, I feel like we're been having a great-- Like the tech careers in general has always been g- Yeah, exactly. It really has been great. So to some extent, it really maybe depends that what industry you were in. We're now being affected, and I know not necessarily a lot of our peers were around for sort of the dot-com times when things were bad. The financial crisis, at least me personally, I knew less people impacted, but it certainly feels like tech is probably More in this area.
Darin
00:25:09.227
we've got all the tooling now, everything's solved, right? We're magic hand-waving here for a second. Yes, We're out of the valley. What is that gonna… 'Cause I still think we're in the valley. In fact, I think we'll be in the valley for another couple years. That just seems reasonable to me 'cause everything's moving so fast. As soon as-- 'Cause you were talking about We build a skill that's based on a certain harness that's backed by a certain model, version of a model. Not just a certain model, but a certain version of a model. And the version of the model changes or the harness gets updated that no longer has the right system prompt and d- It- There has never been …so many moving parts. Totally, Totally. I don't know how we solve for that because until that can get under control, I don't, and I don't know that y'all are even solving for that right now 'cause if people are able to bring in their own harnesses and their own models- and then all of a sudden something stops working and they forget that Brent, by the way, if you ever read Phoenix Project, Brent was the guy in charge of everything. Yeah, Yeah. You know, Brent decided to go ahead and flip the bit from 4.8 to 5.0 but didn't tell anybody and everything's gone to a very bad place. Yeah. How do we even get-- 'Cause again, guardrails are great- … As long as they're force, enforced all the way down. And since at least with what I've seen with Vibes, which is a very interesting name, I'm-- It's a very West Coast thing. I'm trying to sort of Get there. I'm not there yet. But if, if, if even if Vibes, I can hit a side door And potentially, not get the expected results that I've been getting for six months. How do we deal with that?
Dan
00:26:40.021
Yeah. So, uh, uh, sort of A lot to unpack, and I'll just give you a fun fact on Phoenix Project. When I was at Microsoft, one of the key things we did was actually build a set of open source code that implemented a lot of the best practices directly from the Phoenix Project 'cause we want to do things like feature toggles, right? So that you could actually turn things off like, "Hey, the recommendation service is causing the regular page to go down." How could we basically have those as sort of self-healing, if you will. but stepping back to your question. So as we're building stuff, one of the key things we need to do is one and look, many of this stuff has been the mantra even from Phoenix Project, is the system observable? So what does success look like? how is our audit log for our tools, processes within there, which is hey, the agent was building stuff, but then it just started doing other stuff. And really early days, like you would have agentic tools actually switch programming languages within requests. Like, That was like the, the wild part, right? Can you actually measure that? And can you have that be an input to the system, right? And that's where we think about these continuous improvement tools. the company that I've seen the most interesting examples of this is what Qwen is doing. And again, in their example, it's more of an autonomous agent, but it's literally using the logs and tasks and feedback from its session as it's running and actually changing its harness as it goes. So it's like, geez, we really started getting bad results, so I'm going to disable a set of skills or actually change the system prompt. And again, sort of A crawl, walk, run. Will these be proven out as better tools? And how does our tooling sort of improve to be able to understand when something went rogue What does that happen? How do I stop it? And then how do I basically get it back on track? Do I need to effectively clear the context? Is that actually worse to be able to do? Can I change what the active skills are? Can I change what the active MCP is? Do we need to change our system prompt to be able to do that? Do I s- effectively stop an agent from doing this stuff? And you know what? Let's just almost start over, destroy this Git work tree and take a task back. And that's one of the key things we're doing is also it's sort of the simplicity as well. I go back to the Gene Kim stats on the mean time to remediation. These are some of the things I wrote in my Docker Microservices with Azure book, which is smaller changes are way easier to be able to remediate and reason about. How do you handle that in an agentic world? So where you have a set of things I decompose into a set of user stories, and that user story ends up being a s- much smaller set of code. And the thing we can do is with sub-agents, literally define the context for that. So if I'm building-- I break something down, one of the things we're building is React, that IIIJS example. Geez, I wanna make sure that actually behaves really well with accessibility. There's an accessibility skill. How do I make sure that when that sub-agent is adding accessibility for that, the only thing it has in its context is, "Hey, I want you to, to make sure that you're doing the right things to scan and analyze to make sure it accessible." So instead of having context for everything, which is the entire application or schema or the unit test, no, you're building accessibility for that capability. The number of moving parts for that sub-agents goes from really wide to really small. If I need to reason about that accessibility, it's just that work item. And then if I need to say like revert or back end that I know exactly what it's attacked to from that process, and it's way easy for me to, toggle that feature say on or off back to some of our best practices as well.
Darin
00:30:24.513
Which takes us back. I haven't done anything hands-on with Salesforce in 20-plus years, but the one thing I do remember is the versioning, like from the old Apex, right? Yeah. Yeah. So, is versioning a big deal just within the general platform today, like how I'm thinking from 20 years ago?
Dan
00:30:39.737
It's always a factor because If you are tying yourself to a specific version of Apex like, "Hey, I can, Be able to do that." and let's say for example, you wanna do that, you wanna stay in a version, you wanna make sure that you are customizing those skills to say, "Hey, I'm tied to version 67 for whatever reason." So if you do wanna refactor to improve your code, you're not breaking things and you're sort of living within those rules. some examples that we're telling folks to do, which is, "Hey we have a set of skills that can basically infer how you are writing code." So all our code is written on, a specific version. So instead of using sort of our de facto skills, you're building skills that are asking it to basically scan, and it understands the implicit rules that your team is doing, and also the explicit ones like, "Oh, we're on version 67, but you know what? We're using this, we're using this, we're using this." And just some of the other best practices. Sometimes you want those skills to not learn all of your code base, This is the… We don't talk about Bruno. Like, Don't look at here when you're building the skill 'cause that's the, That's the really old Apex, if you will. So you can literally guide our skill tools to build it based on the best practices that you'd want every engineer to follow.
Darin
00:31:52.240
So in other words, the best practices are use latest everywhere is what I'm hearing. Yeah, I mean,
Dan
00:31:58.770
But you'd be surprised that a lot of people want to be able to be on the cutting edge. so how do they make sure that they're able to do that? And a lot of them, again, the sort of leading companies are, I want to be able to have my tests and everything be verifiable in a way that we've never had before. And just for example, for this release, we announced a new type of Apex test called an integration test, and it really is not just the unit test, but be able to do things like a call out where I want to be able to do a series of steps and then be able to check the value. another one that we did was playwright testing, h- which has been great to be able to have that as a coded UI test that are reliable, repeatable as well. Hey, I don't just have sort of the jest or the unit tests for my UI or my logic, but I actually have things where as part of my criteria is go to the CEO's dashboard, make sure that they can do a search on the report, and make sure the filters and facets actually have data, how you think is sort of end-to-end, where developers before were like I've written one unit test per method and everything's great." Can you really sort of think about not in isolation the components, but the aggregate as well?
Darin
00:33:06.196
My joke about latest was I was thinking NPM and- Yeah container ……images. Yeah. But you're thinking-- You're saying now people could actually do that if they're deploying and testing to the extreme at this point. Yeah.
Dan
00:33:18.286
that really is a change in behavior, right? And look there's always gonna be areas where depending on where you are, it's "No, we have tested this thing for security." Especially the more third-party tools that you're using, the scarier it becomes, and there's a number of things. Supply chain attacks are not going away. And there's a number of interesting tools, products, and services like, uh, Chainguard is a great example. It actually would be great for you all to sit with them because they're doing a, a really interesting set of things to provide the secure NPM or the secure PIP or wheel platforms
Darin
00:33:52.077
So again- Good to know … you, you, you've listened to 'em all. You should remember that. It's been a while, but you know. Yeah. Yeah. So I'm sitting here trying to figure out, all right, which way do I go? Let's say I'm either, let's say junior or mid. And I'm being offered the opportunity to work on a Salesforce project. Without going all Salesforce-y for the moment. Why would I want to do that today versus just staying in my regular IDE and keeping doing my Java or Rust or whatever? why would I want to do that?
Dan
00:34:24.607
Oh, what a great question. So let me do this, and for folks following along, At Dreamforce, we made some of the biggest changes that we're talking about to redefine what our platform is. 'Cause if you were building UI, let's just pick on that at last GDX, it was Lightning Web Components. Now we have React and Angular. At this Dreamforce, we now have what's called Trusted Compute, and this is to play on Prince, the artist formerly known as Heroku is now an option.
Darin
00:34:57.987
still lives? Not only that- No, excuse me. I know it because I use it. Yeah. But I, I'm just saying it continues to live because I was concerned because the letter came out a year ago saying- We're in maintenance mode, which was my-- That's always a red flag of, " Peace out. I'm gone."
Dan
00:35:14.667
Correct. Correct. So one, it's always had sort of its credit card business as i- its key thing, and look, I built a ton of stuff on Heroku when it was free and absolutely love the things they did. And the number of training classes that would use Heroku was great. So I think there's always sort of This love affair with the capabilities that it had. Now because of we do have to rename things of course, the term is trusted compute provided using the Heroku services. So your Java developer can now build the language that he wants using build packs and build an application that uses Salesforce services. Maybe it's a Java Spring application. Maybe he's just building a REST API. He can do that today. There's something before Dreamforce that we would say like, Okay, yes, you can do this." This is sort of our stated direction. How do we have a great platform for developers? trusted compute was always one of our gaps, which is, hey, folks that had existing Java. Listen, that's where our I-IP is. We want to be able to reuse as much code as possible, and you're making me learn another programming language, or our team does this, or, hey, our industry has this set of tools, our company has standardized on X. Being able to remove those things and be able to say we can use industry languages to build web applications, REST APIs, and some of the other capabilities that exist within there. Geez, I want to be able to have a key value cache. And again, artist formerly known as Redis, to be able to have a real-time, because the majority of people that are looking at our pages, and maybe this is like a document-centric example, ninety-nine percent of the traffic is actually just doing reads. So maybe we can use the other patterns that we haven't been able to use before by having a, key value cache. We want to be able to do eventing. Now we can do Kafka and have that be able to plug into a system. Maybe it's like the once the system goes through, it goes through a Pub/Sub and then sends you the nice email confirmation. We don't have to sort of wait for the transaction to go through. Those things that we sort of know and loved were, oh, yes, you can do this, but it sort of was required you to do things sort of off platform. Now, these are great capabilities, components, if you will, that anybody can build on the platform. That's why I'm excited as well to like, the number of things developers get to play with is, has increased and really sort of redefining what it means to be a Salesforce platform.
Darin
00:37:37.926
Now, I haven't looked at your CLI at all, period But now I'm beginning to feel like if you've taken a look at the AWS CLI- Mm-hmm Which AWS, and then you have 97 things, options that you can go into for the services. Right. That's what it's feeling like this is becoming. Oh, interesting. Because to me, again, you started naming off some stuff, but the actual acquisitions that Salesforce have done- … Off the top of my head, MuleSoft, Tableau, Informatica, Slack, Heroku. I can't think of the, where's… I know there's a couple other… Like, i'm thinking about the building blocks. Sure. And tho- to me, those are five big building blocks. I remember when Tableau was by itself. I remember when Informatica was by itself. Right. You know, I, I remember these things because I'm old. But now I have all these application services I've used for 20, 30 years- … inside of a platform that's got guardrails that, in theory, I shouldn't have to deal with, and if I have to deal with them, I'm gonna be calling somebody not very happy because something happened. It couldn't have been me. Could never be me. It almost feels like now Salesforce has become the place where you want to write your apps. as long as I can stay away from Apex.
Dan
00:38:48.344
as they stay away from Apex. Yeah. So …there's some people that absolutely know and love Apex, and there's some people- who would be like- how can I use Java? Or people that fell in love with Python. Yeah. And it's like I wanna be able to use your product and services, but don't make me learn another language to do it. And that's sort of the, the capability to the power that we have by expanding the platform.
Darin
00:39:07.576
So as the platform continues to grow and you make new acquisitions, I'm not saying you're making any new acquisitions, but you will because there's a pattern of that. Sure. It's just, basically at some point, Salesforce will be the place to go to build an office app. Now, I wanna st- stick with this 'cause I heard Marc Benioff, the CEO, as of today, either in the keynote or in something else, talking about the split of businesses. Basically, enterprise is a third, mid-market's a third, SMBs are a third. Now, it's not the same product split across all those. Slack was obviously the big one. Where do you see the tooling that you're working on really being used right now? Is it mid and enterprise and not so much SMB? what are you thinking?
Dan
00:39:50.667
So I think when we talk to developers, the one thing to sort of like caveat is a bunch of people you can't categorize, code-heavy folks. And this is one example that I actually learned at Microsoft. Sirius XM in Washington DC. They were categorized as a small-medium business. They had 400 developers. For development, that was huge. one of the things that we just look at is how much are they doing the build versus buy, how much integration are they doing, how much code they're doing. That's like the, at least from our world, the lens we look at, right? So, You look at like, oh, Okta's a small-medium business. They do amazing code. Anthropic. Matthew Poe is giving a talk on how he's using our Cloud Code plugin to build and customize Salesforce org, right? And you're like, "Oh yeah, if we had to categorize Anthropic, it would be maybe like a mid-market company." But no, they are really sort of the bleeding edge of development. So it's not so much as the taxonomy isn't necessarily by either revenue. It's how many developers do you have and how much are you building sort of custom applications that we can help accelerate building not just custom applications, but also building things that are targeting agents as well.
Darin
00:41:08.927
Could we flip that? Shouldn't we just be targeting agents, period, and humans only if we need to?
Dan
00:41:14.099
I don't think so. I mean, One, I think the key area we're trying to do is like we build once and then design for both of those. There still is the art of human interaction, And you're starting to see a lot of folks going, I can feel this was vibe coded. I can see the-" tailwind." I can see it was vibe, vibe coded. Yes. Do, do you know what I'm saying? And you start, uh, uh- See the purple. Yes. Yeah. Yes, exactly. Uh, uh, The people were talking about how much purple is preferred in these vibe coded apps. that is really going to, I think, differentiate people that think about design first and the human interaction consult- and making things delightful for humans as well. And so it's not just designing for the agent to get the task done, but can you have, And again, it's like the hearts and minds, which is, yes, we were able to accomplish this task, but you just fell in love using the software. And again, there's some really simple examples on just where you're doing things and you feel motion, weight, or gravity when you flick something, where you're like, "Ah, I kinda just wanna do that regardless of what the app is," and really thinking about that almost emotional connection. You start seeing that again with back to the opportunity, Duo. The number of people that were talking about the Apple Duo and, "Oh, this is amazing," and, and everybody in Samsung " going, Yeah, we were…" Just
Dan
00:42:28.636
we, we, we can move on from that one because- Yeah. But it's just that example where like when people see experiences and again, people weren't aware of what you could really design for regardless of whether it existed or not, they see the possibilities and their eyes open and sort of that emotional attachment with software.
Darin
00:42:46.276
I think going back to the Apple/Samsung for a second, I think people were so wowed by it because they had never really paid attention to Samsung. Yeah. It's, they had their heads in the sand. They were all in on Apple and it's "Oh, nothing else matters." And they never had their head up on a swivel looking around. It's like, "Oh, there's others." Samsung had a trifold. It was out for a week and they pulled it. Cause a friend of mine has one. Now he's sad. This is a cool phone. I don't know if people are really gonna be ready for-- I don't know that I agree with you everything. I think if we get the agents right, the UIs that we've used in the past may not be necessary. All of it. There may be s- new UIs that come out of the agents doing the work. 'Cause I'm thinking shopping on Amazon or shopping fill in the blank anywhere else. It's like- … if I can sit in Slack, if I can sit in Cloud Code work and it's like, "Hey, go order these things for me. it's more than $200, let me know. Otherwise, do it," right? Comes back, it's like, "Oh yeah, $200." "Great. C- send me the invoice on it." "Oh, okay. Well, Here, I've extracted it out for you. This is in your preferred format, so it gives into your system," whatever, right? Those are the things I expect to see. I don't-- 'cause if it's busy work, do I need a UI for that?
Dan
00:43:57.719
I think you're spot on, which is like the, the key is like the things that we consider chores. Geez, I just wanna get this done, and I have to go through this thing and register for this and blah, blah, blah. Then there's a number of examples where it's like I… And I asked people, I was like, "Hey, are you using social media tools? Are you still browsing the internet? Are you using local applications?" And at least, again, this is always a personal experience. They're like yeah, I'm not using agents for everything." But I wanna use agents to take away the, the, the grunt work the chores, if you will. And I think that's certainly like at the really one of the low-hanging fruits. And even again, shopping on Amazon, how could you really reimagine what that experience is? And I think it's pretty ripe for improvements as well.
Darin
00:44:42.689
As long as we can control the spend. That's the problem. That's gonna be a hard part. What else is happening at Dreamforce? Did we miss anything? You've talked about some of the new announcements and what's g- again, trusted compute equals Heroku. That just is a wonderful
Dan
00:45:00.165
And again, it just gives that the ability to say, "Hey, I can agentically build applications, but I now have th-this great ingredient that I can put whenever I need to within applications and are able to use," not make this choice if I go with Salesforce, it means these other drawbacks." Those are off the table, if you will. And I think the reaction from developers has been really positive from that perspective. And then lastly is one, we're really democratizing development to be able to do a number of these tasks. The knowledge worker being able to say, "Hey, tell me what opportunities I have. Give me the visual standard reports," but have it be able to have not be impactful where no, I don't wanna expose you to an agent where you're now building something and you've vibe coded an app that by the way leaked all of our data, right? How do you basically do it with guardrails and governance? That's like the killer area that we still Have not been able to do, and I think that's gonna be a huge opportunity.
Darin
00:45:54.639
So one of the hard examples of that to me would be token maxing. It's like w-what does token maxing today at Salesforce look like? Does it exist? Does it depend on the project?
Dan
00:46:06.227
Yeah. I-- one of the key things that we're doing in sort of that adoption curve, one, there was a time when there was, And again, goals drive behavior, right? If you do something- like- How many lines
Dan
00:46:19.287
generating them definitely. Yeah. And we had and we talk about some of the things and what are the lessons learned, but even just simple things, since we were talking about the CLI earlier, it how can we optimize spelling down to the individual thing? If I'm building a new component, And let's pick on web components. I would build HTML, CSS, JavaScript, and a meta XML file. That's four files. And again if you think about the number of tokens, each one of those was probably, between three hundred words within there, and I don't know what the token count would be. But again, you're talking about the number of output tokens that we just saved you. Because what-- Instead of having the LLM build that, we call the CLI and say, "Hey, I'm building a new… Start with our new item template." And by using the item template, it's basically spitting what we would normally do if you said SF Apex generate or whatever it is it would generate the Apex the XML. Same thing with Lightning, same thing with React. So just those sort of things that we are looking at, where's the token spend going? And this is such an easy example that we can remove tokens from that process. But part of this is the sort of laser, where are you spending the tokens and where should we be? And are there things that we can do to improve that?
Darin
00:47:32.610
So all of Dan's contact information is gonna be down in the episode description. Dan, thanks for being here today.
Dan
00:47:37.656
of Dan's contact information is gonna be down in the episode description. Dan, thanks for being here today. Yeah, this was great. Really appreciate it. We hope this episode was helpful to you. If you want to discuss it or ask a question, please reach out to us. Our contact information and a link to the Slack workspace are at devopsparadox.com/contact. If you subscribe through Apple Podcast, be sure to leave us a review there. That helps other people discover this podcast. Go sign up right now at devopsparadox.com to receive an email whenever we drop the latest episode. Thank you for listening to DevOps Paradox