Episode 83: Democratizing Architecture with Chuck Liddell | Salesforce Developers Podcast

Chuck Liddell is the CEO of Valence App Incorporated. In that role, he has the opportunity to leverage his skills in both business and technology. These are skills he has developed throughout his life and the multiple roles he has filled.

In this episode, I’m talking with Chuck about the work he has done in fostering, curating and teaching others about advanced topics on Salesforce architecture. We highlight his many community engagements and get into some detail about Valence the company and the app. Tune in to learn all about the many projects Chuck has done and how they might be able to help you.

Show Highlights

  • How Chuck learned to combine business and technology.
  • How he helped Cactusforce identify great technical content.
  • How to communicate your strong technical ability.
  • How Chuck knows when something is good technical content.
  • What The Extracurricular is and how it came to be.
  • Why they structured The Extracurricular the way they did.
  • What Open-Force.org is and what brought Chuck to start it.
  • The JSON Parser he made.
  • Why custom metadata types are so powerful.
  • Courses that can help you learn Salesforce architecture.
  • How Chuck uses Salesforce to help his community.
  • What the Valence platform is and some of the tech behind it.

Links

Episode Transcript

Chuck Liddell:
So, at my core, I am a developer. I am someone that likes to sit alone and write code. Don’t talk to me, I’m building something cool.

Josh Birk:
That is Chuck Liddell, CEO for Valence App Incorporated. I’m Josh Birk, your host for the Salesforce Developer podcast. And here on the podcast, you’ll hear stories and insights from developers, for developers. Today we sit down and talk with Chuck about a broad range of categories, including his work in the community and his love for architecture. And in fact, we start there, where he’s talking about how he learned to combine business with technology.

Chuck Liddell:
So I don’t come naturally to some of the business side of things, running people, infrastructure, navigating the financial aspects of running a business. And I’ve had a few opportunities for mentorship there that really helped me out. So that ice and water vending machine company, I was the CTO, and the person running it really took me under their wing and helped me to … they took me to the board meetings, and I was able to talk about technology at the board meetings, and talk to the investors and stuff, and it helped me to understand the language at least that people use, and how they interact at that level.

Chuck Liddell:
And then when I really started to get into it more was after I left that company, I started my own consulting group doing Salesforce consulting and other web consulting, but mostly Salesforce, and I had to run the company by myself, right, I was now the CEO of that. So that was the real crash course on how to run a business for better or for worse, lots of good stories and bad stories there. And I got a lot of learning out of that, and really enjoyed helping other people to figure out the stuff that I had been figuring out, some things that I had just figured out and some things that I was still figuring out, but I was happy to share stories.

Josh Birk:
Mm-hmm (affirmative).

Chuck Liddell:
And I was fortunate enough to get involved in more and more things around technology and business blended together.

Josh Birk:
Got you. Got you. Something that I’m getting less and less surprised of is hearing that Venn diagram of architecture and MBA, I think it was Daniel [inaudible 00:01:59], when I interviewed him and I was like, you’ve got an MBA, that’s incredible. He’s like, actually, a lot of technical architects have an MBA because you sit in that sphere between what the business needs, what the business can do, and then what the business is going to. Now, but going back to a second for what you were talking about there about you talking to other people, sharing your story, sharing your experiences, empowering them, you’ve done a lot when it comes to being part of the community and in helping educate people. So let’s do a quick whirlwind tour of that. For instance, I want to make sure we get this on tape that Marissa gave you the shout out during her Cactusforce presentation that she doesn’t think Cactusforce … you were integral to getting that off the ground.

Chuck Liddell:
That is a wild exaggeration and she’s very kind.

Josh Birk:
She is very kind.

Chuck Liddell:
Marissa is the driving force behind that conference and I just helped her find technical content and prep it a little bit. I help find people that want to do technical talks and organize the developer track, and just help her bounce ideas around. But really, she’s so much of that all by herself.

Josh Birk:
And I hope anybody who heard that interview can hear just how passionate Marissa is. She seems like the kind of person that when she has a vision, she wants to get it done and she’s going to get it done, and very driven and passionate about that stuff.

Chuck Liddell:
Absolutely. And the vision behind Cactusforce is a little unusual, as far as community conferences go, right, they went a different direction.

Josh Birk:
Mm-hmm (affirmative).

Chuck Liddell:
As a community conference, you have to cater more general because you have a smaller demographic, right, it’s a smaller geography or smaller attention. But she’s gone the other direction and say, we’re going to specialize in highly technical content, even though we’re just in this one city, in this one state, which is interesting.

Josh Birk:
I thought I found it fascinating when I asked her, and I can’t remember if this made in the interview, it was just during the prep call, what her percentage of accepting content was? And her answer was, we’re pushing towards almost 100% because we’re actively trying to get those highly technical people on stage. It was such a more focused approach than what I’m used to which is, cast a wide net and then bring what you can to the stage, which is usually a reduction rate of, it’s decimating your CFP basically. On that, I don’t want you to undersell a knack for finding, curating highly technical content, that’s pretty hard to do, right? And we’ve worked together when it came to the Extracurricular with Tom Neuwirth. And tell me a little bit about your approach to that. How do you hear good technical content when you see it? I don’t know, I just mixed my metaphors there.

Chuck Liddell:
So that there’s multiple questions in there. But let’s talk about the technical, understand it when you see it piece first.

Josh Birk:
Uh-huh (affirmative).

Chuck Liddell:
I’m going to actually jump away and then come back. I interview a lot of people for jobs, right? It’s a natural thing that I’ve been involved in for a long time. I help people interview when they hire, just a skill set I have.

Josh Birk:
Okay.

Chuck Liddell:
And one of the things that I think is incredibly important for technical people that when they interview and explain what they do, is to be able to talk about something complex and make it digestible.

Josh Birk:
Mm-hmm (affirmative).

Chuck Liddell:
I’m not saying dumb it down, make it simple, make it comprehensible to the person you’re talking to. And so when I’m looking for someone that’s very technical and that would do well sharing their knowledge, I’m looking for you’re an expert at something, you’ve done a really complex, interesting work, and a requirement, you can talk about it in a way that I understand, whether people like me understand or there’s an audience for you that you can connect with and share.

Josh Birk:
Mm-hmm (affirmative).

Chuck Liddell:
A lot of people are very technical and they lack the ability to communicate it clearly, and that’s a critical piece, you really have to look for the Venn diagram of those two.

Josh Birk:
Yes. Is that you going back to the original auditory science? Are you hearing your CEO role when you’re interviewing people in that they’re explaining things in ways that relate to somebody who’s in the business?

Chuck Liddell:
So there are certainly parallels.

Josh Birk:
Mm-hmm (affirmative).

Chuck Liddell:
Going back since you’re talking about college, I had a college professor that said, “Listen, if you can be an expert that straddles two complex domains, you will be way more valuable than people in either of those domains by themselves.”

Josh Birk:
Mm-hmm (affirmative).

Chuck Liddell:
Anybody that can be the liaison between two disciplines or two groups of people is a very valuable person.

Josh Birk:
Mm-hmm (affirmative).

Chuck Liddell:
So if you have the ability to interact with the tech folks and the business folks, and bridge the gap, help them to understand each other, or at least if you understand so that you can synthesize design, right? The business folks say, we need this, the tech folks say, here are constraints, and you can say, okay, I’m going to combine these in my head and produce a design, you comprehend both those spaces.

Josh Birk:
Mm-hmm (affirmative).

Chuck Liddell:
And anyone into patterns, Eric Evans did an amazing book called Domain Driven Design and one of the key things in there is this idea of ubiquitous language. And ubiquitous language is the idea that the technology that we build will use nouns, and verbs, and stuff that reflect the business it’s built for. And that a developer and a business person that’s functional can use the same words to mean the same thing.

Josh Birk:
Got you. Got you.

Chuck Liddell:
And that it’s all part of a larger canvas of, how do we communicate around technology?

Josh Birk:
Got it. Well let’s talk about that canvas a little bit. And I spilled the beans a little bit earlier, but your work towards the Extracurricular, how did that come about? Was at you and Tom, and you’re just both like, this content needs a stage, what was the impetus of that?

Chuck Liddell:
So these things always get started in interesting ways.

Josh Birk:
Nice.

Chuck Liddell:
So the Extracurricular as an idea, and we haven’t defined it yet, so I will define it so people understand we’re talking about you.

Josh Birk:
Okay. Thank you.

Chuck Liddell:
But I’ll tell the story first. It got started in Paris at [inaudible 00:08:00] in 2017. I was in Paris doing a talk at [inaudible 00:08:04], and a guy named Roger Mitchell was there, he’s a great Salesforce developer.

Josh Birk:
Uh-huh (affirmative).

Chuck Liddell:
And he was talking to me about a conference that he had been to that was about JavaScript, that didn’t have any slides, they would just talk tech. They got up there and they talked about technology, and they sat back down. And how cool was that? And couldn’t we do something like that in Salesforce world. Something like that, there’s not slides, there’s a lot of tech. So he started the ball rolling on this idea of a not slides, tech oriented conversation.

Josh Birk:
Mm-hmm (affirmative).

Chuck Liddell:
So the next iteration of that was, okay, well the TDX, right, TrailheadDX is the developer center conference, so anything adjacent to that is going to be the most technical opportunity.

Josh Birk:
Mm-hmm (affirmative).

Chuck Liddell:
So we said, let’s do a bonus day after TDX, where we just jam out in an auditorium somewhere and talk turkey for the whole day. And we’ll just do it the day after or the day before TDX so people were in town, and we’re likely to capture as much of an audience of the people we want to have in this conversation.

Josh Birk:
Yes.

Chuck Liddell:
So we started planning this through the user group and community programs. And as it started to develop, an interesting offer was made, which was, hey, this sounds really interesting, would you be willing to do this as part of TDX? Would you come inside instead of doing a bonus content and just be part of TDX?

Josh Birk:
Yes.

Chuck Liddell:
And that was a novelty, wouldn’t you say?

Josh Birk:
Mm-hmm (affirmative). It’s a not a rarity, I think it’s really the only time we’ve ever tried to do content curated and stage like that.

Chuck Liddell:
Yes, it’s an unusual form, right, because the call for papers is not through Salesforce, it’s just, here’s a stage, do your thing for a day.

Josh Birk:
Yes.

Chuck Liddell:
But obviously collaborating on space, and AV, and structure, and having conversations about speakers and that sort of things with people at Salesforce like you. Okay, so that’s the setup, that’s how this thing started, but what is it?

Josh Birk:
Yes.

Chuck Liddell:
The Extracurricular is an intentional, complicated, expert level conversation about something technical.

Josh Birk:
Okay.

Chuck Liddell:
And what I mean by, let me give you an analogy.

Josh Birk:
Okay.

Chuck Liddell:
Imagine that you took some people that were really good at car mechanics, and some people that wanted to become really good car mechanics, and you brought them into a workshop and you took a car engine apart in front of them.

Josh Birk:
Mm-hmm (affirmative).

Chuck Liddell:
And the experts talk to each other about the car engine as they’re taking it apart, and said, here’s what this is, here’s what this is, and they ask each other questions, and share stories, and share their knowledge with each other and with the people that were trying to learn at the same time. And you’re all dissecting this car engine together and people are all learning, even the experts are learning from the other experts, even the novices are learning from other people that are in the room talking to them. So it’s this collaborative learning around a focal point, a complex thing that’s being dissected and discussed.

Josh Birk:
Mm-hmm (affirmative).

Chuck Liddell:
And that’s what we wanted to make the Extracurriculars. We want to take complex technical talks, that were really sophisticated with lots of layers to them, and spend the time we needed to dissect them and take them apart one layer at a time, like an onion, and really get into the core gritty bits of what made this interesting, or complicated, or difficult, and talk about it.

Josh Birk:
Yes. And another unique thing about it is not only did you keep it highly interactive, but these are almost epic in scope, I mean, they’re 90 minutes long. Where did you settle into, we need to let this thing be … because in the world of conferences, 60 minutes is almost an anathema these days, it just seems like a very long time to put any one person on stage. When did you start leaning to 90 minutes?

Chuck Liddell:
So we went off of more organic conversations, right.

Josh Birk:
Mm-hmm (affirmative).

Chuck Liddell:
If you’re a very technical person and you’re having lunch with someone that’s very technical, you’re probably at lunch for an hour or two, right?

Josh Birk:
Mm-hmm (affirmative).

Chuck Liddell:
You’re sitting there really jamming out on it. It’s like, what’s an ideal amount of time to let people really crunch on something? And 30, you couldn’t possibly, 60 is still a little tight.

Josh Birk:
Yes.

Chuck Liddell:
So interestingly enough, we have this epically long sessions, right, every session is 90 minutes, but they’re also super low friction for the speakers. They’re probably a lighter lift than a 30 or a 60.

Josh Birk:
Mm-hmm (affirmative).

Chuck Liddell:
Ask me why.

Josh Birk:
I’m going to ask you why.

Chuck Liddell:
Because Tom and I knew that the speakers we wanted to have for the Extracurricular, may not be typical, I’m going to put a slide deck together and go pitch it and try to talk through my slide deck, they’re probably busy, right, because they’re good at what they do, they’re deep in the trenches working on stuff. We want the greasy mechanics, so we want to get them out of the engine and come talk to us about what they’re working on. And so we want to say, hey, you don’t have to really do a lot of prep, we’re asking you to talk about something you already did, right, a project you’re actively involved in or you’ve done, and we’re going to help you dissect it in front of an audience. So the format is split up into thirds. They spend 1/3 of the time talking about what they did.

Josh Birk:
Mm-hmm (affirmative).

Chuck Liddell:
And that’s as little slide work as possible. Show us code, show us the thing you built, talk about it, give us diagrams, draw on a whiteboard, whatever, just help us understand what we’re talking about for 30 minutes.

Josh Birk:
Yes.

Chuck Liddell:
And then we add an expert panel on stage, so a moderator and three panelists. And the purpose there is to jumpstart the conversation. So once you move into the second third, the panel talks to the speaker and helps to digest what they’ve just heard, they ask follow up questions, they probe into parts that didn’t get covered completely, and they tease out, what does this engine look like? What are the pieces and what do they do? In front of the audience, the audience is just listening to all this and digesting.

Chuck Liddell:
And then finally, the last third, we open up to totally open Q&A, the audience gets involved. And the audience can ask questions, they can answer questions, the speaker can ask questions and answer questions, the panel can ask questions and answer questions, so totally conversational. So you just do layer by layer, right? So you start with the speaker, than the speaker plus the panel, then everyone.

Josh Birk:
Got you.

Chuck Liddell:
It’s a really interesting format for getting everyone engaged, but also at different layers of capacity to be engaged, right. The perks of having the expert speakers or the expert panel is to help ask the questions that as an audience member, you might like to know the answer to but don’t even know to ask the question right now.

Josh Birk:
Got you. And I was reviewing some of the old ones and it is impressive, you had at least, and I’m going to guess based on what you just said, not just one, but people who are literally speaking publicly for the first time and they’re doing this 90 minute jam session.

Chuck Liddell:
Yes. So the first year we did it, we had one day, one stage, and we did three talks.

Josh Birk:
Mm-hmm (affirmative).

Chuck Liddell:
And then we came back in 2019 and did it again, we got two days of TDX for it, and I was able to fit seven talks in. So the second time we did it, the seven talks, so we had the speaker, moderators, panelists, and we also had these quick talks which were the original idea, right, like Roger Mitchell’s original ideas, these short and technical talks.

Josh Birk:
Mm-hmm (affirmative).

Chuck Liddell:
So we had quick talks where we said, hey, come up and talk to us about something for five minutes.

Josh Birk:
Mm-hmm (affirmative).

Chuck Liddell:
Just jam out, tell us about something you did that’s cool, and sit back down. No slides, just show us a demo, talk about it, sit back down, we’re not even going to ask you questions, no Q&A.

Josh Birk:
Yes.

Chuck Liddell:
And we pitched the quick talks as a way for people to get their foot in the door with speaking, right, if you’re not a comfortable speaker. And one of my favorite quick talk speakers, I won’t mention them by name, I asked them if they were nervous about doing a talk, and they said that, if flying a jumbo jet was a seven, this was a 10. They were so freaked out about doing a five minute talk with no Q&A, right, it’s really daunting. So between the main talks and the quick talks, we had 42 different people on stage the most recent time that we did the Extracurricular.

Josh Birk:
Nice. And let’s describe the car a little bit because I think until some people, and hopefully we’re going to put some eyeballs back on some of the recordings, I think until people see some of these flow diagrams, like one of my favorite examples is the data fire hose one where they’re trying to do something like 100,000 transactions in a minute or something.

Chuck Liddell:
Per hour.

Josh Birk:
Per hour, okay. And they break down how they’re handling transactions, and queuing them, and re-queuing them and all of this kind of stuff and it’s one of the craziest diagrams. So you’ve probably seen some pretty crazy diagrams in your career. But out of all of these, what’s a good description of, this was a complicated solution that we took apart and put back together again?

Chuck Liddell:
So I would say hands down, the most popular one that we have the most follow up questions, I think, has been watched the most is Anthony Huber’s talk, Can You Put Your Whole Org in Source Control? YES* with an asterix on it.

Josh Birk:
Mm-hmm (affirmative). Right.

Chuck Liddell:
And he has done a ton of studies, very complicated Org, and he had done a ton of work around getting everything in there, even the community stuff, even the binary community stuff back before it was changed to not be just binary files, and at the time that we were doing this, everyone was starting to get into DX and think about tooling and pipeline. And the big question everyone was asking is, how do I track everything?

Josh Birk:
Right.

Chuck Liddell:
And it’s hard to track everything, there’s a lot of complexity in the edge cases. So he did a great talk about that and went through some really esoteric stuff about pipeline, but it was timely, and relevant, and people loved it.

Josh Birk:
Got you.

Chuck Liddell:
So that was a great one. There were some really good architecture type ones. So [Edon’s 00:17:09] one that just mentioned, the inbound data fire hose, was really technical about layering of pieces, and how do you get speed, and where do you have bottlenecks, and how do you improve and iterate. And really, I was looking for, when we were selecting talks, we were looking for people that had done just really complicated projects that were interesting and tricky.

Josh Birk:
Mm-hmm (affirmative).

Chuck Liddell:
And I said, you don’t have to tell me your success story, I don’t care about whether you’re successful or not. Come tell us about something complicated that you were a part of, and help us understand why it was complicated, the struggles you faced and the challenges, and how you tackle them, how you thought about how you’re going to tackle them and then how you tackled them, and maybe you weren’t successful.

Josh Birk:
Mm-hmm (affirmative).

Chuck Liddell:
One of the talks we had the first year was Mike Topolovac, and he did a talk on building a data grid for lightning, this is back when it was Aura before LWC’s.

Josh Birk:
Mm-hmm (affirmative).

Chuck Liddell:
And he showed seven different versions of it.

Josh Birk:
Mm-hmm (affirmative).

Chuck Liddell:
He’s like, here’s what I built first, and it was awful. Here’s what I built second, it was still awful, right.

Josh Birk:
Right.

Chuck Liddell:
And he just went through all the versions of what he had built and he’s like, here’s the latest and it’s still like, there’s stuff I would like to do to it, but it’s pretty descent these days.

Josh Birk:
But it’s pretty decent. Yes. Well, that’s come up on the show a lot it’s this concept, and I think developers, I think there’s an inflection point where we just accepted, and it’s, failure is not an option, it’s going to be part of the journey. You’re not going to write your perfect Apex class the first time you’re at your perfect Apex class, that’s why we have refactoring.

Chuck Liddell:
Yes. And I think that part of what we hope to do in some of these conversations is just show vulnerability, right?

Josh Birk:
Mm-hmm (affirmative).

Chuck Liddell:
Show that even experts get it wrong a lot.

Josh Birk:
Yes.

Chuck Liddell:
And really understand the patterns of, how do you address what you got wrong? How do you understand one thing, that something might be wrong, and then how do you figure out why it was wrong and how to address it? Just like the patterns of thinking, and problem solving, and troubleshooting, I think are almost more valuable than a specific technical feature or widget.

Josh Birk:
Right. Right. Well, that was one of the things I loved about the fire hose one is as they’re describing the actual flow of things, it wasn’t that I would ever use that diagram of events, but just hearing their business data logic as to why this would do this, and why this would do this, that stuck in my brain as something like, that’s how, if I was ever faced with something this big, this is how you can think about it and then derive your own solution. So really valuable takeaways even if it wasn’t that specific, epic problem that I was going to try to solve.

Chuck Liddell:
And also just how people interact.

Josh Birk:
Uh-huh (affirmative).

Chuck Liddell:
I think one of the things, if we’re dissecting the Extracurricular as an entity, one of the things we got most correct was having the expert panel on stage.

Josh Birk:
Mm-hmm (affirmative).

Chuck Liddell:
There’s some fascinating back and forth in the recordings between the panel and the speaker, that the speaker would not even think to mention in their talk, but the panelists are teasing out this idea and you really start to comprehend this whole thing. You see a blown out, a 3D space in your head, and you get to see all the little pieces connecting to each other. And having the panelists develop their own comprehension in front of you live, watching them learn and understand, just really clicked for a lot of people. And I think that’s the singular probably best thing we got right.

Josh Birk:
Nice. Nice. Okay, well, there’s a bunch of those online, we will point to those in the show notes. I highly recommend them for anybody listening. Even 90 minutes sounds like it’s going to be a chunk out of your day, I am actually surprised how much you can almost play them in the background and then poke over your shoulder and watch it on the monitor next to you as they bring up the next highlights and things like that. So hugely recommended.

Josh Birk:
Let’s move on to another one of your big projects, which humorously I think came across my radar when we first started talking about doing a podcast here on Salesforce. Also around the same time, I was supposed to reach out to you about the Extracurricular. And I was like, hey, look, it’s also Chuck. So tell me a little bit about open-force.org, what is it and what brought you to start to bring that to life?

Chuck Liddell:
So I’ve got a lot of different side hustles and passions, and one of them is I want people to collaborate more in the Salesforce developer space.

Josh Birk:
Uh-huh (affirmative).

Chuck Liddell:
And that is a combination of learning, like the Extracurricular, and also code.

Josh Birk:
Yes.

Chuck Liddell:
So I really am a booster for Salesforce open source. And there are a few different people doing all kinds of different things, there’re interesting projects that stand alone, but there isn’t really a fabric that ties it all together.

Josh Birk:
Mm-hmm (affirmative).

Chuck Liddell:
So I’m hoping to start to kick start some of that, especially as Salesforce themselves goes more open source in the way they think, for example, Lightning web components, open source framework as opposed to Aura, which was open sourced but some of the platform stuff, not so much. So just there’s this shift, I think, ecosystem wide to be a little more interested in embracing of open source stuff, and it’s notoriously difficult to use anything open sourced in Salesforce because packaging distribution is so specific.

Josh Birk:
Mm-hmm (affirmative).

Chuck Liddell:
So you can’t bring in any libraries really and there’s packaging in that sort of thing, but then there’s these weird dependencies and stuff, and there’s not a good version dependency declaration system, right?

Josh Birk:
Right.

Chuck Liddell:
And so I would say that even though Salesforce has been around for a long time, open source on the platform is still early and is in its infancy. And so open-force, which is open dash force.org, is a pretty simple website just meant to be a collection point, which is just a low terrain where the water runs downhill. And it just collects essentially an index of all kinds of open source projects that people are involved in.

Josh Birk:
Okay.

Chuck Liddell:
And it’s GitHub centric, and so we just index them, we show how many stars they have, who’s the author, what’s it about, some tags that categorize it, and let you search and filter. So it’s really just a window into what’s happening with open source on the platform, and we pair it with a community behind it. So there’s a podcast called Good Day, Sir! And they have a great developer podcast for Salesforce run by Jeremy and John, and they have a Slack that they put together for just people to interact with them around the podcast that has taken on a life of its own.

Josh Birk:
Mm-hmm (affirmative).

Chuck Liddell:
And this podcast community on Slack is 1,300 people, so 1,300 people in there at this point, and it’s really just about architects, developers, admins talking to each other and sharing information. And so we decided to put the conversational aspects of the open source stuff in Slack there, rather than create a brand new Slack for it, we said, let’s find a community that’s already pre-technical, and just attach to them so that we aren’t reinventing the wheel.

Josh Birk:
Got you.

Chuck Liddell:
So we have a channel in that Slack, anybody can be part of it, so gooddaysirpodcast.com/community to join the Slack, and you can find us in the open-force channel if you want to talk open source on Salesforce, or better yet, help us work on the website because it’s open source, as you would expect, it runs on Heroku Dynos, and we’d love to have people help us to make it better.

Josh Birk:
Right, because that was my next question is, this is not just an open source repository, it’s an application to show an open source repository which is also open source, am I getting that right?

Chuck Liddell:
Yes, you got it.

Josh Birk:
But would you also describe it as a sign of a thin veneer on GitHub itself? So is that my low barrier of entry to it if I have a … is getting my repo up on GitHub and making it open source and public and all that stuff, what’s the next step if I wanted to submit this to me and my project to open-force.org?

Chuck Liddell:
So anybody can send an email to dev@open-force.org to have a repo considered. A lot of authors send the repos into us to get index but then Also people that just like a library will send it to us too. So it’s not always the authors that are self-publishing, it’s all kinds of people saying, hey, this is really cool library, didn’t see it on your website, let’s get it added.

Josh Birk:
Got it.

Chuck Liddell:
So it grows pretty organically, we get a few submissions a week.

Josh Birk:
Okay. And I’m assuming you’re basically just looking for relevancy to the Salesforce developer, is there specific traits that you’re looking for or is this just basically you want to make sure that it’s not just a garbage repo that somebody is just throwing at you?

Chuck Liddell:
So it’s interesting, there’s a whole conversation to be had just on that one question, which we won’t get it right now. But the short version is that we wanted to do a multiple passes. We had a lot of conversations with the group that put this together about, would we editorialize or not? Would we have an opinion about these repos, and rate them, or include or not include based on our opinions?

Josh Birk:
Yes.

Chuck Liddell:
And we decided that we would not.

Josh Birk:
Okay.

Chuck Liddell:
That basically anything that was actually Salesforce and actually like a real open source thing, we would include.

Josh Birk:
Okay.

Chuck Liddell:
And then later on we would add tags, or markers, or something, stamps of approval, whatever, on top of the index to indicate things that were maybe more opinion based as a supplementary marker rather than a gatekeeper for inclusion overall.

Josh Birk:
Got it, makes a lot of sense. Speaking of opinion, do you have a favorite?

Chuck Liddell:
I think, ever popular are the FinancialForce libraries that people put together like [crosstalk 00:26:25] those are huge. Andy Fawcett is such a figurehead in that community.

Josh Birk:
Yes.

Chuck Liddell:
I’ll put a plug for my own open source thing. The most successful open source thing I’ve ever written for Apex is a JSON parser.

Josh Birk:
Of course it is.

Chuck Liddell:
That’s a silly thing. Well, it was like, okay, you can deserialize into a type, which is great unless you have object properties, then you can’t, or if you don’t know the exact shape in advance, but your alternative is, okay, I’ve got a map string of object, inside of that, there’s a map string of object, inside that there’s a list of object, which inside of that is a map string. You have this really [crosstalk 00:27:00].

Josh Birk:
Yes. Yes. Yes. Yes. Yes.

Chuck Liddell:
So I just wrote parser that you can use pretty simple language like this.this.this index to, and then just pull it out.

Josh Birk:
Got it.

Chuck Liddell:
And out of all the stuff I’ve done, that’s the most popular thing.

Josh Birk:
But I mean, anybody who has gone through that map, I’m trying to think of a diplomatic word for it but it’s just map on map, it just keep [crosstalk 00:27:30].

Chuck Liddell:
It’s a casting nightmare.

Josh Birk:
Exactly. And it’s just like it’s a weird cascading map structure. So I think anybody who has hit that pain point, you’re doing good work out there, sir.

Chuck Liddell:
Yes. So we use the tree model, essentially, every node is a tree, so every return is a JSON parse node.

Josh Birk:
Mm-hmm (affirmative).

Chuck Liddell:
So you start with JSON parse node, you do a get, you get another JSON parse node. So you basically are just navigating a tree of nodes, and then when you’re ready to actually get the backing data, there’s a get string value, get date time value and stuff, and we do a little bit of conversion too, so to make it friendly.

Josh Birk:
Got it. Okay, so the other project I wanted to touch on which I feel like this is going to be like we’re going to slowly be peeling back the onion a little bit, but you did a talk at the recent London calling. And I’m quoting your abstract here, “Skip the boilerplate, custom metadata type presentation and get right into the weird and advanced stuff.” So what exactly are you building here?

Chuck Liddell:
So if you’re going to use one sentence to describe my contribution to the Salesforce speaker system, it would be the weird and advanced textual stuff. That’s just my trademark.

Josh Birk:
Right. Fair.

Chuck Liddell:
Brief digression, I gave a great talk a couple years ago at Forcelandia about hacking the metadata API to manipulate change sets using a custom UI. I wrote my own UI to edit change sets, and there’s this weird little edge case in the metadata API where if you use the change set name as the package name, you can actually use the meta API to manipulate change sets in certain ways, not full featured.

Josh Birk:
Really?

Chuck Liddell:
And the change set in the Setup Menu, the UI for that is not great.

Josh Birk:
Right.

Chuck Liddell:
So I did this whole hacky thing, and the whole talk was like, this is really weird, and I don’t know if I would necessarily recommend it, but it works, and here’s how I did it. So it’s just like the kinds of thing. Okay, so this talk most recent was called Advanced Custom Metadata Types Down the Rabbit Hole, Alice. And I just feel like I’ve done so much stuff with custom metadata types ever since they came out. I’m probably one of the people pushing the limits on what they can do and understand them at a really deep level. That I just felt it was important to do a talk that pulled together all of the random little stuff. So the first third the talk, I talked about a complex engine that I work on as part of the Valence, which is my main day job.

Josh Birk:
Mm-hmm (affirmative).

Chuck Liddell:
And then the second third was bugs that have existed and what they are, and what they look like, and ones that are able to fix, ones that are not. And then the third was just, here are things you should know, school fees paid. Here are all the little learnings, there’s some really weird little things even in some of these stuff that came out. So for example, there’s the new, fancy, static, get custom metadata types, right, you can just call them without using SOQL.

Josh Birk:
Right.

Chuck Liddell:
But if you have long text area fields, they truncate to 255 characters silently. So just be aware that it truncates long text area fields if you use that method instead of SOQL.

Josh Birk:
Got you.

Chuck Liddell:
Just little stuff like that. So I just got a laundry list, the presentation is available to anyone that attended that and they’re also going to put it out publicly pretty soon. But there’s essentially a laundry list of like, here’s 12 things that you should really know, that maybe not a lot of people know, but you should know about custom metadata types.

Josh Birk:
So first, I love that, because I feel like custom metadata types are one of those things that’s almost crack on the platform. You don’t think it’s going to get addictive and then you start putting it in places and it just starts helping in some, it’s like it really wants to be helpful. It does such a good job of-

Chuck Liddell:
Custom meta types are one of my two favorite features that were ever added to the Salesforce platform. I think they are a game changer. They’re amazing how powerful they are and people don’t understand what you could do with them.

Josh Birk:
Give me a night day example of something if I’m not thinking custom metadata in my head right now and I’m doing it in some other bullheaded way, like a custom object that I’m feeding data into or something like that, and then convince me how powerful customer metadata type is.

Chuck Liddell:
So I’ll give you an example. So our application, so I’m the CEO of Valence and it’s an integration manage package that’s an ISV built on Salesforce, and so it’s all the integrations. And people can write Apex code for how to talk to some other endpoint, they can write the configuration for which S objects are going to be moved back and forth that endpoint, the mappings, and the behavior for those mappings, all those custom metadata types in one package.

Josh Birk:
Mm-hmm (affirmative).

Chuck Liddell:
They can promote it or package it and send it around. They could package it and then sell it because it’s a QuickBooks, one, and there are QuickBooks, and they want to make a prebuilt QuickBooks easy to use drop in and you can do QuickBooks that automatically connects or whatever.

Josh Birk:
Yes.

Chuck Liddell:
And someone else could repackage it with extra mappings and extra definitions of configuration behavior, and then it gets to the customer. So you could have three layers of people that have contributed layers to this thing, and when you’re the customer, you just click, install, done, when there’s all this work that went into it and it’s only because custom metadata types allow for that extension behavior.

Josh Birk:
Nice. Okay. Before I let you go, I want to talk two more things, because I want to make sure we give a shout out. Well, first of all, let’s go ahead and give a shout out. And you’re one of the many people who have worked with Don Robins in Pluralsight, what courses do you have there for helping people learn Salesforce architecture?

Chuck Liddell:
So Don Robins has a series called Play By Play, and he essentially has conversations with different experts about certain topics. And they’re amazing because, as I think it’s pretty clear from this podcast, I’m a big fan of conversational learning, I think it’s a great way to learn something, instead watch people we’ll talk about it.

Josh Birk:
Yes.

Chuck Liddell:
And so Don proxies the audience and ask questions that he thinks they might want to know in that moment.

Josh Birk:
Got it.

Chuck Liddell:
And we’ve done two together, we did one called authenticating external app and service integrations with Salesforce, which was all about name credentials, OAuth, different ways to do OAuth flows with Salesforce, the SOAP API versus the REST API in session management, all kinds of crazy stuff that’s hard to tease out. And we just did a bunch of visual examples like here’s the actual payload and here’s what it looks like. And then we change it, and here’s what looks like now. So we did that one and then we did one called understanding Lightning web components for Salesforce developers, when LLDCs first came out, and we just compare and contrast Aura to Lightning web components as you make the transition to help people bridge.

Josh Birk:
Got you. Nice. Nice. Okay, so you’ve worked with Salesforce on the TrailheadDX stage, you’ve worked with various training events, you’ve done presentations for him, you’ve helped Marissa out with Cactusforce, but you’re also very active locally, what are you doing with your local community?

Chuck Liddell:
So I live in Honolulu, Hawaii, I’m one of the co-hosts of the Hawaii user group for Salesforce. So pretty small group, probably 30 people that meet and talk Salesforce. And I’m pretty involved in trying to help people build careers down here, is quite an interesting market, there’s a lot of tourism is the main way people make money and there’s not a lot of opportunity for tech. It’s a little bit of tech, but it’s not a ton. So I see Salesforce as an opportunity for people locally to build tech skills and to branch out into more higher paying jobs, really about getting people jobs, getting them money.

Josh Birk:
Got it.

Chuck Liddell:
And so there are a few different things I’m involved in the user group itself, there’s also a workforce development program that started down here last year called Hiapo, which is run by a nonprofit called Purple Maia. And their thing was, okay, let’s build IT courses that are short boot camp style, which is pretty popular these days, around getting people from zero to something with technology. And they decided to make Salesforce a big piece of that. So the user group and myself have been helping them to work on their curricula, or talk about what should be covered, or talk to some of their people. We’ve had cohorts from that come down to the user group and present their capstone projects, and talk to us, and learn from us, and that’s been really sort of collaborative.

Chuck Liddell:
There’s also an accelerator down here called Blue Startups, that helps to just do general tech, not really Salesforce specific, and I’m a mentor there and part of the selection community for choosing groups to come through. And they’re one of the top 20 accelerators in the country, according to TechCrunch. So, dovetailing back into the business and tech hats.

Josh Birk:
Yes.

Chuck Liddell:
When I sit in the selection committee, my role is to be the most technical person in the room, but still be able to connect the dots for everyone else. So we listen to a pitch from a company and I say, okay, here’s what they’re really building, or here’s what they really built, and here’s what it means for the business. And then I help them to digest the technical aspects of the company were reviewing.

Josh Birk:
Nice. So if I ever want to move to Hawaii and get a job, I should call you.

Chuck Liddell:
Yes, well, there’s actually a program that we started this year called, Movers and Shockers. I didn’t start it. But I say we, I mean, the State of Hawaii, I have nothing to do with that. They actually got funding to encourage people to move down and just live down here for a while, and do some work remotely for whatever job you already have, and they’re going to help you get set up with housing and stuff. And in exchange, you got to do a little community service around teaching skills, and sharing your knowledge, and doing talks and stuff.

Josh Birk:
Cool. Cool. So tell me a little bit about what you’re doing now, tell me about Valence.

Chuck Liddell:
So Valence is an ISV, it’s a managed package, and its intent is to be a standalone middleware platform natively in Salesforce. So you’re running an integration engine in Apex and you don’t have any third party server involved. And that came out of a consulting business. I told you I had been doing sales for a long time, I did consulting and we doing a lot of complicated projects, weird, complicated technical stuff, right, so that’s my thing.

Josh Birk:
Mm-hmm (affirmative).

Chuck Liddell:
And we kept getting integration work and I thought, man, there’s got to be a better way to build integration in Salesforce without going for a huge engine, like an Informatica, or Jitterbit, or something, can I just [crosstalk 00:37:09] that’s very Salesforce centric, that understands Salesforce really intimately, and handles all the nuances of the platform gracefully, and so that’s the idea for it. And the Salesforce incubator was just getting started as we were trying to think about this ISV, so we actually turned the consulting business into an ISV, which is the whole thing, I’ve done some talks on it, it’s a great story.

Josh Birk:
Nice. Well, tell me a little bit more about that, what’s the technology behind all of this?

Chuck Liddell:
So connecting that back to the custom metadata type stuff that we’re talking about, the CMDTs really allows you to do some interesting dependency injection, where you can change the moment in time where people are making decisions about what’s going to happen and when.

Josh Birk:
Mm-hmm (affirmative).

Chuck Liddell:
And so that’s a really important part of building an integration engine because people need to be able to customize it, and configure it, and make it do what they want. So using custom metadata types is one half of the core skeleton of how people interact with Valence at a technical level. The other half are Apex interfaces. So we use a lot of micro interfaces, interfaces that have one or two methods defined on them.

Josh Birk:
Mm-hmm (affirmative).

Chuck Liddell:
And we say, okay, this is the contract for behavior, the custom metadata type record is a registration and some configuration about that behavior. So you might say, okay, do you know how to detect schema? Can you tell me about schema? That’s an interface.

Josh Birk:
Mm-hmm (affirmative).

Chuck Liddell:
And then there’s a registration record in a CMDT somewhere that says, hey, this Apex class can tell you about schema, here’s how to invoke the class, and it’s going to comply with this particular interface. So it’s a one, two punch with the interfaces and the custom metadata types, and with those combined, you can build a very dynamic, very dependency injection friendly and admin friendly, framework that allows for all kinds of flexibility around extension that you couldn’t even imagine when you first built it.

Josh Birk:
And when you say, you couldn’t even imagine, you had people from Salesforce basically telling you that they didn’t think this was possible.

Chuck Liddell:
When I walked around and said, hey, I’m going to build from scratch a fully native middleware engine in Apex, people said, you are out of your mind, it’s never going to work. But it actually works really well. We put a lot of work into it, but we can move like millions of records and we’ve even built a parallel engine where you can move stuff in parallel, it’s crazy. There’s stuff you can actually do in Apex with all the asynchronous stuff like cable, batch, and platform events, and chaining it all together in orchestrated, this crazy synchronized dance of all these different pieces moving together has been one of the most challenging things I’ve ever done on the platform as a developer.

Josh Birk:
Nice. Well it sounds very weird and advanced.

Chuck Liddell:
Well, fully integration in Salesforce would be.

Josh Birk:
And that’s our show. Now, just on a personal note, I’m recording this portion of this episode Tuesday, May 11th, 2021. My wife and I have finally gotten our second shots here in Chicago. And it’s also finally beautiful weather here in Chicago. So looking forward to being able to get out there into the world again, and it just so happens one of the things I’m looking forward to also is Chuck’s favorite non-technical hobby.

Chuck Liddell:
I’m going to go with cycling.

Josh Birk:
Nice.

Chuck Liddell:
I like cycling a lot.

Josh Birk:
Nice.

Chuck Liddell:
I try to spend as much time as I can out on my bike.

Josh Birk:
Nice. Has the pandemic slowed that down at all or are you still getting out?

Chuck Liddell:
Now you still get out.

Josh Birk:
Nice.

Chuck Liddell:
I mean, we were on lockdown for a while but recently it’s been not a problem at all.

Josh Birk:
I want to thank Chuck for the great conversation and information. And as always, I want to thank you for listening. Now if you want to learn more about this podcast, head on over to developer.salesforce.com/podcast where you can here all the episodes, see the show notes, and have links to your favorite podcast service. Thanks again everybody. Stay safe out there and I’ll talk to you next week.