David Schach is the Salesforce Application Architect over at Spot On. As a Salesforce consultant, David has practically seen it all. He has dealt with a variety of situations over the years that have equipped him to understand Salesforce at a unique depth.

In this episode and next week’s, David is sharing his best practices and tips. He’s also going to tell us some of his favorite “war stories” from his years of Salesforce consulting. Tune in to learn from his incredible wisdom.

Show Highlights:

  • David’s history in computing and even going to med school.
  • How he got into data loading and model metrics.
  • How he started down the architecture path from there.
  • How influential open source has been for both of us.
  • A few of David’s implementation horror stories.

Links:

Episode Transcript

David Schach:
I got a degree in quantitative physiology and cellular engineering from the biomedical engineering department.

Josh Birk:
That is David Schach, a Salesforce application architect, over at SpotOn. I’m Josh Birk, your host for the Salesforce Developer Podcast. And here in the podcast, you’ll hear stories and insights from developers, for developers. Today, we sat down and talked with David about his long history with Salesforce consulting, some of his best practices and tips, and also a few war stories. But we’re going to kick off right where we left off with that quote about what David was doing before he got into computing. What?

David Schach:
Yeah. Mathematical modeling of the human body from a cellular level all the way up. So the cells in your knee, in the meniscus, when you load them, they actually respond and do good things. Like, you need to use your knee in order to keep your knee, kind of a thing. So yeah, we would model that. Yeah, it was amazing. A lot of thermodynamics, a lot of fluid movement. I know, right? Well, this was early days. I graduated a while ago, so one of the coolest things that we did was, we built a machine that was smart enough to know during a heart transplant, and while the heart is outside the body, the patient doesn’t have a pulse. And so it would turn off the alert during the surgery when the heart was out. This kind of thing was cutting edge. I remember like, oh… Anyway. No, no. It was cutting edge.

Josh Birk:
Okay. The obvious follow up question, what did you do with this degree?

David Schach:
So I went to medical school. I did three years of med school and didn’t really appreciate that the industry had hazing. I decided, no matter how much I learned, and I did well on my boards and stuff, but I just didn’t want to be hazed. And I’ll sort of fast forward a moment, that I wanted to do infectious disease, and work in ICU and be doing, which antibiotics are we going to buy at the hospital. Which means that in 2020, I would have been hopefully running a ICU, doing patients on ventilators for a living.

Josh Birk:
Whoa.

David Schach:
Yeah. Dodged a bullet.

Josh Birk:
A little hashtag, no regrets here.

David Schach:
Hashtag, no regrets. Yeah. Yeah.

Josh Birk:
Wow.

David Schach:
So medicine was interesting. Med school was interesting. Got into cool things, like… We would print out in the ER if we gave you crutches… Since we were starting off in the electronic medical record field. If you got crutches, we would automatically print out crutches instructions. Now keep in mind before that, there was a stack of paper that had, how to use your crutches. So we went kind of environmentally friendly.

Josh Birk:
Okay. Well that’s cool. Okay. I just have to ask. Crutches don’t feel that hard to use. How long is this document?

David Schach:
Trust me, there are a lot… It’s just a one pager. But there are a lot of things that you’re like, oh, this doesn’t seem so hard. But…

Josh Birk:
I suppose you’re a hospital, it’s kind of like the wheelchair thing, even though everybody knows it’s kind of silly. It’s like, just put them in the wheelchair, and get them out and then they’re on their own devices at that point.

David Schach:
Right. And if we give you a wheelchair, we want you to put the brakes on before you step out of the wheelchair. So we have to write down, “Put the brakes on.”

Josh Birk:
Okay. So you walked away from med school. Where did you go after that?

David Schach:
I was temping and I didn’t know what to do. I got my bartending license. That was interesting. Learned a lot. And we can talk about bartending, later about developers, how they’re bartenders. And then I was temping. This is a true story. I was temping in the executive office of the Chicago Tribune or something doing PowerPoint, that got cut short, so the person took pity on me, the temp agent, they put me in Chicago Mercantile Exchange, which it turned out needed help with Excel. They had to clean up some Salesforce data. So I sat there very gamely, and just cleaned up a large spreadsheet of addresses. We were just standardizing addresses. This is 2006. So you didn’t have a lot of tools, but I cleaned that up. And then I was told… I learned some tool, I don’t remember what it was called. And then they told me some consultant’s going to call me to teach me how to use this tool.
And so this guy calls me up, he’s like, “I want to teach you how to use DemandTools.” DemandTools was the thing. And I said, “Oh, this?” And I showed him how I had learned this. And he goes, “Oh, do you want a job?” I was like, “Yeah.” So that was it. That was the Merc. And then I came over to Model Metrics. Because this guy worked at a consulting company called, Model Metrics. And since he was the main data loader for their implementations, [inaudible 00:04:54] implementations. And he’s like, “David, I need someone else to do this as well.” So that’s how I got into data learning at, Model Metrics.

Josh Birk:
So you really came at it strictly… So you kind of went from, how should data be cleaner, to how should data be organized, to how to turn this into a working data layer for an application?

David Schach:
Right. When you’re loading data, you start to see things, or when you’re asked to load data into an org, you start to see, okay, I got do the account first, and then you got to the contact, and then the account contact role. Something that seems simple to us, but then we start loading in other objects, then it’s like, “Wait, why is there a relationship here? Why is that happening that way?” And coincidentally, at the same time, I started a grad degree, a master’s degree in medical informatics, where I learned database theory, which was the class I hated, but probably the most beneficial. I should write to that professor and say, “Dude, I hated your class. I hated Microsoft Access, but I use it. I use the concept every day.”

Josh Birk:
Wow.

David Schach:
So I started sticking my nose in things, right.

Josh Birk:
Nice, nice.

David Schach:
Yes.

Josh Birk:
Nice. And full disclosure, when I was at Model Metrics, you were like a desk away, or something like that. At one point.

David Schach:
I was across the partition. You were… Exactly. Yeah. Yeah. There was low partition between us.

Josh Birk:
It’s like Jason was to the left of me, and you were in front of me, I think.

David Schach:
Yeah, exactly. And I had all this space, because I needed extra computers and stuff to do data load. So I set up. At the time, I set the record for the largest data load in history or something. We just let a IBM Thinkpad go overnight and just use data loader.

Josh Birk:
Really?

David Schach:
Yeah, it was so big. It was more rows than Excel could handle, so I don’t remember who, but one of our coworkers… I didn’t know this was even possible. Took two text files, used Java to combine them into one file. He said, “You can’t open this, but data loader will read it.” So we just let the machine go overnight. There’s no bulk API. This was slow batches of 200. We are loading accounts.

Josh Birk:
Yeah. This is all SOAP, right?

David Schach:
This is all SOAP. The most basic thing you could think of in data loader. And yeah, I set the record.

Josh Birk:
Wow. Oh God. But that just gives me anxiety even thinking about.

David Schach:
Well, try going home with your boss being like, “All right, so it’s going to done here?” Well, I’m going to home, then I’m going to wake up, I’m going to come back.

Josh Birk:
The sun is going to come up, and there will be a laptop. We know these facts are true. Everything else-

David Schach:
I hope it’s not smoking.

Josh Birk:
We hope production is still producing.

David Schach:
Right. Exactly. Yeah. That was in the time… We had no users in the org, thank goodness. But wow, that was just… It was a lot. Yeah.

Josh Birk:
Yeah. So how did you start evolving from… Because that’s fairly niche, and you probably could have stuck with just being the guy who solves really big data problems for you, but you’ve gone into architecture and development and all of that kind of stuff. How did you start down that path?

David Schach:
Great. Okay. So one of our coworkers, Clinton showed me, he had overridden the opportunity product list page. Which is a big table of just, these are all the products on your opportunity. And I was like, How’d you do that?” And then he goes, “With Apex.” And then Jason was talking about S-controls. So I’m like, S-controls. JavaScript. And I still say, JavaScript, I don’t understand JavaScript, but look at all these things you can do and then and people started telling me about different changes they could make. I was like, “What?” And so I said, “I want to be a developer.” I had at that point, taken my semester of C++ in grad school. And so I was like, “Oh, how hard can this be?”

Josh Birk:
Right.

David Schach:
Yeah. So Visualforce was really coming into its own, and I wrote a blog post about three ways to show a field in Visualforce. And it’s like you, the page block section item with a separate label, and the field, and then, or just the field by itself. And I showed how that could be translated and just so how… Salesforce had that built in. By the way, just as a side note, as Salesforce consultants, we make a mistake sometimes. I make a mistake at least… There are table stakes within Salesforce that I just assume, why do I have to even talk about this kind of thing. Anyway, so I got this blog post and this guy from Salesforce, John Mountjoy saw it and was like, “Oh, David, you want to on Visualforce? I work in the developer evangelism side, let’s just talk. And I was reading blog posts like crazy. Could we throw out some names here, just like to give a shout out to the-

Josh Birk:
You’ve already named dropped John Mountjoy, OG of Dev relations, if there ever was one.

David Schach:
If there ever was one. But I got to say, Dave Carroll, Ron Hess-

Josh Birk:
I was going to say.

David Schach:
Ron Hess, the godfather, who when I met him in 2008… By the way, Dreamforce was so small that we were both ducking into the Foo Fighters, through a side door into the ballroom. And he looks at me, he goes, “You want to hang out?” I’m like, “Yes.” I’ve never met this guy before, and I’m like, “This guy is amazing.” And so we just went out and talked. Shout out Dreamforce 2008, because that was incredible. And then I was reading blog post, by Scott Hemmeter and Steve Anderson, and other people have sort of come and gone. And so I was learning how to do stuff more from them than anything else. Scott wrote a trigger about campaign member. I’m like, that’s cool. The force.com cookbook came out, and I read about test code and lead unique email uniqueness.

Josh Birk:
And for those who don’t remember, the force.com workbook was a really early exercise at dev relations. Which was basically… Oh, by the way, for those who don’t remember, force.com used to be what we called, their development platform. A lot of people still do, which, go brand loyalty. But the workbook was… It was very straight-

David Schach:
The cookbook.

Josh Birk:
The cookbook. The cookbook. Because it had the recipes. And the recipe was like, how do you do this one weird thing in Apex? And so, when you get stuck in Apex, you’d pull up the cookbook and be like, oh, that’s how I assign a lead programmatically, or whatever the weird thing was.

David Schach:
Exactly. And this is how, basically I make a field unique without making it unique.

Josh Birk:
Best memory of Ron Hess was, I was in San Francisco for some other Model Metrics engagement, and Ron pinged me, and he’s like, “Hey, can you come to four something something, and help us out with something?” I’m like, “Sure, I’d love to.” And so I go in, and I don’t even remember who he introduced me to, but he introduced me to this guy and he introduces me, and he’s like, “Hey, this is Josh Birk, he’s like one of the best Apex developers on the planet.” And I almost cried, I’m like, Rod Hess thinks, I’m one of the best Apex developers.

David Schach:
What?

Josh Birk:
What? I assure you, that statement is no longer true. Anybody listening, I want to make sure, I am not laying any claim to that title at all.

David Schach:
But you have done things. You have done things with code. You’ve done things with Apex that were impressive. I still won’t remember distance calculations, before there were distance calculations.

Josh Birk:
And that’s one of my favorite things about it. It’s like, they were impressive at the time? I told somebody… I got on Dave’s radar because I wrote, exactly what you’re talking about. It was Jason and I, we wrote an Apex Visualforce component that could figure out how many contacts were within a mile radius of an account. And anybody listening’s like, well, duh, that’s a cycle statement. I’m like, “Yeah, we didn’t have by distance back then.” Also, fun fact, Apex didn’t have sign or cosign. And if you think geometry’s hard without sign or cosign, it’s not hard. It’s impossible.

David Schach:
Right.

Josh Birk:
Yeah.

David Schach:
Oh my God.

Josh Birk:
I almost implemented the Java version of sign and cosign from JavaScript to Apex. I almost started writing it, and then I was just like… I think I was just looking at Jason, I’m like, “You think it’s okay if we just do a square?” And he’s like, “Yeah, let’s just do a square.”

David Schach:
Yes. Yeah. That sounds a little better. Oh my gosh. Although if you take that to the limit, and you go four sides, five size, six sides, and this is what gets engineers into trouble, suddenly…

Josh Birk:
Right, right. It was still impressive enough at the time for Dave Carroll to put me on stage. It’s my first ever public speaking engagement, which I still have a very flash world memory of. So… Yeah.

David Schach:
You deserve… It’s interesting the people who have put us in places who have really enabled us to take the next step. I don’t remember, there was no trigger on… Something with… I found some… Marco Casaleno very nicely said, was a feature hole where, you couldn’t update the case comment and get something to happen on the case.

Josh Birk:
Oh, yeah.

David Schach:
So I wrote a blog post of this hole, the case comment does a this, which has a workflow role, which does a this. And Marco’s like, why don’t I just turn on… That’s why case comment got a trigger.

Josh Birk:
Oh my gosh.

David Schach:
That’s why it got enable for triggers. Oh, that’s right. It was a workflow rule on case comment, they had to update the parent. Which by the way, cross object workflow rules, that wasn’t a thing when we started.

Josh Birk:
Right. Right.

David Schach:
So yeah, it’s been a wild ride. Mike Rosenbaum invited me on stage to talk about the app exchange. I’m standing next to Greatness.

Josh Birk:
Yeah. Yeah.

David Schach:
It’s incredible.

Josh Birk:
Yeah. Yeah. Model had a lot of really good networking, when it came to Salesforce. Maybe too good of networking, considering now that Model has been utterly… What’s the right word? Brought into the fold, let’s put it that way. Salesforce-

David Schach:
It’s been absorbed. [inaudible 00:15:01]

Josh Birk:
It’s been fully absorbed. Yeah.

David Schach:
We got things that were amazing. I was the first person to pass the certification exam.

Josh Birk:
Gotcha. Wow.

David Schach:
Because I worked at Model. You just couldn’t do any role.

Josh Birk:
Yeah. And they used us as like, hey, we’re going to try these things out on you guys, and let us know what breaks.

David Schach:
So there’s one…. Salesforce calls me up, and at this point, I’m assistant administrator of the organization at Model Metrics, and they’re like, we’ve come up with the idea object, this idea’s thing. And shout out to, I think it was [inaudible 00:15:37] who came up with that. And I actually said, I’m not going to put this into the organization, unless I can talk with the product manager. Next thing I know, John Kucera is on the phone with me talking me through this product. And this is John Kucera is now the VP of Orchestrator.

Josh Birk:
Right.

David Schach:
Back in the day, we were just… It was no big deal. But like, what?

Josh Birk:
Yeah. Like when we wrote the first mobile application, and I remember getting on a call with Adam Kaplan, and Chuck Mortimore, and I think Barnes was in there, and me. And Chuck was like, “So we just kind of want to know how you did this.” And I was kind of like, “Yeah, I kind of want to know how you did yours too.” I’ll tell you what I did, if you tell me what you did. And I’m like, yeah, I basically just reversed and engineered the SOAP API in iOS. And he was like, “Oh, okay, that makes sense.”

David Schach:
Oh my God. My memory with Chuck Mortimore is that, we sit in line for cronuts in New York.

Josh Birk:
Oh, nice.

David Schach:
He got the next to the last. I got the last cronut, and people behind me were looking pissed, and Chuck goes, “Just looked down and walk out.”

Josh Birk:
Nice. Nice.

David Schach:
So I just want to give a shout out to open source. If there’s one thing that defines us, and really got me where I am, it’s… Whether you want to call it open source or not, GitHub sure. Google, or whatever that thing was where we stored code, Google code, I guess.

Josh Birk:
I think it was, yeah.

David Schach:
The fact that people write blog posts and throw out their code and are so helpful with it, except for the people who say, everything I need to know about something. Because I’m like, no, trust me, there’s more to it than what you wrote. But the willingness of people to share code, to throw… It’s just great.

Josh Birk:
Yeah. If Stack Exchange didn’t exist, I would probably be an assistant professor somewhere or something. I never would’ve made it as a developer. Never. My start at State Farm… I always forget if I’m not supposed to mention that. Anyway, my start at State Farm was because somebody who went by the pseudonym of Selena Soul, put out a whole bunch of open source pearl scripts, and pearl, that’s how I got my start. I got my start in pearl. And so I just grabbed their scripts, and just modified the living heck out of them, and beat them down with a fork until they actually did what I wanted them to do. But if they hadn’t done that, I don’t know where I would’ve started. There was no, here’s a book on how to build the first intranet, for [inaudible 00:18:25]. It didn’t exist. Nobody knew what the heck they were doing. I don’t know why they hired me, to be honest. I think they forgot to ask, do you actually know what you’re doing? I think that was the one interview question they probably should have started with.

David Schach:
Hey, Josh, can I share with you a mistake that I made in my career? And it’s not a mistake that had any effect, but this is an interesting one. Dreamforce comes along and they release sites. Remember when sites first came out? So we had a hackathon. There was a nonprofit hackathon, and I’ve been coding like crazy. Posting code like crazy. And someone asked me to write a trigger in this org we were working in to do this hackathon something. And I didn’t know how. Because every time I’d written a trigger before, I went to another trigger, and I would copy and paste, right? And I didn’t want anyone to see that. At the time I was embarrassed, I don’t know how to write a trigger from scratch.

Josh Birk:
Scratch.

David Schach:
On the other hand, I think that a developer who knows how to write a trigger from scratch, sure, that’s nice, but it ain’t going to make me hire you.

Josh Birk:
No. Because you only need to do it once, and where are you going to start with that?

David Schach:
Right. Copy paste. Copy paste.

Josh Birk:
And also triggers, in general, maybe you know how to write them from scratch, but do you know how to write them from scratch the best way? I prefer code that’s already been beaten on and approved by other developers, so that the little ins and outs are already kind of done for me.

David Schach:
Right. And they are patterns. So when you hit New Trigger at the time, it gave you a blank screen. I’m like, I don’t know what I’m looking at. I was so embarrassed. I should’ve just said, I’m going to check Google, or I’m going to check something. But you know, about that, so open source is the way to go, man.

Josh Birk:
Yeah. Now, I think open source also led you to what I believe you called, the coolest thing that happened to you, in your career.

David Schach:
Oh, I’d forgotten about that. Yes. Yes. So let’s go back to… I’ve left Model Metrics, because I want to be a developer. I’ve spent some time writing code on my own and blog posting and doing different projects. I’m sitting in the symposium that the law firm in Chicago is doing on open source code. And I’m with two people who are real developers, and they’re going through all this stuff. Just, they’re incredible. And I’ll tell you who one of them is in a second, but I’m just like, “Yeah, and here’s some blog posts by Dave Carroll, and Ron…” Honestly, that’s what I presented saying, “Salesforce has a community of people with code.” So that’s ’08. 2010, I’ve moved to San Francisco, I’m actually in Washington DC, I’m at the airport waiting to come back, and I got a phone call. “Hi David, this is the CIO of the Obama reelection campaign. We heard you’re the guy for Salesforce.” What?
So the first thing that I thought was, what? And I will admit freely. The second thing I thought was, wait a minute. I’ve seen this movie, and I don’t know why Independence Day popped into my head, and I thought, how many jello pudding pops can I get out of this and that totally dates me. So he’s like, “We want you to come to Chicago, and talk to us.” I was like, “Oh, because I’m right at the airport and the helicopter could touch down right out there. And I’m happy to…” He’s like, “No, no, no, no, no. We’re not with the Obama administration, we’re with the Obama reelection campaign. And those are very legally different.”

Josh Birk:
Right.

David Schach:
So Obama administration has money to send helicopter. Reelection campaign has money, but it has money for long signs and whatnot.

Josh Birk:
And also a lot of laws about how to spend that money. Yeah.

David Schach:
Yeah. Right. Oh my gosh. Yeah. And by the way, they were so interesting. When you work with the CIO of a campaign, they have almost an airlock. You come in, where you put in your Obama… Your government laptop goes in a clean room, and then you walk in and you pick up your laptop for the campaign. But that campaign laptop never crosses the tape. And your laptop never crosses the tape. And that is how election laws are protected.

Josh Birk:
Interesting.

David Schach:
So they call me in, and they were like, just get yourself to Chicago. I’m like, well, I’m graduating from grad school, so I’ll just come on my own dime. And they’re like, we want to build… I don’t know how much detail I can go into, but essentially we want to build tracking people and events and calls that come in. And so I start designing, and I’m in town for a few days, and finally I get to something good, and I’m like, I called Reed Colenberg.

Josh Birk:
Yeah.

David Schach:
So Reed, just for anyone who doesn’t know. Reed’s done so many different things. And I said, Reed just come into the campaign. So he had to go get vetted and security and all that. And we’re in the CIO office with the whiteboard, and we’re building this… We were design… Reeds, “Yes it’s fine. That’s what you need to do. It’s good.” And then they put me in a meeting with someone with, “David, what else could we do with Salesforce?” I’m like, “Uh.” Because they don’t really seem impressed. And then I don’t know how it came up, but we were talking about… They were talking about social media. And at the time, Marco Casalena and Lauren… She got married, Lauren Novak now, had built Salesforce through social media, app exchange app. And I was also in this thing, and I was like, “Well, you know we could tweet through Salesforce.” And they’re like, “What?”
And then they told me a story. Okay, this is going public, but this was a news story, so this is okay. But someone posted from the Obama campaign accidentally, they tweet. There was innocuous, but it wasn’t the right tweet.

Josh Birk:
Gotcha.

David Schach:
And I said, we could put an approval process on a tweet. And it’s true, you could. It was an S object. This is not anything crazy. Next thing I know, the COO of the Obama campaign is interested. By the way, I should back up. So the reason that I got called in, why was I the guy about Salesforce, was that the guy sitting next to me at that symposium turned out to become the CTO of the Obama campaign. And the only person he knew who knew Salesforce was me. This is a guy who loves owning hardware. He did innovative things, don’t get me wrong with the campaign, but he loves owning hardware. I don’t even know what hardware is. I know Salesforce has no software, but it’s like…
It’s actually no hardware physically. It’s a Chromebook.

Josh Birk:
It’s all in the cloud. It’s all in the cloud.

David Schach:
Yeah. So let me tell you, the COO comes in and she’s like, “Tell me about this tweet approval thing.” I’m like, “We could receive tweets, we can do…” And next thing I know, I got on the phone with someone at Salesforce, speaking of the administration company, I’m like, “You need to get over here now.” And the next day the people come over, we did a service cloud demo. Demo of knowledge, demo that… Basically a service cloud contact center. And it took off from there. And then preexisting conditions got covered. You’re welcome. And yeah, my work here is done. Mic drop.

Josh Birk:
Nice. Nice.

David Schach:
Yeah.

Josh Birk:
Very cool. Very, very cool.

David Schach:
It was amazing.

Josh Birk:
Let’s change gears slightly. You’ve seen a lot of different implementations over the years. What’s one that pains you to remember? What’s one of the ugliest ones?

David Schach:
Ah, God.

Josh Birk:
No names, of course. Shame the code, not the people.

David Schach:
No, no, no, no, no. The first thing… I just briefly tell you what gives me pain, and then I want to tell you something that’s actually a little more interesting. But what gave me pain on a very serious note was that, the team that came in to do the implementation was an internal team to work with this group. And I found out that they had already built what was going to be handed out to this group, without asking the group what they thought. And it’s like, I’m going to say the hubris-

Josh Birk:
Right. That’s a precise word for that. Yeah.

David Schach:
I cannot believe you’re wasting people’s time in a meeting, and you’ve already built the stuff. So requirements gathering is important.

Josh Birk:
Yeah.

David Schach:
I will tell you the biggest mistake. The biggest mistake that I’ve seen across the board is an easy one.

Josh Birk:
Okay.

David Schach:
Well, yeah. It’s when someone asks for a checkbox, think twice. I can’t tell you how many check boxes in my career I’ve seen. And I’m going to give you a specific example, because we have to talk about database theory for a second, Josh. And I’m not saying anything crazy here, but why does Salesforce put the industry field at the account level, not at the opportunity level. Because it applies. Well, it applies to the top. Every opportunity for that account, it’s an attribute of the account. It’s like the address of McDonald’s is always going to be… Headquarters, is always going to be wherever it’s. That’s just a fact.

Josh Birk:
And McDonald’s might get into bioengineering, but they’re never going to be like a car company.

David Schach:
Right. And if they do split into something else, we’ll make another account. But this McDonald’s account, the industry is food and beverage or however you decide to do it. So someone walks out of a meeting and says, I’m going to quote. I want checkbox on opportunity for media vertical opportunities. So you’ve now violated two rules in one sentence.

Josh Birk:
Oh.

David Schach:
Check boxes are not the answer, along with Multiselect pick list, but we’ll leave that one alone. Check boxes are not the answer, and media is the account industry. And if you’re selling it in different ways, we can talk about whether you split an account. But 99% of the time, what you really want is to note that it’s a media account. And do your reporting on opportunities, include fields in the account, and there I’ve just split up my opportunities by a vertical. So ask me for a checkbox, one of the worst things I’ve ever seen.

Josh Birk:
Yeah. Well, and also it’s just like, once you start splintering your data, it never seems to stop.

David Schach:
Yes. Yes. Oh my God.

Josh Birk:
But if architects could lay down rules, like, okay, you get one.

David Schach:
Right. It’s funny that you mentioned you get one, because sometimes all you need is one, because Salesforce is so sophisticated. I’ve seen things like ballpark, major league, ballpark minor league, ballpark college, which is that the pick list it depends on the previous field, which said major league, minor league college. I’m like, why don’t you just call them all ballpark and have all depend… The dependencies are so flexible. Thank you, Parker Harris. The ugliest things that I’ve seen… Actually, Josh, I got a better answer for you. The ugliest things that I’ve seen invariably have been by people who recreate standard Salesforce features that are off-

Josh Birk:
Oh yes.

David Schach:
… On that day, that are available without looking in the documentation to find out if it can be done.

Josh Birk:
And that’s our show now. To find out David’s favorite non-technical hobby, check in next week for part two of our interview with him. Now, if you want to learn more about this show, head on over to developer.salesforce.com/podcast where you can join our community hear old episodes, see the show notes, and have links to your favorite podcast service. Thanks again everybody, and I’ll talk to you next week.

Get notified of new episodes with the new Salesforce Developers Slack app.