Latest / DevQuestions with Tim Corey / 171 How Do I Become a Consultant with Kevin Griffin?
Transcript
- 0:00SPEAKER_00: Welcome to the Dev Questions Podcast with Tim Corey.
- 0:03SPEAKER_00: Join us each episode as we tackle the questions you are asking about a career in software development, understanding the industry, and new technology.
- 0:12SPEAKER_00: If you're just starting out or you want to grow stronger as a developer, this is the place to get your questions answered.
- 0:19SPEAKER_00: Now, here's your host, expert developer and online educator, Tim Corey.
- 0:26SPEAKER_02: Welcome to a special episode of Dev Questions.
- 0:29SPEAKER_02: I'm here with Kevin Griffin.
- 0:31SPEAKER_02: Kevin, can you introduce yourself a little bit?
- 0:33SPEAKER_03: Oh hi everyone.
- 0:34SPEAKER_03: I'm Kevin Griffin.
- 0:35SPEAKER_03: I'm a uh I'm just a community guy.
- 0:38SPEAKER_03: I'm a 14-time Microsoft MVP at the moment.
- 0:42SPEAKER_03: Been an independent consultant for 11 years, 10, 11 years.
- 0:47SPEAKER_03: You lose track of time when you do it this long.
- 0:50SPEAKER_03: I'm currently uh the acting CTO for a company called Shows on Sale.
- 0:55SPEAKER_03: And I, yeah, I do a lot in-between stuff as well.
- 0:59SPEAKER_03: Okay, excellent.
- 1:00SPEAKER_03: A little bit of everything.
- 1:01SPEAKER_03: So, how did you get into independent consulting?
- 1:05SPEAKER_03: It was by accident, kind of manifest destiny.
- 1:11SPEAKER_03: I was working a nine to five regular full-time job, and I was getting to the point where I was getting too ambitious in the job.
- 1:19SPEAKER_03: Let's put it that way.
- 1:20SPEAKER_03: Uh, I was not a good employee for the company I was working for because the company I was working for did not have the same aspirations as I did for technology, for just pushing the status quo, that sort of thing.
- 1:34SPEAKER_03: And I had a friend in the community who had reached out to me and said, Hey, I have a I have a gig I really want you to come on.
- 1:44SPEAKER_03: And it would be full-time, it would be a guaranteed thing, but you'd come on as a contractor, essentially.
- 1:50SPEAKER_03: Like, that's a that's a great idea.
- 1:52SPEAKER_03: So I thought about it.
- 1:54SPEAKER_03: We had recently paid off all of our consumer debt, everything about our mortgage.
- 1:59SPEAKER_03: We were fairly comfortable financially.
- 2:01SPEAKER_03: And I talked to my wife, and I'm like, I think I like to go do this.
- 2:04SPEAKER_03: So quit the safety of my job and go go do this kind of unknown thing.
- 2:11SPEAKER_03: Uh so yeah, we we did that.
- 2:13SPEAKER_03: I quit my job, started a couple of weeks later with this company as a contractor, and did that for about a year.
- 2:20SPEAKER_03: And along the way, just because I was a contract, I had to set my business up.
- 2:24SPEAKER_03: So I set up all the infrastructure I needed to be a consultant.
- 2:28SPEAKER_03: And then that gig ended.
- 2:30SPEAKER_03: That's a story for another time.
- 2:34SPEAKER_03: But that gig ended, and I started looking for some of my own work, and I have always had my own work since then.
- 2:42SPEAKER_03: So it's just been an uphill battle to keep all that going.
- 2:46SPEAKER_03: Yeah.
- 2:46SPEAKER_02: Um, so how do you balance?
- 2:48SPEAKER_02: Like, are you a one-man operation as far as sales and marketing and everything?
- 2:53SPEAKER_02: Yeah.
- 2:54SPEAKER_03: Uh at the moment, yes.
- 2:56SPEAKER_03: So I used to have an employee who worked with me, and he was paid to me and worked on all my contracts.
- 3:02SPEAKER_03: I never liked that aspect of it.
- 3:05SPEAKER_03: He was a he was a great guy, he did great work, but trying to keep him employed all the time was so nerve-wracking that I was moving out of the the day-to-day coding architecture, uh, thought leadering position that I wanted to be in.
- 3:20SPEAKER_03: And I was moving into the let me try to sign as many contracts as I could so I can keep someone else employed.
- 3:27SPEAKER_03: And eventually I actually I just got to the point where some contracts were ending, and uh my employee said, I want to go take another gig, have my full blessing, go ahead.
- 3:41SPEAKER_03: Uh, because I wasn't able to offer things like health care.
- 3:44SPEAKER_03: Like we were here in the US, and that's a big deal.
- 3:46SPEAKER_03: I was able to pay him a stipend so he could buy a plan off of the marketplace, but we weren't able to provide it to him.
- 3:54SPEAKER_03: Um so I cut back on a lot of my contracts.
- 3:58SPEAKER_03: I I changed how I did contracts, so I moved away from hourly gigs to weekly and monthly gigs.
- 4:06SPEAKER_03: Uh, I wanted to pat off my schedule, and you know, now I don't I don't actually seek work anymore.
- 4:13SPEAKER_03: The work comes to me, and I usually have to turn it away because I'm too busy with other stuff.
- 4:18SPEAKER_02: Excellent.
- 4:19SPEAKER_02: That's a good place to be, to be comfortable and not have to worry about the next meal.
- 4:23SPEAKER_02: Yeah, yeah, exactly.
- 4:24SPEAKER_02: That's the place that's a hard place to get to, but um, so so what kind of technology do you use as a consultant?
- 4:30SPEAKER_02: Like what software do you write in, those kind of things?
- 4:32SPEAKER_03: Um, all my solutions are the.NET stack.
- 4:35SPEAKER_03: Uh, I'm a ASP.NET Core guy through and through.
- 4:38SPEAKER_03: I deploy all my solutions to Azure.
- 4:40SPEAKER_03: Uh, any company I've gone into that has been looking for technology assistance usually falls within that stack.
- 4:50SPEAKER_03: Uh, if someone comes to me and says, Oh, we're doing Ruby on Rails and we're deploying to Heroku, I'm probably not the guy for you.
- 4:57SPEAKER_03: Um, I used to be 10 so years ago, the person that would try to say yes to everything because I liked eating.
- 5:05SPEAKER_03: And if someone was willing to pay me money, I would figure it out.
- 5:10SPEAKER_03: Sure.
- 5:11SPEAKER_03: But I started having more success when I started sticking to my niche.
- 5:14SPEAKER_03: I really enjoy working with.NET.
- 5:16SPEAKER_03: I really enjoy working on Azure.
- 5:17SPEAKER_03: Uh, I can be flexible if the project requires me to be flexible.
- 5:22SPEAKER_03: But I once I started sticking to my niche, I was actually able to command more money uh in the long run because I could come in and say, I know X, Y, and Z very well, and I can help you with 99% of your issues, and it's going to cost so much.
- 5:39SPEAKER_03: And most people, when you start getting into that that bracket, just go, okay, here.
- 5:45SPEAKER_03: Right.
- 5:45SPEAKER_03: So you get you have a solution already prepared for them.
- 5:48SPEAKER_02: Never never.
- 5:50SPEAKER_02: I'm still I'm still fixing it every day.
- 5:52SPEAKER_02: Yep.
- 5:52SPEAKER_02: But I'm just charging more.
- 5:53SPEAKER_03: Sure.
- 5:54SPEAKER_03: It seems like I know.
- 5:54SPEAKER_02: Well, at least your experience in what you're doing, yeah.
- 5:56SPEAKER_02: And so you can bring some expertise to the table that they need.
- 5:59SPEAKER_02: Excellent.
- 6:00SPEAKER_02: Um, so so how did you get into software development then?
- 6:04SPEAKER_02: How'd you get into the the place where you could then be confident to be a consultant?
- 6:10SPEAKER_03: Uh I started software development.
- 6:12SPEAKER_03: I was a teenager.
- 6:13SPEAKER_03: Uh and I remember we had gotten our first computer, it was back in the early 90s.
- 6:20SPEAKER_03: So we got our Packard Bell 4086 with a CD ROM in it.
- 6:25SPEAKER_03: It was a big deal.
- 6:26SPEAKER_03: Yeah.
- 6:27SPEAKER_03: And my dad had said, don't touch the computer.
- 6:32SPEAKER_03: It's not it, you can't play with it, it's an expensive toy.
- 6:36SPEAKER_03: Don't do anything on the computer.
- 6:38SPEAKER_03: Um, but my dad's in the Navy, that's why I ended up here in Virginia Beach.
- 6:42SPEAKER_03: And uh Navy folks go out to sea every now and then.
- 6:47SPEAKER_03: So dad left for three months, and I went, Well, the cat's away, I want to play.
- 6:52SPEAKER_03: And I didn't just get on the computer, I picked up books.
- 6:55SPEAKER_03: Uh back then you learned everything from books.
- 6:57SPEAKER_03: You we didn't have the internet, and I read DOS for Dummies, and I got to a chapter on Q Basic and was talking about hey, there's a programming language built into DOS that if you want to learn how to write a little program.
- 7:09SPEAKER_03: So I was super interested in I think I was 11 years old or so.
- 7:13SPEAKER_03: And I went, oh, this is cool.
- 7:15SPEAKER_03: Went to the public library, got some more books on it.
- 7:18SPEAKER_03: The school system had no concept of how to teach a student how to program, like it just wasn't a thought.
- 7:25SPEAKER_03: And so I learned a lot of Q Basic, uh, picked up Visual Basic later, and tried to move on to C when I was in my early teens, couldn't figure out how to do it at all.
- 7:38SPEAKER_03: I'm like, I don't understand what any of this stuff is.
- 7:41SPEAKER_03: What's a compiler?
- 7:42SPEAKER_03: And there was no one there to mentor me to tell me, oh, this is this, this is that.
- 7:47SPEAKER_03: And so I just kind of gave up on that until high school.
- 7:50SPEAKER_03: And high school is when I eventually had a teacher that could explain everything to us and learned a lot of C, went to college, even more C.
- 8:00SPEAKER_03: They didn't teach us any Java or anything there.
- 8:03SPEAKER_03: Um, got my first job with Symantec uh doing C, working on antivirus software, and uh they laid me off just a layoff.
- 8:14SPEAKER_03: So if you want to know some bugs in Norton Antivirus that they never fixed because I didn't get the commit in in time before they laid me off, uh I I can let you know about that.
- 8:26SPEAKER_03: But uh yeah, got that laid off from that job.
- 8:29SPEAKER_03: That actually led me to a consulting job that I eventually quit to become uh in pain consultant.
- 8:36SPEAKER_03: Um but it was that losing my job.
- 8:38SPEAKER_03: Uh that was kind of the key part because until then I was I went through university, I was primarily self-taught, and I got laid off from that job and realized that there's absol there's this concept of job security that I think a lot of people have.
- 8:55SPEAKER_03: Maybe like my age and older still have that concept, but anyone younger than us, absolutely know there's no such thing as job security because you can go into a job, you can put 19 years into it, and they could just lay you off at a moment because books don't balance correctly.
- 9:15SPEAKER_03: With that mindset, I decided it was a really good idea to try to build my own job security.
- 9:21SPEAKER_03: And I started devoting time to the developer community.
- 9:25SPEAKER_03: I was attending user groups, uh, not even here in the area.
- 9:28SPEAKER_03: I was driving two hours north to a user group meeting every month.
- 9:31SPEAKER_03: Uh, really expanded my network, started speaking at user groups and conferences, and just getting to know people and teaching everything I learned.
- 9:42SPEAKER_03: That was the big aspect.
- 9:44SPEAKER_03: So when I got this opportunity to kind of break out on my own, it wasn't just random the universe handing me something.
- 9:53SPEAKER_03: It was a person I had met through a uh conference I had done, I have talked to on Twitter for months and months and months.
- 10:02SPEAKER_03: And that person had seen me in action a number of times, just teaching what I know, and felt comfortable even offering me the job to begin with.
- 10:11SPEAKER_03: If I hadn't done all that work, if I had never gotten laid off from that job at Symantec, I would never have done that, uh, at least in that same order.
- 10:19SPEAKER_03: So just devoting myself to the community helped so much in future uh contracts coming through that I don't think I can ever repay the people who indirectly helped there because there's no gig I've received that hasn't come through someone in my network.
- 10:38SPEAKER_02: Excellent.
- 10:39SPEAKER_02: So I mean we we hear a lot the it's not what you know, it's who you know.
- 10:43SPEAKER_02: Exactly.
- 10:43SPEAKER_02: And that's really important.
- 10:45SPEAKER_02: Um I'm the poster boy of that.
- 10:47SPEAKER_02: Yeah.
- 10:48SPEAKER_02: But I think that it's important to note that like you didn't go into the community saying, I need a job, I need to, you know, get the right network.
- 10:55SPEAKER_02: You just went in the community saying, hey, how can I give back?
- 10:57SPEAKER_02: How can I um be a part of that?
- 10:59SPEAKER_02: And because of that, you are where you are.
- 11:02SPEAKER_02: Um, and that's I think a really important lesson to take away from this is the idea that you just um just be a part of the community.
- 11:10SPEAKER_02: Yeah.
- 11:11SPEAKER_02: Um don't, you know, there's a there's a lot of people out there that don't kind of show up anywhere.
- 11:16SPEAKER_02: Yeah.
- 11:17SPEAKER_02: You know, they're not online, they're not, they're consumers, but they're not at all participants.
- 11:22SPEAKER_02: Yep.
- 11:22SPEAKER_02: And um it's then hard to be known when you're like that.
- 11:26SPEAKER_03: My first user group, I drove an hour and a half, two hours to get there, walked in, didn't know a single person.
- 11:34SPEAKER_03: Uh, and if you've never done a user group before, most of them kind of work the same way.
- 11:38SPEAKER_03: You show up, you chit-chat, have pizza sandwiches, whatever they have for 20, 30 minutes, and then the presentation starts, and you learn something new, and then everyone goes home.
- 11:50SPEAKER_03: Sometimes they go out to a place afterwards for drinks and and chit-chat.
- 11:56SPEAKER_03: It was my first time, so I did the initial chit-chat, met a couple people, and actually the first guy I ever met was a gentleman whose name is uh Kevin Hazard, and he's there's a lot of people out there who know who he is.
- 12:07SPEAKER_03: He is he's a big deal.
- 12:09SPEAKER_03: And he came up and said, Hey, my name's Kevin.
- 12:13SPEAKER_03: Nice to meet you.
- 12:13SPEAKER_03: Never seen you here before.
- 12:15SPEAKER_03: Said hi.
- 12:16SPEAKER_03: The next month I come back.
- 12:17SPEAKER_03: He remembered me, came back, re-engaged me, and it was that little bit of a hook that it's like, oh, I know people here now.
- 12:25SPEAKER_03: And over time I got to know more and more folks.
- 12:28SPEAKER_03: Uh, but you kind of hit on a key point.
- 12:31SPEAKER_03: Just showing up automatically puts you in the top 1% of anyone.
- 12:36SPEAKER_03: The folks who regularly go to these meetings are they're active in the community, they they don't have to know anything, they don't have to present, they just have to show up and say hi.
- 12:47SPEAKER_03: And those people always get the opportunities, and it's because they're there meeting the people who have access to the opportunities to give.
- 12:57SPEAKER_02: Definitely.
- 12:58SPEAKER_03: Yeah, yeah.
- 12:59SPEAKER_02: I I think that you know it is a kind of a scary thing sometimes walking into an unknown place with unknown people and not even know what to expect.
- 13:06SPEAKER_03: Yeah.
- 13:06SPEAKER_02: Um, but doing it's important.
- 13:09SPEAKER_02: But I think the I think you pointed out something that's really important as well is when you're on the other side, when you've been there and you see someone new walk in to engage them, to say hi, to to make them feel a part of the community, because it's um it's really important for them to be comfortable and be able to feel like they can come back, um, even it's not just for the pizza.
- 13:28SPEAKER_02: Yeah.
- 13:29SPEAKER_02: It's never for the pizza.
- 13:31SPEAKER_02: Pizza's never good enough.
- 13:32SPEAKER_02: It's comfortable, but that's okay.
- 13:34SPEAKER_02: Um, so excellent.
- 13:36SPEAKER_02: So you kind of kind of half fell into being a consultant, you kind of half fell into even software development, just you know, yeah, found something you liked and you did it.
- 13:45SPEAKER_02: Um, is there any type of training you've done um for software development?
- 13:50SPEAKER_02: Have you gone to school for software development?
- 13:52SPEAKER_03: Have you I have a bachelor's of science in computer science.
- 13:56SPEAKER_03: I did the formal university route because back then, you if you got a job in software development, nine times out of ten you had to have a university degree of some kind.
- 14:07SPEAKER_03: It wasn't enough to say, I tinker with this stuff on the side, here's a portfolio of work I've done.
- 14:12SPEAKER_03: They want to see that, they wanted to see that college degree.
- 14:15SPEAKER_03: Thankfully, that's not really an issue nowadays.
- 14:18SPEAKER_03: I I don't think I would recommend a younger version of myself go to college, go to university.
- 14:25SPEAKER_03: Um the college degree, I have the paper, I pay the student loans off.
- 14:33SPEAKER_03: I I have a couple of the textbooks still, but I don't really think I pull too much from the university experience the to help in my day-to-day work.
- 14:43SPEAKER_03: Um the actually the computer science degree, I fairly worthless.
- 14:50SPEAKER_02: It's okay.
- 14:51SPEAKER_02: You're a safe space here.
- 14:53SPEAKER_03: What uh actually helped me more was I minored in information systems.
- 14:57SPEAKER_02: Okay.
- 14:57SPEAKER_03: And information systems, they don't teach you about syntax.
- 15:01SPEAKER_03: They don't teach you about the theory, the theory behind relational databases.
- 15:05SPEAKER_03: And they teach you how do you go into a business and how do you analyze a system and how do you determine the the bottlenecks of a system, how do you suggest improvements, thinking about a system from a more abstract level than the you know box box cylinder that that we're used to in computer science, or the here's the relational algebra for how to do X, Y, and Z.
- 15:32SPEAKER_03: Those four courses I took were more useful than the entire computer science program altogether.
- 15:38SPEAKER_03: Because most of the computer science stuff we learned, the theoretical is still the theoretical, the applied is no longer valid.
- 15:47SPEAKER_03: Like it's it's moved on.
- 15:49SPEAKER_03: Like if I learned COBOL in college, I'm probably not doing COBOL nowadays.
- 15:54SPEAKER_03: In the same way I learned C in college.
- 15:56SPEAKER_03: I don't do you can't pay me to do C anymore.
- 16:00SPEAKER_03: Even though it's I've heard there's been improvements.
- 16:02SPEAKER_03: Uh but I've moved on and I've done other things.
- 16:07SPEAKER_03: But the systems analysis work I did in college as my minor, that has helped tremendously just thinking about a system from a thousand feet up.
- 16:18SPEAKER_03: All businesses are basically the same.
- 16:20SPEAKER_03: And you can tell that no, I'm not gonna make a joke.
- 16:24SPEAKER_03: It's gonna make a joke about Kubernetes and all that good stuff because there's a joke to be had, but I'm not gonna make that joke.
- 16:29SPEAKER_03: I'm gonna be the bigger person.
- 16:30SPEAKER_03: Um, but I actually think that was the most useful part of my my degree was the two, three semesters of information systems.
- 16:41SPEAKER_03: So if I was going back and I did it all over again and had to do college, I would do an information systems degree, which is the business degree.
- 16:51SPEAKER_03: It's not a or I guess it depends on the school, but it's a business degree, not so much a computer science or technical degree.
- 16:57SPEAKER_03: I think that's way more useful in the long run.
- 17:00SPEAKER_02: So then how do you, as a consultant, keep up to date with what's going on, what's new?
- 17:06SPEAKER_02: You know, how do you keep your skills up to date?
- 17:08SPEAKER_03: Uh I watch a lot of YouTube.
- 17:10SPEAKER_03: Okay as an MVP, I'm constantly fed new stuff.
- 17:16SPEAKER_03: Uh the trick I have is I actually ignore a lot of it, uh, which is probably counterintuitive to to folks out there saying, well, I want to know what's new in.NET 55.
- 17:28SPEAKER_03: And it's like, well, most companies are not actually that far yet.
- 17:33SPEAKER_03: And when you go into a business, they most businesses uh looking for a consultant.
- 17:41SPEAKER_03: So they're I never really discerned what's a consultant versus a contractor or a freelancer.
- 17:48SPEAKER_03: A contractor or a freelancer is gonna come in to do a job.
- 17:51SPEAKER_03: They're a butt in a seat, they're being told, We need you to do X, Y, and Z.
- 17:56SPEAKER_03: Here are all your parameters, just go do the work.
- 18:00SPEAKER_03: A consultant is more advisory.
- 18:03SPEAKER_03: So I'm gonna go in and say, well, what's your problem?
- 18:07SPEAKER_03: And how's your current solution not uh fixing that problem?
- 18:13SPEAKER_03: Can we make improvements to the existing solution?
- 18:15SPEAKER_03: Do we need to do a new solution?
- 18:18SPEAKER_03: And I've been in places where we've worked on 14, 15-year-old.NET now it's.NET 4, but like.NET 2.0 applications that actually work perfectly fine.
- 18:34SPEAKER_03: Like they're they're solving the problem that they're supposed to, and we just make them do a little bit more.
- 18:40SPEAKER_03: But we're not gonna do a complete reroute of these applications.
- 18:42SPEAKER_03: We're not gonna use the.NET 8s or the the I'm sorry, the.NET, yeah,.NET 8.
- 18:48SPEAKER_03: That's where we are now.
- 18:49SPEAKER_03: Um almost.
- 18:50SPEAKER_03: Almost.
- 18:52SPEAKER_03: Again, I don't keep track of this stuff.
- 18:54SPEAKER_03: Sure.
- 18:55SPEAKER_03: So we're not gonna use the latest and greatest because there's no need to use the latest and greatest.
- 19:01SPEAKER_03: Um, I'm not gonna go through and implement everything to be serverless.
- 19:06SPEAKER_03: I'm not gonna make everything Kubernetes, and uh, I'm just gonna solve the problem because that's where the value to the business is.
- 19:13SPEAKER_03: Uh, most businesses, every business I've ever worked for, never cared about the solution, uh, how the solution is implemented.
- 19:19SPEAKER_03: They just care that it solved the problem.
- 19:21SPEAKER_03: Um, and as technologies, that's really hard for us to think about.
- 19:27SPEAKER_03: It's like it's not about the solution.
- 19:29SPEAKER_03: It doesn't matter if the solution is.net, it doesn't matter if the solution is Laravel, doesn't matter if the solution's cobalt, you know, et cetera, et cetera.
- 19:35SPEAKER_03: They just care.
- 19:36SPEAKER_03: Well, does this do the thing I needed to do when I needed to do it?
- 19:41SPEAKER_03: And it's not going to cost a million dollars to do all that work.
- 19:47SPEAKER_03: Um, I was making a point, and I'm pretty sure I hit the point somewhere in me.
- 19:51SPEAKER_03: Sorry about my rambling.
- 19:52SPEAKER_03: Now you're good.
- 19:53SPEAKER_03: But so keeping up on this stuff, I wait for it to become more mainstream.
- 19:58SPEAKER_03: We're.NET guys.
- 20:00SPEAKER_03: How many.NET features have been announced, released, and no one cares about anymore.
- 20:07SPEAKER_03: So if you were at that early wave, it's like, oh, let's let's do noble types for everything, or let's use this random syntax they've added to.NET.
- 20:18SPEAKER_03: Useful, very useful.
- 20:20SPEAKER_03: And at times I might actually inject a lot of these things I learned about, but for the most part, I'm not going to use it until I see everyone using it.
- 20:29SPEAKER_03: So I wait for a little bit more mainstream pickup.
- 20:32SPEAKER_03: Uh, and sometimes that's helped where we'll see a technology uh casually throw out like any framework.
- 20:40SPEAKER_03: Like energy framework's gone through how many rewrites?
- 20:42SPEAKER_03: Like, well, if I was on, if I had just jumped on any framework early, I would have had a rewrite, rewrite, rewrite.
- 20:48SPEAKER_03: And now it's at the point where it's like, oh, it's actually pretty feasible.
- 20:50SPEAKER_03: I don't think they're gonna rewrite this, you know, again.
- 20:53SPEAKER_03: Again.
- 20:54SPEAKER_03: So that's why I usually don't jump on the latest and greatest.
- 20:58SPEAKER_03: I wait till I see everyone doing that sort of work.
- 21:01SPEAKER_03: Um and it also, because it gives other people the opportunity to make all the mistakes and figure out all the issues.
- 21:08SPEAKER_03: And then when eventually you pick it up, you can start asking the dumb questions, and there's already solutions for those dumb questions.
- 21:16SPEAKER_03: And so that's my big tip is don't stay on the the bleeding edge unless you're doing a YouTube channel and all that stuff, or you're in a position where you're told, hey, we want to we want to be on latest and greatest all the time.
- 21:30SPEAKER_03: Yep.
- 21:30SPEAKER_03: Go go read all the blogs, go look at the thought leaders.
- 21:34SPEAKER_03: Uh, but as a consultant, my clients' primary goal isn't to be latest and greatest.
- 21:41SPEAKER_03: And if you asked any of my clients right now, what version of.NET are you running, they they're like, What's.NET?
- 21:48SPEAKER_03: Yeah.
- 21:50SPEAKER_03: And most of them are savvy enough to know well, we're a Microsoft.net stack, but they don't know what version of anything they're on.
- 21:56SPEAKER_03: That's for me, that's the thing I care about.
- 22:00SPEAKER_03: They don't care.
- 22:00SPEAKER_03: They just care.
- 22:01SPEAKER_03: The website's up.
- 22:02SPEAKER_03: That's right.
- 22:03SPEAKER_03: All they care about.
- 22:04SPEAKER_03: It's taking credit cards, it's processing transactions.
- 22:07SPEAKER_03: After that, they don't care.
- 22:09SPEAKER_02: Yeah, it's one of the things that's tough because it's your as you're learning.NET, you want to learn, you know,.NET 8 because it comes out in November.
- 22:15SPEAKER_02: You want to learn the latest stuff.
- 22:17SPEAKER_02: Um, but as you're saying, there's in in the the real world, in where businesses actually live, they don't necessarily update when it comes out in November.
- 22:27SPEAKER_02: Exactly.
- 22:28SPEAKER_02: You know, they're they're more like, hey, we're still on.NET Framework 4.8 because that's where we're at.
- 22:34SPEAKER_02: That's right.
- 22:34SPEAKER_02: Um, and so learning that stack means knowing more than just the latest, but going back away, is what you're saying.
- 22:41SPEAKER_03: That's right.
- 22:41SPEAKER_03: I I think the only time I've really pushed for latest and greatest was towards the end of.NET Framework and the the push towards.NET Core.
- 22:52SPEAKER_03: Uh, we had an application, it was ASP.NET Webforms, and I said, this is not going to be sustainable long term.
- 23:01SPEAKER_03: We are at an opportunity now where we can start modernizing this entire stack and we can just move forward from there.
- 23:10SPEAKER_03: And uh we did that, which is great because web forms development just went straight down.
- 23:16unknown: Yep.
- 23:16SPEAKER_03: Uh, but we're in a better place today because of it.
- 23:19SPEAKER_03: We would be even in a worse place if we had just stayed on web forms back then.
- 23:24SPEAKER_03: But I didn't jump on.NET Core 1.1.
- 23:28SPEAKER_03: I I didn't jump on.NET Core till uh 2.2 or 3.
- 23:32SPEAKER_03: And I waited for some of the mistakes to be made.
- 23:35SPEAKER_03: I waited for them to figure out what they were doing.
- 23:38SPEAKER_03: And then when uh we started seeing LTS versions, long-term service versions of.NET Core, all right, it is safe to make that move.
- 23:48SPEAKER_03: And because the worst thing you want to do as a consultant is move someone to bleeding as technology and then say, that will be let's just throw out, that'll be$300,000.
- 24:00SPEAKER_03: And they say, okay, pay you.
- 24:03SPEAKER_03: And then six months later, all right, that thing I built for you is now obsolete.
- 24:09SPEAKER_03: That will be another$300,000 to rebuild it in the next thing.
- 24:13SPEAKER_03: Uh businesses you you can get repeat business all the time as a consultant, not if you're making poor decisions like that, because now you are just costing them money for your own ego.
- 24:24SPEAKER_03: Right.
- 24:24SPEAKER_03: And that's not the type of business I run.
- 24:27SPEAKER_02: Excellent.
- 24:28SPEAKER_02: Um, yeah, I think that one of the things I've liked about the.NET, the new.NET or.NET Core, I guess is what we'd call it, um, is the fact that they're the upgrade process is easier.
- 24:38SPEAKER_02: Yeah.
- 24:38SPEAKER_02: Um, dot net frameworks are a little rough to go from like three dot five to four.
- 24:43SPEAKER_02: Um so going from you know, dot net six to dot net eight won't be horrible.
- 24:48SPEAKER_02: No.
- 24:49SPEAKER_02: And it will also bring a lot of speed improvements.
- 24:52SPEAKER_02: So as a consultant, you can say, we need to speed the system up.
- 24:55SPEAKER_02: Here's how we can do it very easily.
- 24:57SPEAKER_02: Yep.
- 24:57SPEAKER_02: And also, by the way, we're just you know upgrading the latest and stuff.
- 25:00SPEAKER_02: Yep.
- 25:00SPEAKER_03: But like you said, you don't want to go to that latest um bleeding edge without some LTS support, without um we did our.NET three to five upgrade and then our five to six upgrade without telling anyone.
- 25:13SPEAKER_03: We we just did it.
- 25:15SPEAKER_03: And because there was no downtime, it was just we deployed new versions of everything of all of our stuff.
- 25:20SPEAKER_03: Um, and we did our proper regression testing and and we weren't totally irresponsible.
- 25:26SPEAKER_03: Just change the number and go.
- 25:27SPEAKER_03: Yeah, we just changed the number and shipped it uh on Friday.
- 25:31SPEAKER_03: But it was really easy, just incremental the numbers.
- 25:34SPEAKER_03: No, some things changed, some syntax changed.
- 25:36SPEAKER_03: So we would fix the issues due to deployments, and you know, 98% of everything worked fine.
- 25:44SPEAKER_03: We had a couple issues that came up later because of upgrade changes that compiled, but weren't quite what they should have been.
- 25:53SPEAKER_03: So we had to go back and make some logic changes.
- 25:56SPEAKER_03: Gotcha.
- 25:56SPEAKER_02: Well, that's great to hear.
- 25:57SPEAKER_02: Yeah, I mean, it's it's great to hear that that's actually working in the real world.
- 26:00SPEAKER_02: Um, it's one of those things where you get a lot of the theory.
- 26:03SPEAKER_02: Yeah.
- 26:03SPEAKER_02: You know, I mean, I've shown how to upgrade from you know.NET 5 to.NET 6, and it's you change a number, yep, good to go.
- 26:09SPEAKER_02: And on a demo application, that works great.
- 26:11SPEAKER_02: Yep.
- 26:12SPEAKER_02: Um, but actually doing it in the wild is is different sometimes.
- 26:15SPEAKER_03: But the.NET Upgrade Assistant tool is amazing, if no one's ever checked that out, because you can give it any application, even going back like.NET Framework 3.
- 26:26SPEAKER_03: I forgot how far it goes back, but it will give you a recommendation path for how to upgrade it to whatever it can possibly be updated to.
- 26:34SPEAKER_03: And I've seen things go from.NET Framework 4.5 to.NET 6.
- 26:40SPEAKER_03: And now it's a laundry list of changes you have to make.
- 26:43SPEAKER_03: And it'll cry if you're still on web forms.
- 26:46SPEAKER_03: Uh it'll say, all right, well, you you just have to make all these changes and then magically it'll work.
- 26:51SPEAKER_03: Change it all.
- 26:52SPEAKER_03: But a lot of things we've piped through it are just version changes, like you said, or a couple syntax changes it can make for me.
- 27:01SPEAKER_03: And I really have to think that with the rise of AI and AI-based systems, that's going to get even more intelligent to look at actual files of code and go, well, we can go from three to five to six to seven to eight, but we have to change this file.
- 27:22SPEAKER_03: But you know what, we'll just change the file for you.
- 27:25SPEAKER_03: And what you get is 98% there.
- 27:29SPEAKER_03: I've yeah, I'm looking forward to the day where AI can just replace me because it would make my life so much easier.
- 27:35SPEAKER_03: So are you expecting AI to replace your job entirely?
- 27:38SPEAKER_03: Absolutely not.
- 27:38SPEAKER_03: Yeah, okay.
- 27:39SPEAKER_03: Because if anyone's used AI, you know it's never gonna replace you, it's gonna just do something silly.
- 27:46SPEAKER_02: I have enjoyed the uh the tools that have come out, GitHub Copilot and others, that have really made my life easier.
- 27:52SPEAKER_02: Like you said, it's not gonna be the the next me.
- 27:56SPEAKER_02: Yeah.
- 27:57SPEAKER_03: Uh it's not gonna be um Hal.
- 28:00SPEAKER_03: AI, the this is where the consultant hat goes on.
- 28:04SPEAKER_03: I have clients that change their mind every day.
- 28:08SPEAKER_03: And they give us requirements that require no less than five reads to even start to comprehend what they're asking for, or it requires a two-hour Zoom call to figure out what they're asking for.
- 28:20SPEAKER_03: When AI can just figure that out immediately, they can have my job.
- 28:26SPEAKER_03: But we have done so much back and forth with different features with clients and proof of concept this, proofs of proof of concept that, that AI, I don't think would ever be able to understand the client.
- 28:38SPEAKER_03: Yep.
- 28:39SPEAKER_02: Yeah, getting requirements is is hard.
- 28:41SPEAKER_03: Yeah.
- 28:41SPEAKER_02: Uh clear requirements that they will then back up and say, yes, that's what I really wanted to do afterwards.
- 28:47SPEAKER_03: So nine times out of ten, they don't know what they want until they see what they don't want.
- 28:51SPEAKER_03: And yeah, that's part of my job is try it.
- 28:53SPEAKER_03: And that comes a lot with niches.
- 28:55SPEAKER_03: Um, when you're in a project long enough, you just eventually learn what the client wants.
- 29:00SPEAKER_03: So they'll ask you for something that's abstract.
- 29:04SPEAKER_03: And you can internalize that, figure out what they really need is to solve this problem that they're not telling me.
- 29:10SPEAKER_03: So let me write a solution that does X, Y, and Z.
- 29:13SPEAKER_03: And they'll come back and go, yes, that's exactly what I want.
- 29:16SPEAKER_03: If you're lucky.
- 29:17SPEAKER_02: Yeah, I was reading a um a quote the other day, and I forget the exact quote, but it's basically that users are very good at telling you the problem.
- 29:24SPEAKER_02: Yeah.
- 29:24SPEAKER_02: And they are not good at telling you the solution.
- 29:26SPEAKER_02: That's right.
- 29:27SPEAKER_02: And so if you can help them identify what the problem is, then you can then you can work on, okay, here's how to solve that problem, as opposed to letting them tell you, here's what I want you to do to solve this problem.
- 29:39SPEAKER_03: The best thing a client can do is screen share with me and show me, well, I'm trying to do this.
- 29:44SPEAKER_03: So I'm clicking here, here, and here and go, oh, I absolutely see what your problem is.
- 29:49SPEAKER_03: Let me go work on a solution, give me two or three hours.
- 29:52SPEAKER_03: Come back, show them a solution.
- 29:54SPEAKER_03: They go, yes, that's exactly what I was thinking.
- 29:57SPEAKER_03: Yeah.
- 29:57SPEAKER_03: And then it's when you send the invoice.
- 30:00SPEAKER_03: Oh, what a perfect time to pay me.
- 30:04SPEAKER_02: So um, is there any advice you'd give to a person who's thinking about consulting?
- 30:08SPEAKER_02: Like, is this, you know, what advice do you give to a person that's like, hey, I kind of think I want to be a consultant rather than a nine to fiver?
- 30:16SPEAKER_03: The biggest we use a term and we actually we're doing some coaching on this now.
- 30:22SPEAKER_03: We're starting a coaching program, and we call it multi-threaded income.
- 30:26SPEAKER_03: So, as developers, we all kind of understand the concept of multi-threaded processes.
- 30:31SPEAKER_03: We're one process and we should be able to earn money in different ways.
- 30:34SPEAKER_03: I don't think people should quit their day job for for consulting because consulting comes with it a lot of highs and lows.
- 30:44SPEAKER_03: You're not going to get that work immediately.
- 30:46SPEAKER_03: You're when you do get to work, it'll eventually dry up.
- 30:50SPEAKER_03: Stuff happens, budget changes, the economy changes, and that's a really hard thing to do after you have just quit your job.
- 30:57SPEAKER_03: Uh, I am an advocate of moonlighting and freelancing.
- 31:01SPEAKER_03: So do your full-time job on, you know, full-time, but then try to pick some stuff up on the side.
- 31:06SPEAKER_03: And there's a variety of ways to do that.
- 31:09SPEAKER_03: Um, mostly network, but then there are job sites where you could just pick something up for two or three hours.
- 31:15SPEAKER_03: Um, start doing that work to start.
- 31:19SPEAKER_03: And then what happens is as you do this work over and over again, you promote that you're doing side work, someone is going to come to you and say, Hey, I have this thing, but I need we want a full-time contractor.
- 31:32SPEAKER_03: And that is the opportunity where you go, Well, maybe this is when I want to quit my job.
- 31:38SPEAKER_03: Um, and never when you go independent, you're never going to stop selling yourself.
- 31:45SPEAKER_03: That sounded dirty.
- 31:47SPEAKER_03: Uh, but you're always gonna be telling people, I'm I'm available, uh, I'm good, I'm booked for two weeks, but then in three weeks I'm completely open for work.
- 31:58SPEAKER_03: You have to get really used to times of not having anything to do, but there's no money coming in.
- 32:03SPEAKER_03: We call them the the peaks and valleys of consulting.
- 32:07SPEAKER_03: But it's a it's a mind shift.
- 32:10SPEAKER_03: If you if I was doing it today, and I have three kids, I have a mortgage, I have no other debt but our mortgage, but I don't know if I would do the same thing.
- 32:18SPEAKER_03: Uh that safety net of having the full-time job helped a ton.
- 32:24SPEAKER_03: And I I think nowadays I wouldn't try to start that way.
- 32:27SPEAKER_03: Um, it's also a harsher economy for a lot of folks.
- 32:31SPEAKER_03: Uh, we have a lot of friends that are looking for jobs now, just people are getting laid off left left and right.
- 32:36SPEAKER_03: So it's even harder for a lot of contractors and consultants.
- 32:41SPEAKER_03: It's not this green pasture of work.
- 32:46SPEAKER_02: So when you say multi-thread income, yeah.
- 32:53SPEAKER_02: Are there other things to do besides just side work?
- 32:55SPEAKER_03: Absolutely.
- 32:56SPEAKER_03: Uh so we talk a lot about moonlining, freelancing, um, also course creation.
- 33:01SPEAKER_03: I know you know that very well.
- 33:02SPEAKER_03: Uh huh.
- 33:03SPEAKER_02: Yeah.
- 33:03SPEAKER_03: You go, if there's a topic that you know well enough to teach, or something you want to learn better, the best way to learn anything is to teach it.
- 33:14SPEAKER_03: So building um a small course, it could be on anything, and sell it for a couple bucks.
- 33:22SPEAKER_03: There's various marketplaces out there if you don't have an audience.
- 33:25SPEAKER_03: Uh, if you have an awesome YouTube channel, it's slightly easier in some cases.
- 33:30SPEAKER_03: It can be.
- 33:30SPEAKER_03: But it could be, yeah.
- 33:32SPEAKER_03: And that so that's one way.
- 33:34SPEAKER_03: Um, we also a lot of folks.
- 33:41SPEAKER_03: I had another thought and I forgot what it was.
- 33:49SPEAKER_02: I forgot what my other thought was.
- 33:51SPEAKER_02: That's all right.
- 33:52SPEAKER_02: So um I I like the idea of not quitting your day job.
- 33:56SPEAKER_03: Yeah.
- 33:57SPEAKER_02: Um, I I like that because I that's that's how I started, um was doing that and actually did that for a long time.
- 34:03SPEAKER_02: Um I read a book by John A.
- 34:05SPEAKER_02: Cuff called Quitter.
- 34:06SPEAKER_02: I don't know if you've ever read that.
- 34:07SPEAKER_02: Um I loved his opening was Don't Quit.
- 34:10SPEAKER_02: Don't quit.
- 34:10SPEAKER_02: That's that's the that's the start of the book of Quitter is Don't Quit.
- 34:14SPEAKER_02: Um and that's what he did.
- 34:15SPEAKER_02: He did the he did what he called the reverse Superman, where he would on the weekends go speak at conferences because that's what he wanted to do, and then he'd come back to work and change back into his everyday Clark Kent role and go back to working at a job that he really didn't like, um, but that paid the bills and and gave that safety net.
- 34:34SPEAKER_02: Um I think also the idea that you know you you worked hard at not having the debt.
- 34:39SPEAKER_02: Yeah.
- 34:40SPEAKER_02: You know, because that's a really freeing thing to say, here's our bills, but they used to be here and now they're now they're here.
- 34:46SPEAKER_02: Yeah.
- 34:46SPEAKER_02: And that's a whole lot more manageable to say we can live on three months of nothing coming in.
- 34:52SPEAKER_02: Yep.
- 34:52SPEAKER_02: You know, um, because yes, the the peaks and valleys are are a little scary.
- 34:56SPEAKER_03: I also didn't say this at the beginning, but I had quit my job to take a contract, and we also had a two-month-old son.
- 35:04SPEAKER_03: Oh.
- 35:04SPEAKER_03: So no debt, going into the zone then thing, and I had a newborn.
- 35:10SPEAKER_03: And but it was it was the financial foundation we had set.
- 35:16SPEAKER_03: If I still had two car payments or two car payments, two student loans, I would never have done that.
- 35:22SPEAKER_03: I was having the job, you know, we talk about there's no job security, but if you have it, don't throw it away.
- 35:31SPEAKER_03: Right.
- 35:32SPEAKER_03: Yeah keep on, you know, keep building the other threads of income, but you know, keep that full-time job until it's absolutely not necessary to have anymore.
- 35:41SPEAKER_02: And that can be a lot of work during.
- 35:43SPEAKER_02: Yeah.
- 35:44SPEAKER_02: Like if you're doing a full-time job and you're kind of tired from the end of the day, but you gotta go and do consulting.
- 35:49SPEAKER_02: That can be tiring.
- 35:50SPEAKER_02: It could be, but that's um, but it pays off in the end sometimes.
- 35:54SPEAKER_02: So over time.
- 35:55SPEAKER_02: Yeah.
- 35:56SPEAKER_02: Over time.
- 35:56SPEAKER_02: Um, little investments over time.
- 35:58SPEAKER_02: So, well, I appreciate you being here.
- 35:59SPEAKER_02: I thank you for kind of sharing your wisdom and your experience as a developer.
- 36:04SPEAKER_02: Um, thanks for watching.
- 36:05SPEAKER_02: And if you have questions, you can go to suggestions.imtimcorey.com and leave a suggestion there for a future episode of DevQuestions.
- 36:12SPEAKER_02: Thanks for listening.
- 36:12SPEAKER_02: And as always, I am Tim Corey.
- 36:15SPEAKER_01: Thank you for joining us for this episode of Dev Questions.
- 36:18SPEAKER_01: Tim is committed to making it easier for you to become a developer.
- 36:21SPEAKER_01: If you would like to help make more content like this possible, please like, subscribe, rate, and share Dev Questions.
- 36:29SPEAKER_01: You can also send your questions to questions at IamTimcore.com.
- 36:34SPEAKER_01: Until next time, remember, you are too smart and your time too valuable to waste it making all the mistakes Tim did.
- 36:41SPEAKER_01: When you're ready to learn to think and code like a professional developer, head over to imtimcore.com and enroll in a course.