91. Diversify Your Skills | Scott Lee


Diversify Your Skills

Scott Lee, who joins to talk about Diversify Your Skills, is CEO of Elega Corporation, Senior Salesforce Developer, Game Builder, and PluralSight Author.


Main Points

  • How did Scott get into coding at the beginning
  • How did Scott learn Salesforce
  • From learning python to creating the course for Python
  • Spend time on your passion
  • The steam game Scott is developing
  • Salesforce developer future career

Links


Video Teaser

The YouTube Video URL


Contact Me

If you enjoy this podcast, please reach me out to let me know your thoughts or simply say Hello. My (Xi’s) contact info:

Take care, until next time :)!

Transcript

AI-generated, unedited.

[00:14] Hey everybody! This is Xi Xiao. This is here the new episode of Salesforce Way podcast. Today I'm sitting with a returning guest. His name is Scott Lee. Hello, Scott. Hello. Would you like to again introduce yourself? Oh sure, I'm a Prosite author. That's probably where most folks in the Salesforce space would know me from. I have ten different courses now. Of course, if I come back on the show again later, then maybe that number will increase yet again. And, um, been working in Salesforce for a little over eight years now. I do a lot of development things, so I write a lot of code, do a lot of integrations. These days, I'm doing a lot of CI/CD and developer tools and things of that nature. So over ten Pluralsight courses already. Ten currently, and hopefully number eleven quite soon. All right. So what really motivated you to do this? To do Pluralsight or Salesforce? The Pluralsight. Oh, Pluralsight. I well, so I've always been interested in human learning and sort of self improvement and those types of things. I my my formal education is in psychology and sociology actually. So before I got into coding and technical areas, I was very interested in human development and those

[01:44] types of things. And so I like the idea of helping people. I like the idea of helping them launch their careers. And where I came from, it was a very similar kind of story because I was struggling right out of college and. Salesforce was like a big thing for me because I went from making a not a great wage to to having a developer salary, and that's a life changing event. And so if you can help other folks along that path, and and get them into better places, then that's that's a really good thing. I think so. That's been probably my. My main motivation for all side. Yeah, that's a interesting topic. I think a lot of folks in the ecosystem, our Salesforce ecosystem, we didn't earn well salary in other industries, and then somehow we found the chance to jump into Salesforce, and then we get embraced in in this ecosystem, and and we get decent salary after that, especially for Salesforce developers nowadays. What did you study? How did you get into coding? I started with so so I was working at a company at the time I started getting into code. And it was in a call center environment. A lot of a lot of folks, when they hear call center, they think oh, customer service. But no, it wasn't customer service. It was a litigation support company. So I would call these medical providers

[03:14] and basically ask for records. And so it was basically like lawsuits going on. You have to call these different facilities, get records, and I got promoted into a middle management position. And in that role, I was trying to figure out how do I provide more value to this company, and I was led to, well. As a part of managing this team, there's all these reports and things that have to get created, and I was using Excel, and Excel has this wonderful thing called Visual Basic for Applications, which is a it's a programming language that is basically. It's Visual Basic adapted for Microsoft Office, and so you can automate anything inside of like any Office application. And so in Excel, that's very useful because you can. Automate all kinds of things with data. So while other team leads at the time in middle management, while they were spending hours and hours prepping these like month-end reports and things for their teams, I had written scripts to do that. They were bad scripts, by the way. Not the the code quality of those first scripts I wrote were just awful, but Because computers are so fast, I was able to do those things in like fifteen minutes, where it took everyone else, you know, all day, right? Exactly. So that was that was wonderful, and then that led me into working with Salesforce because that company was using Salesforce, and

[04:45] so I kind of, long story short, I kind of leveraged my way a little bit into getting a position because I got another offer, and then they matched that offer and. I I worked with them a lot to to say, hey, you know, if you if you just consider me for this development position, then I'll build this software for you. And I had a lot of business domain knowledge of their business, which is very very valuable. You know, a lot of folks when they come in at entry level, they don't really realize that all of that knowledge they have about whatever it is they're doing at the entry level is actually very useful. And they may not understand a lot of the development folks. They came in as developers, but without being in the trenches of that business, right? And so they are actually quite unaware of how a lot of little details work, right? And so that knowledge is very, very valuable. And so I know there's others who have kind of repeated a similar story to mine. Because of being able to to use that domain knowledge to then you combine that with the technology and you get something very powerful. So you were not taught programming back in the school. You were learning during your job, right? That's where you started. I learned on the job. I so I also in studying for Salesforce. I just watched hours and hours of YouTube content from previous Dreamforce years. Okay. So I watched. You know, my first Apex trigger was off of a YouTube video, and and it was

[06:15] difficult back then to find good resources for learning. There's there's a lot of free content, but the thing about free content is often. You don't quite know what you're getting in terms of quality. You don't know whether the person you're learning from is vetted or truly experienced. You don't know if they're teaching you something that's actually a good practice. So you have to be aware of that whenever you're using free resources, but. Free resources are wonderful, and they're great, and they're definitely how I got my first couple certifications. Because I that's that's what I did is I just went home and at night, I just poured hours into anything I could get my hands on. But it's very different today. We have so many resources today. Trailhead was not around back when I started. In terms of all these different modules and badges you can take, and hands-on exercises you can go through. You know all the Pluralsight courses. Pluralsight's course catalog for Salesforce was like there were like a handful of Salesforce courses back then, done by Don Robbins and Dan Appleman. And aside from that, there wasn't really much in the catalog. Today they have like over one hundred and fifty courses, right? Indeed. I'm sure there's even more on other competing platforms as well. So you have a lot of options today. There's books. I think the one of the only books back then was Advanced Apex Programming. And but now you have you have like enterprise patterns and you have you know DX you have see a lot you have all these different books out there too. So it's wonderful. Yeah, definitely. Nowadays, it's it's easier to to become

[07:46] a good Salesforce developer. So, in addition to the Protocide courses, I understand you spend a lot of time to write Python code, and you did also publish a Python course about how to use that for Salesforce. I did, yeah. So I I learned I learned a lot of Python while I was at a company called Sunova Energy, and that was kind of a little bit of an an interesting story. We had a a CIO. Who was not a big fan of Microsoft, and so he didn't want to use C Sharp and .NET for some reason, and so he said, "We're going to build a Python team." And I said, "Okay." And for some reason, I was just like, "Well, I need to be versatile. I need to be ready for that." And so, yeah, I started studying Python and I learned learned the language, and then. And then I ended up making a course on how do you combine that with Salesforce. But that's the thing, Scott. You know, learning a new language isn't that easy. For a lot of people, you know, especially junior developers, or including me as well. I mean, we learn Apex, we learn JavaScript, but for that the language, we it's hard. Not only you learn it, but also you put it into a course for somebody else to learn. How do you do it? It's like not just take in, right? You

[09:16] you also spit out your your output. Yeah. Well, so one trick is I have a lot of time. Okay. All right.

[09:28] Which is important, you know. It's important, yeah, and you know you have to understand that that the, the rate of progress you have, you know, if if you. Not everyone has the amount of time I have. I'm very lucky in that way. I'm very privileged in that way, right? And so, yeah, some someone with you know things that they need to maintain with their family, or or things at home, it may take you longer to to reach a similar point. But you know, with me, I I work a full time role, and then I eat dinner, and then I'm often back. You know, right back here in this workspace that I'm sitting in right now, and continuing to to just plug away on different different things, different projects. It was nice at when I was learning Python because there were use cases for Python that were ready for me to work on. I you know I was also lucky in the sense that they hadn't hired anyone yet. They were just talking about it, and at the mere Mention of we want to do this, I was already jumping onto it, right? And again, that's a situation where not everyone has that chance. And I think I also got lucky with the VBA stuff as well because a number, especially if you go into a larger company, you won't have those

[10:58] same kinds of opportunities to automate a bunch of things because the larger companies they've already paid to automate. And you won't get the same chances necessarily if they've if they've done their homework ahead of you. That same sort of opportunity won't exist. So that makes a big difference, I think. Yeah, totally, Scott. You know, I also accepted this truth that if I don't spend that much time as as you did on this subject, then I accept that you are definitely the more expert than I am. Because I spend time playing games, I spend time with family. You know, go out with friends, hang out. So the time is limited. If I have chosen to be more relaxed. Comparing to you, what you did is like every day. Maybe you just heads down and learning Python, do your fluroside courses. Then definitely on these subjects, I cannot really beat you at all. And on mental point, on on an emotional point, if you love it, that's how you're able to just pour so many hours in, right? Indeed, a lot of a lot of other folks they they could get burnt out if you know if this is if this is arduous or or drudgery, then. You're going to get burned out if you kind of if you try to match that same kind of energy. And you know another important thing though to note with Python or with any other language, if you learn one programming language, that first language is usually going to be the hardest one, and it's usually best. Like what I often recommend

[12:28] is. Learn a first language. It it doesn't matter which one necessarily. It matters that it works for whatever it is you're doing, and then, on the next one, what you've hopefully done with the with the first language is you've hopefully mastered a lot of things like. You know, with Apex, what would that look like? If you've mastered Apex, you've written triggers, you've written asynchronous Apex, you've written maybe some backend controllers for Lightning Web Components and things like that. And once you've done that, and you under you have a deep understanding of that, when you go on to something else like JavaScript or Python, or what hopefully we'll talk about is Rust. If you go onto something else, it's easier to wrap your mind around because a lot of those things that you'll encounter, they're all the same, right? You have conditional statements, you have for loops, you have collections. Hash maps or or these special collection types in Apex, it would be maps and sets. And so once you have an understanding of all those pieces, you'll find that those exist in lots of other languages. And then it's just a matter of understanding syntax. So that's important to understand as well. Okay, so you personally you really enjoy programming, right? I think I think there are times when I enjoy it. I think my personality is well suited to it. I don't always enjoy it like a hundred percent of the time.

[13:58] Okay. Quite frankly. Okay. But but what what really draws me to code is there's nothing quite like it in terms of what you can do with it. Yeah, and that's what I always say. I don't love coding. I love what you can do with coding. You can do so many wonderful things, and and if you have a deep understanding with code, you don't have to rely on anyone else either. You don't have to rely on buying another product necessarily. There's a lot of things that if if you desired, if if all you if what you have is you have time and you don't have money, you can roll your own solution to things. Indeed, you just you just need the computer, internet, for a lot of things. But in addition to a Salesforce developer, you also developed your game, right? Yeah, so I have a game on Steam called Collin Kingdom. It's a turn-based city management game. So that's your spare time hobby, or did you also spend a lot of time developing it? I've spent a fair chunk of time developing that game, and I'm continuing to to work on it. Actually, it was originally released in 2019, and my original thought with it was. Let me go do something over the course of four months or so, and let me get something out there. When you go and you learn game development, one of the things they tell you, and now I I have thought I have questions about this, is they tell you, you know, don't get too bogged down in trying to make it

[15:29] perfect, and it's important to get the experience of getting a game done and getting it out there. And I did, and it was not great. And so I had to go back right away and keep working on it. But I did. I did get it done. It's a full functioning, working game, and it's far from perfect. So it's a paid game, right? Yeah, it's a commercial product. It's yeah, it's it's it's eight dollars at full price. I've run a number of sales and and so on. Uh, but it is very you know I it it is in in a way it's a hobby because it's not it's definitely not a main income source. Um, but I take it very seriously. And those who have purchased the game, you know, I I work very hard to to make them happy. And I and that and that's you know I continue to work on it because I feel if there's those folks who are willing to buy copies of this and they're interested in in what I have tried to do. You know, I kind of owe it to them to to finish it out. So yeah, I've continued working on updates. You know, you've made so many milestones in different fields. The Pluralsight courses, those I actually make videos. Right, you need to narrate all these words, and then you need to put them together as a video clips. Then you have to make sure the quality is high, and then the game is totally different shift. Back in the days when when it was still like a J two M E in the Nokia phones, I remember I studied

[16:59] some game book. So even making some really simple games, there's a lot of work to do. I would assume for your commercial product, also I can't imagine, like the time and the dedications you really spend on it. It's like a solo developer there. Yeah, I think it's. I think I think on Calling Kingdom, it's been three to four hundred hours so far, something like that. Hmm. So, including the audios, pictures, videos inside there, all these moving parts as well. Yeah. So, on the original release of the game, I did all of the artwork myself. All of the building art in the game, where you have these different buildings in your city, I put those together. They're three D models, and then I render them out to be two D sprites. And but I did hire someone for the user interface, so I have someone who works for my company, and they do all the user interface art. And we're in the middle of like a big overhaul with the user interface right now as well, and he's working on redoing the entire user interface. So yeah, that's that's in progress as well. So yeah, I mean it's not it's not all me. the the music. The initial music was like royalty-free tracks that are that are freely available out there as far as licensing goes. So I didn't compose any music. I actually could do that too if I wanted, but I didn't compose any music. I figured, you know, I'm busy enough. I don't have time for that. So yeah. So yeah,

[18:29] it's it's not all me. You know, occasionally I will hire folks to do. Some some things. Does all these things in your career journey help you to build more confidence? Cause you you mentioned you know back in the days you didn't earn that well salary, maybe you were still struggling to find out what you are really passionate about, what you really want to do, and then you found programming, and then you. You think that's something you really enjoy, and you then continued until today, so you are not definitely not a junior developer anymore, and you have already built all these things. Does it really help you to gain the confidence that you can say, "Yeah, I can do the same thing like all the other great people did"? Um, you go through cycles. Yeah, and I'm I'm just interested in these things. You know, there are a lot of developers, Salesforce developers, who are kind of like um in the corner. You know. We don't know what our journey is gonna be. Like five years, ten years later, what what is our career? A lot of people are still thinking on that. Yeah. So I mean, there's there's been some interesting discussions I've seen about how long will Salesforce last? Yeah. Indeed. Will they be disrupted at any point? And and if that if and when that happens. What do we do, and how do we handle that

[19:59] situation? How do we prepare for that situation, and all those kinds of things? And so, for me, the answer to that has been a little different than some folks. You know, some folks the answer is I want to prepare for management. I want to be ready for maybe doing something like a business analyst type type of thing. The answer will be different for different people, and that makes sense because we all have different personalities. We have different strengths and weaknesses. For me, the answer has been well, I just want to embrace. My technical side, because I feel like that's what suits me. I'm very comfortable with that. I, you know, I have. I as as we just talked a bit, I can easily pour so much energy and so many hours into that. I'd I'd like to just embrace that. And so for me, it's about understanding the lower level fundamentals of the machine. And getting more into lower level performance and understanding, because I'm someone as you know, as I said, I came from the world of psychology and. It's important to build a fundamental education around computer science, given that that is the field in which I work. And so, that's my answer to the whole thing: is that I need to be able to have enough skills to navigate, you know, in a in an instance or an example where Salesforce is disrupted. What then? For me, hopefully, the answer is well. Maybe then I can do deeper work. Maybe I can go

[21:29] into harder problems. Maybe I can go into other related technologies that you know have very high demands on. How do we make the most out of the machine and? And that's also fascinating to me, because especially as someone who's self-taught, I didn't sit in a classroom to learn any of these things. For me, it's been very organic. It's been for anyone who who maybe learns a higher level language and then they want to go and they want to understand more about the computer. You ask questions like, "Well, wait a second, how does this magical thing called code?" Work and the answer is well. There's interpreters and there's compilers and there's instructions that that are actually translated from the code that you write and it. And so then you say, well, well, how does that work? You know, it's all very mysterious at the beginning, and the the journey of going of coming to understand how the computer really understands what it is you're asking it to do. That's very compelling. So you love solve puzzles.

[22:37] I know puzzles that I like, but I

[22:43] think you know. I just think. Well, based on what I've learned so far, I think one important fact is, ah, computers are capable of being very, very fast, and a lot of folks don't realize just how fast modern computers are. Ah, you know, there's all these comparisons about we went to the moon on a fraction of a fraction of power, you know, that people have in their pocket with their their mobile phone. Yeah, and. I'm like, well, wait a second. If that's true, why does it take my email five seconds to open? You know, if if it's so fast, so. I think fundamentally there there are actually some significant quality problems in modern software, and some folks that you talk to about that they say, well, it doesn't matter as long as it works, and I say no, it does matter. Because it could be so much better, you know. It it could consume less energy. It could it could use less memory. It could be better for the user experience because. You know, even if it, if even if we're talking about five seconds, five seconds impacted on hundreds of millions of people. That's quite a lot of time, actually. And so, I believe it does matter. I believe performance always matters. And um, and when you think about the future, right? Just as a person who wants to be optimistic about the future and

[24:13] soft about software and hardware, you think, well, in the future, what I would imagine is all these things would get better. They would all get faster. And Things would be snappier, and they would be smarter, and so it's like, how do we go that direction? Right. That's that's asking the question is like the first step of like, okay, well, how do we do that? How? What are the exact concrete ways in which. And there are real answers to those

[24:45] questions. Hi, this conversation continues on the next episode. See you next week.

Leave a Reply