What happens when the model CAN'T fix it? Interview w/ software engineer Landon Gray [Podcast #213]

💬 Chat with this Video
Ask anything about this video…
Welcome back to the freecodecamp podcast. I'm Quincy Larson, teacher and founder of freecodecamp.org and today I'm interviewing software engineer Landing Gray who's famous for proving that rag pipelines can be written in Ruby and for popularizing Ruby as a language for building machine learning projects. Before we hear from him, some community news. Freecodecamp has published a new YouTube course that will teach you beginner front-end development skills like HTML, CSS and JavaScript. You can code along at home and build a variety of projects, your own interactive quiz game, a currency converter and even a Trello-style Kanban board. Along the way you'll learn how to use APIs and local storage to extend the functionality of these bite-size apps. It's a 12-hour 19-project-long course free on the freecodecamp YouTube channel. Check it out after you finish this tutorial. We also published a course that will teach you how to test your software and ensure it doesn't break when you add new features. Prolific freecodecamp instructor Beau Carnes teaches this course. He'll introduce you to the testing pyramid and show you how to balance fast unit tests against complex end-to-end user journeys. You'll also learn how to automate some of the testing using an open-source library called Playwright and LLM testing tool. It is a 1-hour course on the freecodecamp YouTube channel. We also published a tutorial that will help you with the fact that more and more apps are relying on probabilistic LLM output alongside deterministic API calls. This makes life harder for devs who now need to ensure that hallucinations don't escape to end users. Freecodecamp has published this advanced use observability tutorial that will teach you emerging best practices and architectural patterns for dealing with this. It's about a 40-minute read. Check it out. Link it in the description and learn how to containerize your ML ops pipelines. That's machine machine learning operations. This tutorial is the result of hard-won deployment wisdom. The author spent 3 weeks debugging a Python library error due to dependency conflicts. His eventual answer? Containerize the entire project with Docker. This tutorial will show you how to structure your containers with multi-stage builds. You'll also learn how to experiment and track with ML flow, and you'll learn versioning with DVC, GPU passthrough, and a bunch of other advanced techniques. 40-minute read. Link in the description. Song for this week is 2006 Everybody by UK producers Basement Jaxx. If you're familiar with their work, you know you're in for a psychedelic, look at silly romp uh between the swoons, the bongos, the swooning chorus, and the song just feels like it's held together by duct tape, but it works. I love it. Link in the description. If you want to support free Code Camp, we're a charity. We're tax-exempt. You can donate to us, deduct it from your US taxes, and you can support our mission. donate.freecodecamp.org. 10,338 kind folks donate each month, and it's a huge help. It helps us keep producing these open-source learning resources. You can also pick up a free Code Camp shirt, shipped anywhere in the US for $20. If you're outside the US, just take our assets, screen print them on a shirt, or use a like heat transfer something like that, make your own free Code Camp shirt. Free for personal non-commercial usage. Check out shop.freecodecamp.org if you're in the States you want to order one. Now for my interview with Landon Gray, he's a software engineer who worked at agencies for years. Then he taught himself AI-assisted software development, and now he's helping other devs do the same. He works as an AI engineer at an enterprise software company and runs a popular newsletter. We're going to talk about how large language models are just the raw fuel and harnesses and harness logic are the real engine to get things done. Why building your professional network is so helpful for finding clients and landing job interviews. And why Landon helped port Python machine learning libraries to Ruby. And what he why he thinks that now that AI is just an API call away, the Ruby ecosystem is better positioned than ever. Landon Gray, welcome to the freeCodeCamp podcast. Thanks for having me. Happy to be here. Well, I'm happy to have you here. Uh been really enjoying reading your work. Uh you're one of the many developers out there who doesn't just keep their heads down and do their work, but actually shares in public what they're building and and contributes to open source and gets involved in conferences. So, you have moved into AI engineering uh as a field. And this is a new field where essentially you combine software engineering skills with leveraging to the fullest all the uh LLM-focused tools and and other tools that are broadly described as air quotes AI, which is a term so vague that it's basically meaningless. But uh I wanted to ask you uh since you're doing this, everybody can learn something right off the bat. What is a harness in the context of large language models? Yeah, definitely. So, um I I posted uh a post on social uh reposting about harnesses and uh like a harness, when when I think about LLMs, it's it's sort of the raw fuel. Um you can't I mean, you can you can chat with it. You can you can have a conversation. It can do a lot more now. Um but every company that's using a a large language model is using the model as fuel and they're building tooling and infrastructure around it to get it to perform and behave in ways that um achieve the results that they're trying to achieve. So, so recently um and I love this company, but I I stopped subscribing to them because the pricing tiers have gotten kind of wild, but I've been using Perplexity a lot for my deep research. Um and I had been using Claude also and their their research capability. But my my my theory is that Perplexity has a really great harness. So, they they're they may be using Claude, which I'm using the raw materials to do research and and their tooling. Um But but they have a really good infrastructure built up around large language models to do deep research and um that that infrastructure and their product and their tooling is the harness in which you know, I'm getting better results from them than I am the Claude model directly. So. Yeah, so So, that might be a a way to define harness when people use this buzzword is essentially it's all the tooling around the LLM that somehow improves the output and like reduces hallucinations or structures the output in a way or organizes it or asks you know, additional queries and stuff to further clarify or um you know, maybe in the case of getting code back uh has a bunch of like fuzzing that it does and things like that. >> Yeah. Yeah, exactly. And And so, it's interesting because I I feel like this race is getting played where you know, on one side you have machine learning engineers who are working on large language models and they're trying to make the model as good as possible. And then on the other side, you have people who are using these models and they're mitigating the flaws at how not great they are or terrible they are by like writing software to kind of constrain um sort of the range of capabilities or kind of improve the outcomes. Um and I I see a lot of that as I guess one side of the AI engineering coin in a sense. Yeah. Yeah, so a lot of people might just be making, you know, naked API calls to an LLM and then just taking the output at face value and thinking this sucks. Like why would anybody ever use this? But what they're not doing is they're not getting like the nice I guess force-directed flow that come from something coming through a harness on its way to your app. Yeah. And and I I see a harness as more Have you heard of like a GPT wrapper? Yes. It's just they have ChatGPT or they have like uh GPT-40 or some model, and then they have one prompt, and they have a layer on top that just serves the response of that prompt and uh the the model response call, and and I see the harness is, "Hey, we're building a layer of complexity on the in between the between the model and the user of software to really get stronger results, though." Yeah. Well, it's good to know that uh like obviously it's extremely expensive to improve the underlying foundation model. Uh it it often takes like hundreds of millions of dollars worth of training process to get a new version of GPT or a new version of Claude. Uh but uh a lot of these improvements you can do to the harness can be pretty simple software changes. Like you might be working with a traditional code base, and uh you can you can really iterate quickly uh without this long life cycle. Exactly. And and you can tweak the models now for a little bit of cheaper, so you don't have to like like retrain a model, you know, from scratch if you want to improve ChatGPT. Now we have like like so so between, you know, writing software and retraining a model from scratch, you have all this space in between where so you can you can fine-tune the model, um and and you can get a lot of really really good results that outperform the base model, um and it's it doesn't have to be as expensive, but that that's just like another layer of the I guess the stack. Yeah. Well, since you're working as an AI engineer and you worked as a traditional software engineer as well, and you've studied uh a lot of machine learning to understand what's actually going on in the hood uh under the hood. For developers who are getting into AI engineering, how would you differentiate AI engineering from other data-centric fields like data science and data engineering. Yeah, so um let's start I think when I think about data science, I think a lot of uh there's a lot of focus on some of the statistics and you might be looking at um linear regression, Bayesian sort of algorithms and these are these are a lot of things that you'll kind of cover if you if you study math pretty adept. Um and so I think I think when I think data science, I think of people who have like a really strong uh like statistical background and they're they're they're working to sort of solve a solution through like that sort of lens. Um when I think of data engineering, I think of that is sort of the uh how do I want to say it? Like maybe the plumber or the preparer of like data. Like data data is like a raw material. It's not in the form you need it. It's not structured as you need it. And so uh like the data engineer is really working to try to build out systems to get the data in the form that it's needed and and to transfer it and plumb it to wherever it's needed so that it's reliable for uh someone like a machine learning engineer or data science so they can start looking at it. Um like that there's a lot of like I won't I won't say it's like front where it's probably the most val- some of the most valuable work is like prepping the data. People spend 80% of their time on the data. There's like the 80/20 rule. So 80% of your time on the data, 20% actually like building the models like you know, if you're doing like machine learning or or using picking the appropriate model. Um so and then the data engineering piece data engineering is a really uh in- interesting uh a field that I feel like is very not well defined. I think the first person who really did a great job at like trying to like define sort of that world is Swyx, and he has an article that talks about data engineering. And so like there there's all these different layers. So so so my entry into to AI engineering I might have said data data engineering into AI engineering is I come from a software background. Like I've done a lot of software consulting. I worked as a software developer early in my career. And so like when I was coming towards, you know, AI I was like, "Okay, I don't yet have the skill set and I have never trained a machine learning model um yet at that point. And so I was like, you know, how do I Yeah, so so my strength was more software side. So how do I kind of approach process AI field from from that perspective? And so I found things that were more adjacent to kind of my skill set. Um and then I also had to try to reinforce my skill set by taking some coursework. I did some coursework with UT Austin to kind of bolster my skill set, learn how to train and and train models and things like that. Um but but I I think I was deviating from my earlier point. Like there's different layers of the stack. There were like machine learning engineers who can sometimes be differentiated from AI engineer. Sometimes when a company's saying AI engineer they mean sheet machine learning engineer. And sometimes they mean a software engineer who's really good at using the model. And so it's it's very confusing. You have to look at the job description to see like, "Okay, what brand of AI {slash} ML engineer is this is this job?" So um yeah, I don't I don't think there I think there is a good definition. I don't think companies necessarily like honor it when they're trying to find AI engineers. So there's a definition which, you know, Swyx, I guess, uh who's been on the freeCodeCamp podcast three times now, most recently I actually just interviewed him yesterday. Uh and that uh probably came out a few weeks before this came out. Uh but uh check out my interview with him. Uh but he he coined the term AI engineering and set up the AI engineer conference series, which now has events in Europe and Asia and everywhere, right? Mhm. And uh basically what you're saying, that term hasn't been fully like standardized in the eyes of employers. They may have kind of like they may slap that label on jobs that are not necessarily AI engineering roles, but are actually more like ML engineering and vice versa, depending on the level of sophistication of the employer. Um >> Yeah. Yeah. So, uh UT Austin, real quick, University of Texas Austin, one of the best public universities in the US and by extension the world. Uh I'm from Texas and uh did you grow up in Texas, too? Uh I I grew up in uh Rochester, New York, uh upstate New York. And yeah, then I ended up moving down to Texas. I went to Abilene Christian University and got my bachelor's in computer science there and kind of that's where I got my start in my career. Very cool. Well, we're going to get into your career in a second, but I just have to ask, like why spend all this time and energy learning how the models actually work under the hood? Why learn machine learning like you did when for most developers, like using an LLM is just making a series of API calls? Yeah, time, energy, and money. I I dropped a lot on on some of the programs. So, for me, it's a lot of it comes down to like first principles and you know, if you want to use these tools, you can just use them by, you know, playing with the models, chatting with them all day, and you will get a lot of value from that. But then you will hit potentially a wall and you'll be like, "Well, I wanted it to do this." And like when that moment happens for you, you have to dig deeper. Like you have you have to understand why is the model producing this output instead of some other output? And it like it's difficult if you don't have a foundation to either even know how to like debug or think about the problem in such a way that you can solve it. Um things like reliability and things like latency. Like why is the model taking so long to get a response? Like having a fundamental understanding of of how these models are working, um which I must say I I'm still learning. I'm still growing every day to try to understand different layers of the stack such as like inference and and where these bottlenecks can be. But having that understanding when you're in the workplace can help you find solutions to to really difficult problems. Yeah, and I will once again quote the uh the attract mode from Mortal Kombat 3 arcade game. There is no knowledge that is not power. You guys know, the more you know. Uh yeah, like knowing knowing is half the battle, right? So like So it sounds like you pursued these It was a huge investment of time, energy, money, going back to school, and you were able to do this because you have faith that in the future this knowledge, understanding how these systems actually work and not just having it be some black box that it's some other guy's job to know how it works, right? Like it's above my pay grade. I can't stand when people say that. Like You know what I'm saying? But but it it's just the ultimate punt. Uh but but you were not satisfied merely to just use these tools. You wanted to understand how they actually work. Cuz this is one of the more important innovations of our lifetime most likely. Exactly. And I I didn't want to get stuck in this moment where you know, there there becomes that moment where you get stuck and and like for a lot of people when they get stuck they then ask the model like how to fix it and like there are some problems that the model will not know how to fix. Like and and we I like I I've been on teams that have experimented with this. So we've had really badly latency problems in an organization related to So we were building a chat application. We had really bad latency problems and you know, if you're just if you're just relying on the model to like write your code and to do everything, eventually you're going to hit a bottleneck and you're going to ask it, "Hey, look at all my code, Claude, like and and try to fix the latency issues." And it won't. Like at the time it won't and it didn't and and now what? Are you going to tell your CEO like we can't fix the latency problems, you just have to wait a long time for the response to come back to the user or you going to think creatively and go back to, you know, like people have written about latency. Are you going to look at those white papers? Are you going to explore the internet to find information to help you solve the problem cuz the model can't solve the problem? Like I know we always want the model to solve the problem and most of the time it does, but that when you've reached the edge and it's you and your competitor, one of you is going to be able to solve it or both of you. But yeah, and you want to be able to solve it. And so um you know, I I I really like um Kel Kelsey Hightower talks about like growing skills and adding to your skill belt or your tool belt. Like I'm trying to do that all the time. Like, you know, like I have some skills in machine like like using like ML models. I have a ton of skills in using LLMs cuz I just work in that so much more. Um but then I have like a coworker who's like really skilled in like, you know, using the ML model and you know, like we have different competency but like as you solve problems, you you grow different skill sets, and you can tackle different types of problems. Um Yeah. >> Yeah. Engineers are paid to think. They're paid to solve problems. They're not paid to throw up their hands and say, "This is just how it is. There's fundamentally there's this latency. Nobody knows what's going on." Yeah. You're paid to figure out what's going on and figure out how to fix it. Right? >> Exactly. So, keep your intellectual curiosity about you. Your career depends upon it. Let's talk about career advice because you have had a pretty variegated career. You've done a lot. Um and you are relatively young. Uh and in just your, you know, decade or so working as a dev, you've accomplished a lot more than a lot of devs have. Uh and I want to figure out how that is so we can all learn from that. So, first, AI assistance, AI-assisted software development, uh freeCodeCamp published a popular book on that written by Mruguesh Mohapatra who runs most of our devops and stuff. He's a heavy user of a lot of these tools like cloud code. He's got fleets of agents getting things done for him. Uh and pretty much everybody on the team does use these tools. Um even though, of course, you have to be careful with them and they're not perfect. Um but how does AI assistance change software development? Like how how do you think it's impacting your career, and how are you seeing it impact the careers of people around you? I think it accelerates everything. Um just hyper speed. Uh which which people think, "That's good." But if you're doing the wrong thing, it just accelerates and proliferates that like everywhere as well. So, if you if if you can if you're writing code or if you're using the LLM to write code, you know, say there's a bad pattern in your system and you're using AI-assisted programming, that bad pattern's going to persist, and you're going to you're going to eventually the system that you're building's is to crumble because you can't you know, it's not designed designed well. So, so AI assistant programming has definitely helped kind of you know, practitioners build more, but you still have to have the fundamentals. You still have to know how to design software and think about software, but it's more of from like a conceptual standpoint where if you can if you're in your mind palace, you can architect a system and communicate exactly what needs to be done effectively via prompting, like you're you can build that system, but like most people or many people don't have that experience and haven't seen multiple different systems. Like, you know, I've been to big organizations. I've I've been that have billions of dollars in revenue. I've been to small organizations and worked in small organizations, like one or one or two people, a couple people, and you know, like that is what I'm leaning on when I'm using these when I'm doing AI system programming. I'm not just starting with a blank slate and being like, "Do this thing." Um so I don't know if I answered your question if I deviated, but >> Yeah. So, so essentially it can accelerate the rate at which you make mistakes and it can accelerate the decay of a code base if you don't know what you're doing. So, you do need to know what you're doing at the end of the day. Uh one thing I often say is like if you are just using LLMs to write all your code, if you're just hitting tab tab tab and not really thinking about it, if you're just vibe coding everything, uh why are you not just a completely commoditized widget? Where Why can we not just drop you know, uh low-paid worker from XYZ country in there to essentially do what you're doing? Why can we not automate what you're doing completely? >> Mhm. Right? Uh and and those skills, those fundamentals, I think are what differentiate a dev who's able to wield these tools with great efficacy from somebody who's just stamping out a bunch of uh technical debt all day. All right? >> Yeah. Definitely. Yeah, and and and a lot of people are talking about, and I agree, it's like you're you're coming in to your work with a taste, a perspective, and you know, we all like hopefully, you know, you have strong opinions. What is it What's that quote? Strong opinions loosely held or something like that? Like hopefully you've developed some sense of, you know, this is the way I think things should be done, and you don't have to hold to it, but you should have some perspective. Like you should say, you know, I want to do this might be good at this and not at not at this, or, you know, like this is how I build build systems. Like that's something that you you're not going to get from the model. Um I I I kind of think that like the model's trained on all the internet. Do you want the average or the you know, the mean of everything everyone said? Like no, I want, you know, I I want a curated, you know, I like I I like following like YouTube streamers or or uh Twitch stream. You like they have a a very curated taste, opinions. Sometimes they're very polarizing, but you follow those people because it's a perspective, you know? But you don't want the average perspective over Right. You want to cultivate your own, and that's what makes you valuable. Yeah. >> One one thing that makes you valuable. For sure. So, let's talk a little bit about the uh job search and uh the freelance gig search. Uh which you Mhm. both sides of that. Uh you're currently working full-time, but uh you previously freelanced, and you've worked at agencies, which means you've worked for dozens of organizations. Uh one of the things you've said that I I love, "Stop going to people to find jobs. Force people to come to you." Yeah. I I I think that's very true. I mean, early in my early in my career, you know, I've had professors, uh I took a a web dev two course, and and everyone's like, "Hey, build a portfolio. You know, build a portfolio. Start blogging. Start making YouTube videos. Start making little toy dummy apps. Posting them on GitHub and see if anybody stars it or hearts it or likes it. You know, and and that's a really great way to get noticed. I think the worst way to get noticed is to put a piece of I I think I have my resume somewhere. Yeah, put a piece of paper in a pile of a thousand other people and hope that like you can beat out everyone for like one role. Like Like that that is a way and I have applied to jobs traditionally, but some of the best jobs I've had, including my current one, I've gotten reached out to by recruiters who were like, "Oh, we see all the work that you're doing. You know, do you want to interview here?" And like Like for me, it's it's nice because it's like out of 10 people who reach out or 20 people who reach out, like one of them I'll be like, "Yeah." And the other ones I'll be like, "No, thanks." Like Um and it's like to have the option of what like what kind of work you choose it is great, but I think on being on the flip side, it's really hard cuz you're you're competing. And I say, "Stop competing." Like find find what you're good at. Find what makes you exceptional and play to your strengths. Don't Don't try to play the game everybody else plays. Don't try to play like you know, this finite game. Try to play this infinite game where you you define what it is that you're best at and and and and showcase those skills, you know, on social media or in in-person events and things like that. Um Yeah. Yeah. Very practical advice. Uh you tell people to build in public. What does that entail? Yeah, I I I say post what you're doing. Like if if you're working on a project, post about it. If you're studying, stop. Take a picture. Post about it. Like I think people get self-conscious that like uh they get self-conscious about the work that they do, which I also did and also sometimes do. Or you're sitting there and it and you're like, "Well, if I post about this concept, people are going to think I'm a fraud because you know, maybe I should have this concept down." I mean, there's so many things to learn in life. >> Yeah. To go around expecting that everyone's been exposed to everything is is like absurd. Like I went to one conference talk and or I went to one conference uh and I was talking with someone who had a stronger math background. I think he had a master's in mathematics, maybe had tried to get a PhD, and was also running a company for him at the time, and he's like, "Are you familiar with this concept?" And I was like, "No." And he's like, "Really?" And he thought that was interesting. He's like, "That's okay." And then he he proceeded to like explain it to me. We engaged about it. I could ask him questions, and it's like it turns out you know, a lot of times in you know, in high school, everybody like didn't want to answer the question cuz they didn't want to look stupid. But like for me, a lot of times I've looked very stupid, but I've gotten like a lot of people to take notice, and I've improved the things I got wrong, and it's it's only like helped me. Like I've said, I've mispronounced words before, and I'm just like, "Nobody cares. Nobody cares." Like play your game. Don't like And I don't mean game like you know, like everybody's got a game, but I'm just like do your own thing. Like learn, find people who are fun to like play with and work with, and and I think things will be kind of better. Like you'll you'll find your tribe. You'll find people that you mesh well with. You'll build things. You'll have fun. Like you know, it's an open world. Yeah, in high school everybody's afraid to look stupid. Do you like what I mean? Dare to be stupid. Yeah, definitely. Do it. >> That's going to That's going to like give you lots of opportunities. Uh you said don't be afraid of mispronouncing words. Like I gave a talk in front of like 300 people at the inaugural Code Land conference. So Ron I organized it and had me come out to be a speaker. Uh uh Scott Hanselman is in the audience, a legend and one of my big Yeah, one of my big role models and uh Me, too. >> I would I I don't remember what I said, but I was like uh there's this word adage. It's like some short pithy kind of like uh I guess trick like rule of thumb, I guess. And I I for some reason I thought it was like a like a a French word or something, so I said "adage". And afterward he was very polite. He always said "It's adage." And I was like "Oh man, I feel so dumb." And he said uh I think he said something like you know, don't ever uh feel dumb when you mispronounce a word because it means you learned it from a book. And that you're >> Yeah. you know, well read essentially. Like you're you're probably flexing all kinds of vocab that other like people that don't read wouldn't even have on the radar, right? So um yeah, like that was a really cool experience. I'll never mispronounce it adage again. Yeah. It's a very salient memory uh to solidify how to pronounce that word. Um That's the important thing is like once you have that moment, you learn it and then you just like move on. But but some people like they stay stuck and they don't expose um they don't expose like what they know. It like the benefit is you get feedback. Like if you never get feedback, okay. Low-key I'm really into the book 48 Laws of Power, not from like a Machiavellian sense, but I think it like gives people with empathy more leverage in a in a world often controlled by people who don't always have a lot of empathy. You like you understand the thinking of others, but one of the concepts is um Oh man, I I lost it. It was >> This is that famous book that like cult leaders use. I I think there was like a Yeah, I'm familiar with the book. >> banned from prisons and all that stuff. But but there's a there's a there's a there's a there's a One of the 48 Laws of Power is isolation is dangerous. So like what what that's saying is like that engineer who is a secret rockstar engineer who's in the corner building a massive thing is doing the most dangerous thing and is really hurting his career because what he actually needs to be doing or she actually needed to be doing is exposing their work to the rest of the org so people can see it, give feedback so that they can do better. Like isolating yourself, not sharing your opinions and thoughts like gives you a a misconstrued version of the world. Like you're living in your own world kind of like Plato's cave and you think the shadows on the wall are the world. But like on the outside it's very very different. And and this is something a lot of people struggle with in their careers like you know, they think they got it going on, they think they're good at programming and then they go to a Google or they go to some other company and they're just on kind of a different tier and it's like if you expose yourself, you can get feedback from some of the best people and that will make you better. Like it's all to like improve and and to get better at your craft, you know, but you can't do it just within a vacuum. I mean, some people can't but like I'm not one of those people. Yeah, there's always someone cooler than you. So >> Yeah. understand where you are the top 10% and where you enjoy working on something and are willing to outwork everyone else. That that is kind of like your like a quote from you that kind of summarizes your approach of like how to specialize. And I I just want to call that out. Uh but you know, where you are in the top 10% like there are lots of places you could become top 10% and and you tell people to go deep into just a few areas but it takes time to identify what is worth your time, money if you're going back to school, uh your energy. Uh people have finite careers, they have to decide. They have to at some point make a decision. They jump, right? They can't just stand on the bridge the whole time. They have to at some point jump in the river. They have to figure out where, right? Yeah. >> Um how do you identify areas worth going deep with? Yeah, and that that's a good question. I think for me, I think finding what you're good at, you uh family member I always quoted to me, um is actually my mother. She says, "Know your strengths, know your weaknesses." Like and and and for me, I would I'm very very clear about the things that I'm really good at doing. I'm very very clear about the things that I am not good good at doing or the things I hate doing. So, I try to take all the things that I'm really great at doing and love doing, which are also the things I love doing, and maybe I don't know if it's a chicken or egg, like I love doing good good good good good good good good good good good good good. But but I try to find those things and I try to to to see if I can package those up, you know, really really well. Um and so so for me, if I'm looking at me, I don't just mean technical skills. For me, my childhood, a lot of it was spent in service. So, in service to the world, you know, volunteering, you know, my high school had this motto, men for others. I went to an all boys school. You know, serve serve serve. You know, and and so like when you're serving others and you're helping others and you're mentoring others and giving back, you end up interacting with a lot of people. So, like I got to, you know, work with all sorts of different people and so like, okay, that's a skill that I have. And then but but then you want to combine that with, you know, another skill. So, like software development. I actually was not a really great programmer. I really struggled. I don't even want to talk about how I did on the AP in high school. But like I worked at that skill and then I got better. But I realized early, I said, "I'm not going to be uh there's some podcast that talk about like the coding machine at meta. I'm not going to be the coding machine, but I can be just good enough to really make a good impact and be a solid engineer. But now, if I combine that with my skills of working with others and collaboration, then I'm going to be really good. And oh, by the way, I took some like personality assessments and I took this one called like Strengthfinders. It's helped me find your strengths. And my strengths have changed, but some of my highest strengths have been empathy. So, I combine that and then one of my other highest strengths, my highest strength, this is a new one cuz I retook the assessment, was like being able to look at other people and identify what their strengths are. Super great when you're on a team because if you're struggling with something, you look across your org and you say, "Hey, you know this person in this corner on this other project unrelated? They're really good at this one thing that we're terrible at. And can we bring them in and can we create a team that could be really successful at solving X or Y problems? And so so you start looking at your strengths and you're saying like, "Okay, how do I fit into, you know, an org or different situations?" Well, and then it starts defining what sorts of organizations are best for you. Um and then on the marketing piece, it's even better if you start posting on social media or writing in areas of your strengths, um people see those traits in you and they say, "Wow, you match a pattern of all the people in our org." So, then they end up pulling you in and that's why the some of the companies I've liked the most, I've gotten pulled in because I was talking about what I did and they saw like, you know, this is a high empathy person who like posts in a way on social media that like is in alignment with our values. I wonder if they're any good. So, then they say like, "Hey, you want to do an interview?" And I do an interview and like I nailed really well with the interview. Like uh for Deal Maker, you know, the the VP of engineering is my direct manager. Uh he he is really great. He really cares about the team. He really cares about the people. Like he's always supportive. My favorite thing about him is he says in many meetings he says, "Layman, I'll I'll I'll I'll rant and stand up and he'll say after my rant he'll be like, "Okay." Or our our our one-on-ones he'll be like, "Is there anything I can support you with?" And I'm like, "Huh, that's a good question. I'm not sure. I think I'm good. I think I I think I got this under control. Like, thank you. Like, thank you. Like, how often do people ask like like, "Is there anything that you need? Is there anything I can support you with?" Like, that's that's super great. But, like like to find this culture, you know, I had to like I've had to show my value so that the people with the values can be like, "Hey, kind of join join what we're doing." >> So, essentially like uh like mindsets attract like like mindsets. So, it's essentially So, it's it's kind of like you are very service-oriented. That's like a huge part of your upbringing. Uh there's an entire category of management. I don't know if it's still in vogue uh in management circles, but it's called like service leadership. Yeah. Servant leadership. And And the idea is that essentially the manager is at the bottom of the organization trying to support everybody else. And everybody else goes to the manager and tells them like, "Hey, I need this." Or like, "Oh, this went wrong and and it's because of this and stuff like that." And the And the manager's trying to essentially react and facilitate rather than dictate. Um >> Yeah. Yeah. So, it sounds like you found that kind of leader. And because you're so service-oriented, uh you you were attracted to that organization. They were attracted to you. Yeah, exactly. And same is true and I worked for another company called Test Double. The CEO got up one day in a meeting and we were fully remote and he posted the org chart, you know, which is like a hierarchical chart, but it I think it was like flipped. And it was like CEO at the bottom just like you're saying. And it like blew my mind. I was like, "Wow. Like, you are supporting all of us." And then all the little people are supporting those people and then I'm on the ground floor, but I'm at the top now. It's such a great analogy. Yeah, and if you think about it in terms of who actually needs support and who needs help, it's often like the newcomer people that are at the bottom of the proverbial pyramid. Well, those are the people that need to be lavish with the most support and energy and time. The people who've been there for a long time, especially like the people in the upper management that are running the organization probably been doing that for a long time. They need the least context, the least support. And they they probably also have the means through which they can acquire whatever they need to get their job done anyway and they have like the know-how and the tacit knowledge and everything like that. So, it does make sense to to think of it that way if you want to run a small company. Now, you've worked at a lot of different size companies and I want to drill into that because you have the benefit of having worked with dozens of different teams. And you've even said that like in the past that one of the reasons you enjoyed consulting so much is because you're not actually living in the house that you're stepping into. You're you're kind of like a guest stepping into a house trying to figure out what's wrong with that family there, what's dysfunctional, what what's wrong with the house itself, and and fix it and then you get to leave and you don't have to sleep in the bed there. You don't have to stay in that organization. You you can just be like the the friendly kind of dinner guest essentially. And then you get to leave and go and get into another house and do the same thing in a different organization. Kind of like an organization whisperer so to speak like like helping to solve and that that's the nature of consulting. That's to an extent of freelancing. Can you talk a little bit about what drew you to that lifestyle instead of just working you know, at the same company for many many years as many devs prefer to do. Yeah, I think I think boredom honestly. Like I I always say I get bored fast and then what I mean by that is like I will come into a new environment, I will learn a ton, I will get 80 90% confident in what I do, then I'll look at like other things I can do within that organization. I'll take up those. And I feel pretty comfortable. Like I feel like I can make an impact and that's often sometimes when I know when to leave cuz I like I need to keep learning. Like I am like fundamentally I I just I love learning. Test taking, another thing. But I love learning new things and so like I was finding that pattern um was was emerging and and then when I discovered consulting it was like, "Oh, well, it's the same thing. You get to leave companies and come to different companies, but you you have like a main house that you can go to. You have main people that you can communicate with and work with and and build, you know, uh like like have have a sense of belonging with, but you also get to explore all these other places, different industries, um and so that was like really really appealing to me at that stage of my career because, you know, it was a little bit earlier and I just I wanted to see everything there was. Like I was like, "I want to work in healthcare. I want to work in fintech. I want to work in automotive." Um I spent a huge portion of my career in automotive, which is ironic cuz it was like I got in consulting. I had a two-year automotive gig and another two-year one. So it was like it was kind of like I did get so I did get to see other things, but it was kind of like, "Oh, this is this is ironic. Like this is like the universe being like, 'Haha, you thought you were going to'" Um but but honestly I I really loved it and it it it was a lot of fun. Yeah, and one question I have for people that are getting into it. I mean, like just to pair back what you said, uh know when to leave so you can keep so you can go elsewhere and keep learning. Once you get them to 80 90%, they can probably take it from there, right? You've already set them up for success and you can politely excuse yourself from the table because the the family chemistry is healing or whatever like analogy you want to if you want to use the dinner party like the the cousins that hate each other are now talking again. And so your job is done. You can leave and trust that it'll get done by itself and you can go find some other dysfunctional family to support essentially. Yeah. So let's let's talk about the landing clients, right? Like when you were at the consultancy they probably helped place you Test Double. Of course we had one of the founders on, Justin Searls. Very cool conversation that should already be live by the time this goes live. He was he was your direct chart or like he was your boss. Yeah, he he had a lot of different roles. He wasn't my direct. I think I I think most of the people at the time direct reported directly to the CEO. Technically the way the orgs are we had a support person but Searls had like different like technical leadership roles around like evangelism. I think at one point he held like CTO and things like that to kind of and he was he was he was a part of like I think sales pipeline helping get more work in and clients and things like that. >> So so you got to work with him and and they would kind of tell you where to go? Yeah, so a lot of times it was like a conversation where it was like, "Hey, we have this opportunity and these are your skill sets so you're very forthright about like these are all the languages I know, this is you know, I'm a really strong communicator. I work really well on teams, you know, and like here are certain these are the challenges that we're having across our client accounts or here's a new a new client that's coming up and we think that you fit that profile like you that you can or you can help them in some way." So you would you you have you have freedom at least at the at the consulting companies I worked for like Paravirtual and Test Double. You have freedom to say like, "You know, I I really don't think that's a great place for me." Or you can say, "You know, yeah, I want to I want to I want to work there." Sometimes it's feast and famine, so right? So like when the economy's great and money's just flowing it's like, "Yeah, you can be like, yeah, I don't know if this is the one for me." But when it's scarce sometimes you got to be like, "Okay, I I got to just do this one cuz you know, there's there's only so many people can do it and we we need money as a as a as an org to keep keep going, but yeah, it's it's a really cool way to get new opportunities, for sure. Well, let's talk about like the uh when you're outside of the organization, you're you're hunting alone, so to speak, and uh you are trying to land freelance clients yourself. Now, you've done this, and one of the piece of advice you always have is talk about real problems that you've solved. Now, you have the benefit of having done a lot of work prior to going out and sitting down with that potential client. Um how would you conduct a a client meeting with a prospect? Uh maybe take us through like kind of a scenario from end to end, how you would you know, prospect them, and how you would ultimately close and get that work lined up and get the contract. Yeah, so I'm like pretty bad at like prospecting from the from the standpoint of like like cold calling or finding out like where like reaching out to people and being like, "Hey, can I help you in any way?" Like, most of my work has been inbound, so what will happen is like people see the wide net that I'm creating with my blog and Substack and conference talk, and then they say, "Oh, wow, this person looks like they can help us." And then I get a message in my email saying like, "Hey, can you help us?" or an introduction or something. Then we just have a conversation, and it's mostly just listening. It's like, "Hey, what are you trying to do? Like, what are the problems that you're facing?" And then they'll tell you a little bit about it, and you'll ask questions, you'll you'll you'll say like, "Well, you know, you know, you kind of got it." And you a lot of it's like trying to vet like motivation. Like, sometimes they just want to talk to someone, and that might be the end of the engage like the conversation. It's like, you talk for an hour or 30 minutes, and then you you offer some advice, maybe, and then they they don't come back. But sometimes it's like it's it's a deeper problem, and they they're like, "We're looking to, you know, pay someone to help us solve this problem and when that's the opportunity then you you kind of like you you get into this phase of like you're pitching different solutions. And so that was that was kind of challenging for me early on because it was like I don't know how to put together these proposals and things like that. So I had to do a lot of reading. Um one person I like is Alan Alan Weiss million-dollar consultancy. I believe it was one of the books he wrote and he kind of talks about how to you know, structure um kind of how to take in information from the client and kind of structure how you want to start the engagement. So I put together sort of like a project requirements like this is what we're trying to solve. You know, I'll put the costs in there and then they would sign it and say hey like kind of hop aboard and we would we would begin the engagement. So I've done like project management projects, I've done exploratory AI projects where we you know, they they they they they were experimenting with AI. They didn't know exactly what they wanted to do. They wanted to see what AI could do for them and so like I was on a short project where I kind of helped them do that. Um and and things like that. So Awesome. And when you're helping these people like there's you give them like kind of like a free consult essentially. You meet with them and and it's kind of like a sales job but it's also like trying like a fact-finding mission. You're trying to figure out okay, is there actually work here that makes sense for me to parachute in and help them with it. Um at what point do you identify like okay, like me if somebody were doing that, I would try to sponge as much information out of them as I could before I had to actually write them a check or send them a wire or sign any contracts or anything. But you, the onus is on you the consultant to kind of approach all right, well, now we're kind of heading into the territory where I've got to really start working in earnest. How would you like get somebody to actually give you money? Yeah, so it's funny it's funny now I help people I don't I often don't take pay like recently I had a project where someone came and they said we have money want to give you this money and so that's the easiest way to get money is they say they have money and they want to pay you for your experience that's like the easiest way. But yeah, to your point like sometimes people reach out frequently and they don't always pay and so you have to and I've been bad at this honestly I just talk to people. But at some point you have to constrain you have to look at your time and say like this is really costly and then like not every buyer you'll find out is like a motivated buyer some people just want free advice some people actually have this project but that I think I think that's the biggest thing you need to figure out is like do they have the capability to pay me if not then I'm going to have you on these long calls and nothing's going to happen like I I was approached by uh an individual and there was some work to be done basically from like a private equity firm and we had like these long drawn out like month long conversations then we started having meeting sessions I never took a dime and that was like totally a mistake like it was such a I think it was kind of a waste of time and I should I should have said like hey I'll give you two free call or like I mean you shouldn't give you really shouldn't give a lot of free stuff away but you say hey I'll do one call two calls but like after that you got to pay me X amount of dollars for the rest of the time um because otherwise it I think it'd be kind of exploitative you know uh for you What are some other best practices that you've picked up like I'm definitely going to link to that book Alan Weiss multi uh million dollar consulting I'm going to read it myself that's a very strong endorsement >> it's great he's he's >> just want to have more perspective when I coach people within the free code camp community one one thing I guess this is like tangential this is not a plain question but with all the LLM power tooling and developer productivity potentially skyrocketing and some people would argue well it's just a bunch of repair work that's going to need need to be done because it's going to be low-quality slop code. And and I've had like Internet of Bugs and some other creators who are I guess more skeptical of LLM code generation on the the channel, too. So, I don't want to say that I'm excited with one or the other, but like assuming that developers do dramatically improve their individual productivity, and a given company needs fewer developers. And perhaps some companies that are like small to medium businesses who would have previously hired a developer, now they're just contracting on a kind of case-by-case basis. Maybe they have like like legal work. Like freeCodeCamp does not have a lawyer on staff. We have different specialists whom we reach out to like, "Hey, we have an intellectual property-related question. We need like a you know, like we need to get this or a contract lawyer. We need to get this contract proofed for this grant that we're doing or you know, international law." Like we we have all these different specialists in our stable, so to speak, whom you know, I have their wire information and I just pay them basically by the billable hour with law. It's possible that for a lot of small to medium businesses, maybe a similar arrangement comes up with developers where they're like, "Okay, we need a solution that does XYZ." And you know, you're specialized in this particular type of work. How much would it be for you to implement a solution that does XYZ? Like my theory is that a lot more development work in general is not going to be getting like a normal W-2 job, like what we call in the US, but it will be like kind of like case-by-case project-oriented you know, contracts. Do you think that that is likely to come to pass? I think so, and I I definitely hope so. Um like I would love to see sort of the bigger tech companies shrink down and figure out they don't need as many people, and maybe we're seeing it now where they're just pushing out developers into the workforce, but there's this opportunity where the people who are out there might have bright ideas and they might create more smaller companies tackling niche challenges and the people in the market can now work for those smaller companies and I think it de-risks us as a as a as a nation frankly like like when the when when the big companies fail and they let go of 10,000 people that that that could have an impact on unemployment like on people being able to take like keeping this economic machine running and if you have a lot more companies that's like oh you know 10,000 people go out but there's all these tiny companies of like two to 20 to 50 people that need people you know we don't have to rely on these these big boys to kind of you know shoulder the brunt of you know the system we've created so I I really I really like that idea and I want to live in that world personally. Oh okay cool. Well, I'm I'm glad to hear that you're warmed to the notion like if if that comes to pass uh a lot more people are going to be having to go out and prospect. And they're going to need to understand sales and they're going to need to understand uh essentially customer service and project management and a lot of things that in theory if you're in like the Dilbert-esque software engineering role somebody just throws a big you know phone book worth of specs over the cubicle wall and you just start working on it right like Yeah. Do you think the days of that are largely gone or how how much do you think like the big companies are still going to retain big staff of engineers based on your experience? I mean you are working for a company as a developer how many developers do they have? Uh how many developers do we have? I'm not sure the number actually. It's around probably 100 plus or minus sounds right. Yeah. And those are dedicated developers and I and I think like the series D you know giant startups and stuff like that and and of course public companies are still going to have big staffs of developers. But I'm saying like for the small to medium businesses, uh and and maybe to an extent startups. Yeah, I mean, if if you're if you're fast-growing company, I mean, yeah, I think agents, AI, all this stuff could somewhat offset some of the work, but sometimes you just need people to do work and you need you need people collaborating and and and solving problems. So, I think the smaller size agencies, like they can't they can't have like a whole staff of like people. So, I think they'll outsource to like an individual or a smaller team to to to do some of their internal functions. Um but then those companies might consult with them to solve other problems. And so, you get this like really healthy environment where it's like, you know, eventually like small teams get saturated. Like as a one-person consultancy, you know, I might have to say, "I can't take your work, but here's someone else I've worked with in the past." And now that person has food to feed their family. And then they'll get saturated cuz if you do a good job, it turns out you get more work. Like people spread your name around, you know? And so, eventually you'll get sat- saturated. And not everybody who gets saturated who says, "I want to scale to, you know, a massive company and doing this thing." It's like not everybody wants that. Some people just want to like wake up, take care of their family, make money, grow their sales, like and keep it as like a one-person or a small business, and they're happy to give away work to trusted part- like like honestly, I like like I I I I have a friend who does like consulting, and someone else approached me and was like, "Hey, you can you do this work?" And I'm like, "I don't have ti- like I right now don't have time to do a lot of like projects." I'm like, "Hey, can you do this project? And I'll bring you in and I'll bring you in, you know, and and say like, 'Hey, introduce you, You'll do the work and then I don't have to really be a part of it. Maybe I get a finder's fee, which is nice. Like, you know, I could all use a vacation, but like I don't I don't have to do the work. Sometimes people don't want to do the work." Like, I I personally a lot of the engineering work like like if I had a if if I was like full-time consulting again, I would not I probably wouldn't do what I'm doing now for my current company like for other companies. I'd probably want to do something different and rely on strengths like, you know, I'd probably want to do strategy work or help people like figure out in terms of speeds that they can't. Like, that that plays to some of the strengths that I are underutilized. Um so so I think it's like kind of an open world. There's there's there's tons of opportunities. Um but but I think people are in a really difficult place right now because it's like we went to school for this thing and that's like maybe our identity or that's what we've been trained to do, but the world isn't like the world that right now is not honoring that. Like, AI, LLMs, like how the world is shifting is not honoring that. So, we have to like change of change how we think about what we do and how we add value. Um and that's like important. Like, I did um like a couple months ago, I was doing some strategy work uh for a company, a nonprofit, and like it was no it was no software development. I was just talking with the founder, basically saying, you know, he'd say, "Hey, here's some problems that I'm having." And I'd be like, "Well, here's how you solve these problems." And he's paying me. And I had all this anxiety cuz it was very different than some of the work I've done. I had all these anxieties like, "How am I even getting this value?" So, I asked him. I was like, "Are you getting value from this?" He's like, "Oh, this has been super valuable." Um and I'm like, "What?" Like so you know, if that's true, then I think there are a lot of skills that other people have that are trying to find work that are super valuable, but they don't know that it's valuable yet. And this kind of dovetails into what I was saying before is like isolation's dangerous. You got to get out there and show people that you can do different things even though you don't think it's valuable, other people may pay a lot for it. So. >> Yeah. And and I mean, what I just heard was basically a 3-minute uh sales pitch for building a network. Building a reputation essentially. And uh to to plug my own book that I published it and it's free. Uh just Google learn to code book. Um but basically people need to build their skills, but they also need to build their network and their reputation. And I think for the longest time people just focused on skills cuz I mean that's what you know, all if you in your in school, nobody cares about your network or your like it's all about like, okay, well what can you actually do? What are your skills? You go to the hackathon, what do you build? You know, and and the skills are so important. That's like the prerequisite for even getting in the door, right? Nobody wants to hire a dev who can't dev. Uh but uh once you have your skills to a certain level, then you really do need to make sure you pivot to building and addressing those network and building a reputation which you know, as you said, if you have a good reputation, people will come to you. Uh and like how many jobs did you apply for in your most recent job search? Um in my most recent jobs for search, uh I I don't I've applied to a lot of jobs. Like like I think magnitude like sometimes hundreds of companies I'll I'll like apply to and I'm doing doing like a resume in a stack of resumes as you said or how are you doing >> Yeah. Like I I've done it I've done both ways. I don't I don't think like you you can apply to companies and you could you could win in the battle of resumes in a stack of resumes. I've gone to I've I've applied to companies, gone to like four rounds and it's just like they decide to go in a different direction or something something happens and it's it's very challenging. I mean, I think the resume is supposed to get you in the door, so I think I've already won. Like I consider a win if I get a job interview. Like, the resume did what what it did. But, when you look at LinkedIn and it's like 100 people apply, like, there's probably more than that on like other sectors. Like, it's a lot of work and it's like like like I I've had interviews with companies that didn't don't align with my values and I don't want to work here. Like like like I know this is the company that I a big-name company that I've seen, you know, in the insurance space or whatever where I'm like, "Oh, that'd be so cool to have that on my resume." Then I go there and I'm like I don't want to be here. Like, the people like we're not of the same makeup and like we kind of self-select and they're like, "I don't want you either." And it and it's not always like a hard skill thing. It's just like you just don't fit that culture, whatever culture means. So, but that's a lot of work. Like that's a lot of effort to like try to figure out what works. >> I don't know, hours and hours of your life like submitting your application and then going to the venue where you're going to be interviewed and interviewing and then only to discover this is one of many many jobs that is not a good fit for me. So, like, my heart goes out to anybody who's doing the job search. But, is there an easier way? Like, have you gotten any jobs purely through your reputation where somebody's reached out and like, "Hey, we'll make a role for you." Has that started happening to you yet? Yeah, definitely. I mean, I think I don't know if anybody's made a role for me per se, um but like they had a role and I was like a good fit and then I got in and it turned out to be a wonderful thing and like the honestly, a lot of the places that I've applied to and got in, like I ended up like not liking it and and being like this is not a good place for me. And that is like the worst thing that could probably happen. Like, I think it's almost worse than a layoff. Like and then that's and the reason I say that is because you are now you kind of have this like light golden shackle where you're working at a place you really don't like and you can't leave because you don't have something lined up. Where where if you're let go then you're just on the race. You can't leave because you don't have a place lined up and it's like and you realize you don't want to be there for much longer. That's like a terrible feeling and and so because of certain experiences I've had I've I've had to really like I'll I'll research companies really deeply. Like I'll use AI, I'll use Glassdoor, I'll read up all about them and and like their CEO and like their their engineering directors and like what are the real experiences people having here? And it may not be that it's a bad company but it may be like bad for me. Like the way I operate, the way I use my strengths it will be a weakness in that company and my strengths will not be valued in that company. So you got to find companies where it's like your strengths will be like you know, top tier. Like this is what they want and it will be easier to make you know, it will be easier to grow your career there than some place that doesn't value what you bring to the table. So what I'm hearing is uh do your research before you start applying to companies because you're just wasting time if you apply to a company where like like I'll often go into like uh GPT-5 too and I'll just be like, "Hey, here's the name of this person. Like find their LinkedIn, find their blog, find their like come through their social media and create like a dossier on this person." Yeah. And often if they're if there's enough stuff on the internet they'll they'll assemble this and then of course sometimes they're hallucinations or they're getting like somebody else that's named John Smith or something like that. So you have to be really specific with this but click through all the different links and just use that. Like it essentially gathers all the links so you can do that. You can get like a a litmus. Okay, is this somebody who I would actually be interested in for example interviewing on the freeCodeCamp podcast or is this somebody who like is this a company that freeCodeCamp would accept a grant from? Right? Like we've never accepted a grant from a tobacco company for example. That's a pretty obvious thing that you don't want to do. But, but sometimes there's like more uh like vague like like okay, how do they treat like their customers? Like do they have a good reputation on Reddit? Stuff like that, so like like these tools are very powerful for doing research and there are a lot of people out there that are pretty toxic, but you can survive for a long time as a toxic individual or as a toxic company, like an entire company of like toxic douchebags, right? >> Yeah. And you know, the market will allow you to survive like that and you don't want to find yourself working for one of those companies, right? Yeah, definitely. And if you're among and I think everyone should be the best talent. Like I think you should find a set of skills that you're really good at, wrap those up and you become the top 10 20% in that space, which sounds like when I say that to people, they're like, "Oh, you can't just say that, man." I'm like, "No, I'm telling you be the best at whatever it is you're doing and and look inward and figure out what you love doing and what gets you excited to wake up in the morning and and just go off and be the best at that. But I I think I think that's the way to do it and it's like I think those people I think companies companies are trying to find great talent to help them solve problems and it's like they they will start losing some extraordinary people if if if they don't, you know, build a culture that attracts extraordinary people. Like you go look on Glassdoor and it's like some of those Fang companies that they're they're rating like 4.4. You know, they make sure that that's really high because you know, they want really good people to work there. Like I will you know, if I got an offer from Fang and an offer from like a medium-sized company doing the same thing and the Fang company offered me and like if they offered me $200,000 more like I would not take it if I thought the company not offering me $200,000 would be much more enjoyable and I'd probably build a career I love more at there, you know? And And to To other people it's like that's absurd. Like Yeah. That's like $200,000. You can You can You can retire 20 years early. >> and retire early, right? You know, that's what a lot of people would think, but until you've actually been there and worked in like a hostile environment, I think people under appreciate the toll it takes. >> Really. And And people don't count up the costs. Like I think that's a Stephen Covey thing. Count up the costs. I think it's Stephen Covey. The cost is not I don't like it there I find another place. The cost is that it's your health, it's your relationships, it's your marriage, it's how you interact with the world. You're angry, you're you're upset because the work's not good. You're taking it out on your dog, you're taking it out on your wife, your husband, you know, you get colon cancer. Like Like I was watching an interview from And I think Okay. I think Netflix is probably a great place, but there was this one guy who's who's a director at Netflix. He was in an interview um in a podcast and he was saying he was working all the time and working really hard and and then he he had some health scare where it was like you have cancer now. And it's like Could how much you were working contribute to that result? And also, you know, some of this is like self-work, like I think we have to set boundaries for ourselves and it's not always the company's fault about how hard we work or what we do or how we feel. Like we have to We have to have some control over that. But it shouldn't be to the point where though you're pushed. We were subtly pushed in that direction by some employers. Like I I read this book Apple It's called Apple in China. I read it recently. It's a really good book if you're if you're interested in China and especially if you're interested in Apple and like manufacturing and the migration of manufacturing to China. But like there's this very you know poignant scene in the book where they're talking about like a lot of the people that were flying over to China to like run the fact like the software and the hardware engineers were dying. And like 45 50 from smoking a lot, drinking a lot, from The stress. >> properly. And uh they were having like one of the, you know, engineering managers was at the funeral of another engineering manager on like a Sunday afternoon and then he had to like leave early to go to an all hands meeting among the engineering team. Like he didn't even have time to attend his dead friend's Yeah. you know, funeral on a Sunday because the the work culture was such that they couldn't slow down at all. They had to keep moving to meet these, you know, publicly stated deadlines and stuff like that. And so uh you know, like again, I don't know anything I'm not a doctor. I'm not I want to be clear that we're not a medical None of this is medical advice or anything like that. Uh I don't know about the instance you're talking about uh with the person getting cancer. Uh that could have been genetic. It could have just been incidental. It could be the lifestyle related stuff. Uh preventable cancer. It could be they were too busy to go get a colonoscopy. As soon as your insurance will pay for you to get a colonoscopy, get a colonoscopy. >> Get it. I've gotten one. Right? Get your prostate checked. Yeah. I know it's humiliating. Get your prostate checked. Like if you have family history, argue with the doctor that you need these procedures early. Get them approved because you do not want to die at 40 from a preventable disease that was in your family history because Yeah. >> too busy to get a So, that is my my public service announcement for the podcast. I always have to fit one in. That does turn it That does That does kind of tune into work though because it's like if you're working at the place where you place where you can't step away from your keyboard for an hour and the company like they're just going to be like, "Oh my god." Like and you're worried about getting fired. Like you probably won't take more You won't probably won't go to the doctor's appointment. You probably won't go to your kids little league game a little bit earlier. Like that's not it doesn't promote life, I think, you know. Um >> So, And and at the same time I want to be empathized with anybody who's watching this is like, "Damn, I like I've my rent is due, my kids are hungry. Like, I'll take literally any job." Right? Like, I I totally empathize with that. And uh I don't want people to like turn away like if they really need income to turn it away on principle grounds. No, I'm going to I'm going to wait around and find a job that resonates with me. I know that they were speaking from a position of relative privilege having these options available to us. Uh so but uh one of the things that you said there that I think is really interesting is just being selective. Uh and you've had dozens of consulting and freelance engagements. Uh you've said that you really believe in people. Your modus operandi is to drop in, learn, get consensus, get the team working together. Uh what does this process usually look like in practice? Like, let's say you hypothetically get a client and you drop in. How do you manage that relationship? How do you how do you scope it? Uh I just want practical advice for people that are uh planning to do this. Yeah, so Can you Can you state the question one more time, Stephen? Yeah, what is what is the deal flow? What is the workflow associated with uh helping a client uh and getting paid for it? Yeah, so I guess is this is this after the contract's been signed and you you start going over it? >> maybe if you can walk us through the entire flow, like how you would approach it. Okay. I think from the beginning >> that you have from having worked in consulting and with uh doing freelance. Yeah, I I think from the beginning it's they reach out to me, you reach out to them, and then you have a conversation, and then if the conversation goes well, you know, then it it may turn into engagement. If it doesn't go well, then nothing happens. But if it goes well, it might be able to turn into an engagement, but I think you just have to ask a lot of questions. And one question you have to ask yourself is like, "Can I Can I help these people?" You know? And sometimes the answer is no, but sometimes the answer that no is not obvious. Like, sometimes it's I I technically don't have the a technical capability to help them, and that I would say is very rare. Like it's very It's very rare. Like and I'm not saying it's rare for me. I think a lot of people would be surprised at how little you have to not little, but like people think you have to know so much to be able to help a company. Uh you know, you just have to know a little bit more about the problem or and a lot of it's pattern recognition. Like I've been in two companies, I know what problems they have there, I know how we solve them. I'll just apply the same thing. Like you're not recreating the wheel a lot of times. So, can I help them? So, the technical thing, yeah, I can help them technically. Can I help them org-wise? Like will they allow me to come in and teach them and to help them and support them to solve the problem that I know how to solve? That's a different question. Sometimes you're getting into places and you can solve the problem in a week or two. Sometimes the culture is such that you need to influence people and build trust. Almost every org you work at, you're going to have to build trust because you you you won't be able to do the technical piece without without the people there. So, it's not So, cuz cuz you won't have the permissions to the systems that you need to access. You don't know how the system works cuz you're you're you're day one. So, if if you can't build trust, they're not going to tell you or make your life easier to figure out how to help them, which which seems counterintuitive cuz it's like they hired you to be there, and now they're not going to help you solve the problem? They're going to waste 10 to 50,000 dollars to sabotage your And they will They may. Like if you're a jerk and you you show up and they're like, "I know everything. I build every system I work for Google." And that And like they won't want to they won't want want with you. So, you got to be a person you want to work with. But, once you get to that stage, it it's it's trying to figure out like, okay, like, what are the challenges they're they're having? A lot of times, and this is this is like status quo for consulting. They'll come you in they'll bring you in to bring solve one problem, and you either solve that problem or you find out that's not the problem that's needs solving. And so, then you have to roll it back and say like, "Hey, and I know you said this is the problem, but this is a symptom, and the actual problem is much deeper. The actual problem is there's this process that's broken that's causing this pain, um or people are unhappy, and so, you know, maybe because they're overworked, because of some pager duty alarm or something. So, it's it's trying to make people's lives better. Like, that's that's what you're trying to do. You're trying to make you're trying to reduce organizational pain. You know, someone's getting calls, someone's getting hammered all the time. So, that's kind of how you move in the organization. I think I deviated again. Yeah, let me recap what you said because I think it's important. So, you need to influence the people in the organization. Closing the sale is just step one. Then you need to get in and really then you get access and hopefully you get access because you're nice to all the gatekeepers within the organization, and they respect you, and they give you easy access to things you need, and they don't they're not paranoid like, is this person going to replace me at some point? Like, are they going to try to outsource my job to am I training my replacement? Like, I'm sure that sort of paranoia runs especially among developers who tend to be more paranoid than the median human being. Uh but, basically, you figure out what challenges they are. Often, uh they bring you in to solve one problem. It's just a symptom of a much larger problem. And then, like, are you looking at potentially having to rescope the contract? Like, "Hey, like, I can help you with this, too, but this is beyond the scope of my $10,000 contract. This is going to take a few months." Yeah. So, you get on the ground floor, you add value immediately, you help ease pain of the people, and once you do that and solve the problem at hand, then there's this mo- most of the time they'll have other problems, so you just stay there. Like you you solve that problem, you solve this problem, and you keep working in that organization as problems pop up. Um cuz and cuz there are no more problems and you're done. Like you're like, "Okay, I've helped you with everything I think I can help you with." And then you move on. Or you say, "You know, these aren't the problems I want to solve anymore." And then you move on. Like So, do you bill hourly or like based on the scope of the work? Like how do you figure out how much to charge? Oh. Check out that Alan Weiss book. Not you, but just everyone. It It's It's really interesting. So, I bill like project-wise. I've done hourly. Um I recently have been really sold on this idea of value-based pricing, which a lot of people think is just pro- project pricing, project-based pricing. Um but it's like when you're talking to a client See, I'm never going to do consulting again cuz now everyone's going to watch this video and be like, "Oh, you know how you sell." But But it's basically like clients, they want to keep their money a lot of time. Well, it depends. Some clients I think bigger clients you know, if you can solve their problem, they'll the rationality is like they'll pay whatever, but a lot of times people look at the cost. They don't look at the value. So, value-based pricing, value-based selling is to they keep They'll keep asking you like, "What's the price?" And you deflect and you say like, "Well, this is the problem that you're trying to solve. What's that worth to you? What's the value of that to you?" And that way, you know, you are getting paid for your expertise. You know, I'm not getting paid to send sit and do this work for all these hours. I'm getting paid because there's something that I know intrinsically through all my Not intrinsically, but through all my ventures in all these consultancies, it's like a compounded interest value that you are access to. So, it's like we can do hourly, but like like I'm going to help you with a solution. So like if the result that I deliver is worth $10 million, is it fair that I get to pay I only get paid, you know, $200 an hour? I don't know. Like Yeah. It's like you might want to try to get a portion of that value, you know? Yeah, that makes perfect sense. So figuring out what like and and generally in my humble opinion, not as somebody who's done this a whole lot, it's about identifying cost centers and reducing costs or it's about identifying, you know, profit opportunities and like realizing those essentially. >> Exactly. >> help them make money or can you help them spend less money? And if you're helping them save way more money than you're asking for, it's an easy decision to bring you on to solve that problem assuming that you have the reputation and the pedigree to to be trusted with such a task. Uh there is risk associated with it and that's going to factor into how much you can get from them. But it sounds like if you can shift it around value you said value-based pricing is the term you used. If you can shift it around that that Yeah. Very cool. I don't want to take too much of your time. But I did want to like talk very briefly about Ruby. So obviously like a lot of people are probably like who even cares anymore? It's just like LLMs are just going to generate Python code or they're going to generate JavaScript code or are people even looking at the code anymore? Like I see a lot of cynicism like that, but you're like a die-in-the-die-in-the-wall Rubyist. You're a fan of the Ruby language, of the Ruby developer community. You kind of got your big start like and became like a household name within the Ruby community through like extremely popular talks that you've given at conferences. And uh I have to ask you like why Ruby? Yeah, I think so the beginning of it was I you you I was I was looking out and I was seeing all these Python projects and I was thinking, you know, why not Ruby? You know, what is the limiting factor? And what I found is, you know, the Python community, they're more data science-y, they're more data focused. So, like there was this vibrant community around that. I'm like, okay, well, why else? Well, some of the libraries that you need to even do things, to even train models aren't aren't in Ruby. And then this uh gentleman by the name of Andrew Kane just started pouring all these Python libraries, like being like, all right, Python library, now I'm going to build a Ruby one. He just started building them all out. And I was like, that's really interesting. But nobody was like like from my side, like not a lot of people were using it, like not the numbers that you would think would use it. And so I'm like, well, these people are still are not building in Ruby and it's like um like let me let me try to do something cuz I I think it can be done and I think if people knew how to do it, they would want to do it. So, my first task was trying to build like the uh learning model that can predict like the weather using some data. And I built that, I presented it at RailsConf and hundreds of developers came in and the line was out the door cuz they hadn't seen someone do that in Ruby. Like like even though the tools were available, like someone hadn't sat down and walked through every single step of like what it takes to train a machine learning model. And I had just learned that cuz I had paid a bunch of money to do a course to do that very same thing in Python. I was like, just port it port it to Ruby and people loved it. And I was like, there's something here, like there's motivation. So, that gave me like the energy to keep working on it. But then like what doubled down my thesis because at that time I was like, well, I would say in the conference side, I was like, well, you wouldn't want to like you wouldn't want to go tell your CTO, let's train all our email models in Ruby, right? Like you'd do Python cuz that's the standard and like that that is what everybody's using. It's like, yeah, right. But like but then on the ML world, it was totally different. Because it's like if if all you need to do to start building your AI product is make an API call to like Anthropic or OpenAI or Mistral or whatever your favorite model is, guess what? None of that is inherently Python. None of it's inherently Ruby, Elixir. Name your favorite language. And so like getting hung up on the language just doesn't make sense. And the other thing is Ruby and specifically Rails, what DHH built, um has a very very opinionated way opinionated way of standing up a web application, a SaaS product application really really fast. I would I would I would put all my money on a Rubius standing up a a SaaS application really fast for their their uh their um startup faster than a Python person, better well-architected, better patterned because that's what Rails is for. Like people startups are still building stuff in Ruby. So if that's the thesis, well you build your SaaS application and then you do your API calls to the LLM and it's great. And so I started really believing that you could do that with with Ruby and Rails. And so I started building out some like I built a small library um that was like a tiny It was called like simple rag. It was like a tiny like uh retrieval augmented generation library to kind of showcase and explain and teach like how you can use retrieval augmented generation or AI search in an application in in Ruby and Rails to say like you could do it here too. Um now on production scale, you know, there's you can't use that, but but but but the concepts, you know, trying to like get away from just the language and and the tools and and like fundamentally understand the concepts, you you understand that these can be done in in multiple language, but is is the support there to be able to do this on a production level is more of the question. That's really interesting. So, if I had to try to like summarize to the best of my abilities what you just said, because the world has kind of moved away from doing your own ML to just making API calls to these already trained models and and letting them do all the heavy lifting, uh well, Rails is pretty good at just making API calls and pulling things into an existing web app. Uh and because Rails is so powerful and so opinionated and because it's so opinionated, it is way faster to build a a Rails app than it is to build like a Node.js and Express app. Like it like it it's probably an order of magnitude faster to build just a >> maintainability and all that stuff. Like every time I jump into a Python repo, even the Python libraries that like I was experimenting porting some stuff over to Ruby, I was always like, "This code is like it doesn't have it's not clean code. It doesn't like these func these methods or function are super long." And like Rubyists tend to like have really small methods. And it's just like it was so much like I could see how someone can make a mess in the Python world of application. And you need to hire consult like a lot of consultants cuz it's like we got to clean that up versus like in Rails, like every time I come into a Rails application, it's very like the structure is always the same. You know, like there might be messes, but they feel a little bit more contained. >> encourage uniformity. Yeah, and it it makes a lot of the simple decisions for you so you can focus on, "Okay, what does this platform actually do?" Like not the implementation details of this business platform. >> the technology, though. It's the people. Again, it was back to the people. The people in the Ruby and the Rails community like have their own ethos about like a a teaching culture, honestly. Like when we when when Rubyists teach other Rubyists, they say, "Oh, you know, here's the here's the idiomatic way we do we we write certain things. And you can do it multiple ways, but we do it this way as a community cuz it makes it simpler." And then those patterns proliferate everywhere. And so when you leave one Ruby Rails corporation, you go to another, like you can trust that certain patterns are going to be there if someone had a like mentorship, you know, I I think I think mentorship is really strong in in that community. Um and I think it's important. >> know like Pivotal Labs and a lot of the organizations like are kind of I guess best practice shops in the sense that they bring people in, they kind of steep them in the the Rails way of doing things and and uh a lot of it's tied to you know, Agile methodologies. Um Clean Code is a popular book among uh and then like the Pragmatic Programmer books and stuff like that. So people are kind of already steeped in this culture of craftsmanship. And so it makes it easier to swap in one Rails dev for another, for example. Yeah. So So those are all huge advantages. And I guess now um that thanks to the work that you and uh Andrew Kane have been doing and a bunch of other people, uh you can continue to use Ruby and there's no reason to migrate away from it uh just because Python may have the absolute advantage in terms of like tools and libraries, the actual business value of those specific those Python specific libraries that haven't yet been ported to to Ruby are not necessarily so great that you need to necessarily use Python for it. Does that make sense like? Was it Was that a Is that a good recapitulation of what you said? Yeah, I would say I would say that's true. Yeah. Awesome. That's a good >> Well, it's It's been an absolute pleasure, man. I've learned a lot from you and I've really enjoyed talking with you about like how you're selective about whom you apply for uh and and like just how important it is that there is a good culture fit at uh with between you and the organization you're applying at, um the role of building your reputation through these talks. You attend tons of conferences. I think you Test Double had like some policy where you could basically Test Double, the agency you worked at previously under uh Justin Searles um um had a policy that if you can get a conference paper submitted that they will like essentially pay your way to that conference so you can present. That was that was that was a great idea. >> conferences have you been to? Oh, I'd have to check my It's been a lot. >> dozens? It's it might be in the dozen or not. I Maybe not quite a dozen, but it's it's been or Yeah, I've probably been to almost as many conferences that I've talked at cuz a lot of the conferences I went to I end up speaking, but yeah, it's it's quite a handful. Yeah, and like what would be your humble like just as a last question? Mhm. If somebody wants to get involved in conferences, like is it worth it to go to an in-person conference in 2026 when everything's online and there are Discords and there you know, subreddits and and there like so many other places people could go to potentially talk about different things. Like do you think the in-person component of going to a big conference has been a big value unlock? Is it justifiable? Oh, it's 100% justifiable. I think I think even more so now, you know, COVID forced a lot of people home and so just this human interaction, learning you know communicating with other people is like huge. In fact, so much so that a lot of times when when I like I've started doing this more. I didn't do this in the beginning, but it there's this concept called the hallway track where instead of going to talks and I'm I'm fully about supporting talks too cuz but but instead of going to talk you hang out in the hallway and you talk with people. It's like well why would anyone spend $900 for a ticket that you may have paid for yourself you know, just to go into a hallway and talk with people. It's like cuz cuz having a high density concentration of engineers, like-minded people who are we're not just talking about software, coding, our craft, like talking about favorite craft beer, food, go out, you know, have a good time, go karaoke. Like that it's so meaningful. Like it's so much fun. And it's like life just can't be about sitting at a keyboard, working, working, working. I mean, that's fun, too. I love my work. You got to get out and do other things. Like you got to get out and meet people and and build your community. And and honestly, my my my take is like, yeah, I'm marketing a bunch to I'm meeting other people, but as as things shift in our in our world, you know, with LLMs and just you know, work going here and there, it's like your defense against change becomes your community. Like if you're standing by yourself and you're like, it's just me, I'm by myself, I'm applying to conferences or doing my resume, I'm trying to survive on my own, it's going to be really hard for you cuz there's a whole group of people that are talking communicating and helping each other out. Like recently, you know, I have a friend who's switching jobs and I was like, hey, if I can help you in any way, either cuz I've had to go through the negotiation process before or do anything, like look at your resume. I've reviewed resumes. A friend like like they are not going at a job alone. They're going at a job with 20 friends who are supporting them and helping them land the role both internally in the org and outside. Versus like if if if we go alone at it, it's much harder cuz you don't have all the all the support. And so, I think that's huge. Like be supportive, support others, have a good time, meet other people, you learn so much. Like I've learned so many different things. And people have the most interesting career paths. Like they're not even in tech and then they're at this conference. And you're like, how did you go from like music education to to this? Or or I think one of my coworkers is like music did did I was doing like tutoring in music and had a band and things like that. And now we're both doing AI engineering. And like it's like the paths are so interesting and you find out you know you look at someone's LinkedIn resume and you have this idea about how they got to where they were, but like the truth is like everybody's kind of finding their own path and it's, you know, it's less intimidating that way. Yeah, and I will say that like this is one of the reasons freeCodeCamp exists. I was a 30-year-old teacher who learned programming just to try to optimize and automate a lot of the back office stuff in my school before I got involved in freeCodeCamp and like started the project and then it's grown, but like organizations like freeCodeCamp like I meet teachers all the time who are in their 30s. I meet truck drivers. I meet people who in their 40s and 50s who were doing like corporate law and wanted to get out and do something else who have been able to learn programming and the developer community is it almost everybody like not everybody there are lots of people who have just got a CS degree and got their first developer job at 22 and stuff like that, but like like second career folks career changers are very well represented within the developer community and if you go to any conference you're going to realize that. It's not just the people who have been doing this since their daddy bought them a computer when they were 5 years old, right? It's going to be people who didn't even have computers till they were adults like maybe they got a smartphone and they went deeper into that and then they got a laptop and they went deeper into that and then they installed Linux and then there's this this whole progression of getting more and more technical and it sounds like you're you're meeting a lot of people like that. Going it alone is so much harder. You said I think that's a great note to end on. Build your community, find your internal champions when you're applying for jobs, be a chill human being and built like get a lot of friends. I imagine Landon you have a ton of friends out there in the Ruby community, in the consulting community, just going out there and making friends and the those relationships are going to help you going forward whatever you choose to do. That's the secret reason why I go to conferences now. It's like I'm I'm going to see a specific talk. I'm literally just going to see the people I know and make new friends a lot of times. Like that's like a huge portion. Yeah, right on, man. Well, I really appreciate you giving us so much of your morning and putting so much of your words down on audio. I would encourage everybody to check links to your blog, which I've linked to in the the video description {slash} podcast show notes, and to to be on the lookout for you cuz I'm really excited to see where you go from here. Yeah, thanks for having me on the pod and of course this has been great. I appreciate it. Yeah, well, everybody, until next week, happy coding.

Generated algorithmically for Search Engine Indexing.

Summarize Another Video