[0:00] Hello Theo. I know you stopped doing videos related to jobs and new devs. Sorry to ask, but how do I learn things? Do I nerd out and take my time or something else? Sorry if this isn't a good question. You should be sorry because it's such a good question I'm now stuck here making a video about it. But yeah, this is harder than ever to answer and I'm going to do my best. But the right way to learn and grow and find success as a dev has changed a lot. The reason I used to do so many videos about this is because at the time things [0:30] hadn't changed too much. I had went through this all myself eight or so years prior and as such I was able to talk about my experience and it was very similar to how things worked at that time and I know thousands of devs have found success following the same footsteps I did whether or not they even heard about it from me. There's even dozens in the chat now that got their start in their careers by doing the same things I did after hearing about them from me. Things have changed a lot. And I will admit I might not be the best [1:02] person to talk about it simply because it's different from how I got in. I learned, I grew, I found my success by doing things a way that doesn't necessarily work anymore. And as such the recommendations I'm about to make aren't based on my experience doing it. They're now going to be based on my perspective externally for how to learn, how to grow, how to get hired, how to find success. And if those are questions you have, I think this video will still hopefully be helpful. If you made it out on the other side, I think it's even [1:33] more important you watch this because I don't want us to pull the ladder up from behind us. There's a lot of people who got into this stuff when it was easy to because there just weren't enough devs and it's unfair for us to make it hard for people who could potentially be incredible devs to get where we are now. So I'm going to do my best to explain all of this while also acknowledging the fact that if I was in this position right now, if I was 21 and finishing up college today instead of 31 and ranting to college students today that I might not have made it. I don't know if I [2:03] would have found success the way things are today. I don't know if I would have been able to get a job, be paid as an engineer and do all of the things that we expect to do in the field. And if I can't make money from coding I've got to make it somehow. So let's take a quick break for today's sponsor. It's time to face the facts. AI models are kind of stupid unless you give them access to the web where they can collect all the information they need to behave better. I can't tell you how many times I've had my AI agents not do the right thing because they just don't have the right info. And maybe that info isn't on a place that it has access to. Even if it's able to do like curl calls to [2:35] various sites, it might not be able to get the info you need much less be able to do things on the web pages that you want to navigate. Unless you give them a real browser like BrowserBase. BrowserBase has figured out how to let agents do everything you'd want them to on real websites and they do it in a way that feels just as reliable as a normal API does. That's why everybody from Microsoft to Lovable to Ramp DeepMind all use BrowserBase for running their cloud browsers. Obviously their browser as a service is their killer feature. The fact that your agents can spin up a real browser to do real work on real [3:05] websites is awesome. But sometimes you don't need that. Sometimes you just need to do a web search and get some information or fetch data from a given URL. They now have support for both of those use cases as well. They have their own search API built in that is really easy for agents to use to get the info they need as well as a fetch API where you can just let the agent go to a URL that they found and collect all of the info in HTML, JSON or markdown, whatever your system prefers. BrowserBase transforms the entire internet into an API that your agents can use to do everything whether they need a real browser with authentication and the [3:36] ability to interact or a search engine that they can use to get the context they need, BrowserBase has you covered. Unleash your agents on the web at Unleash your agents on the web at slate.link/browserbase. Sorry about the slightly cringe sponsor cut. I got to put those in. Bells have to be paid. Teams got to be paid. But again, thank you to Fuzzy for this awesome question. I'm going to do my best to break down the ways I've seen work for learning and growing as a developer today. The reality is that being a new dev does kind of suck right now. There's a lot of things that are good, but there's also a lot that are [4:07] bad. The two key things I want to talk about are how do you learn, but also how do you find success in the space because sadly these are very different questions now. They didn't used to be, but now they kind of are and that that sucks to be frank. I don't feel like talking about the numbers and all of that. I've done it before. I just want to talk about how I think about this right now. First let me talk about the split of devs. I'll put a nice good old average line in the middle here and we'll say roughly, it's not exact but it's close [4:37] enough, that each of these sections is about 25%. One of my favorite mind [ __ ] is explaining how averages work in an admittedly kind of silly way. Imagine a perfectly average intelligence person. Somebody smack dab in the middle. They're not smart, but they're also not dumb. They're right smack dab in the middle. If you somehow test on general knowledge, they would get a C every time. The perfect average person. Have [5:07] them in your head? Nearly 50% of people are dumber than them. That is a thing I have to digest every day especially because I and many others that have made it far in the world that we're in, we don't surround ourselves with average people much less below average. And I would also argue most people don't have average set correctly because depending on where they are, average might be lower or higher depending on the people that they're surrounded by. The point I'm trying to make is that first off, your definition of average is skewed by the people [5:37] around you, but second off, if you actually do have a measure of average that's even slightly realistic, roughly half of people are below it. And those are two points that were really hard for me to digest early in my career and I still feel like I screw things up around this when I try to do any type of reasonable planning. I am regularly surprised by how I mean I will be frank how dumb the average dev is. I know people who are making 350k a year that can't figure out how to SSH. That's absurd. They squarely fall admittedly in [6:10] like this area or honestly I would argue many of them are in this area. So why do I care? Why am I talking about all this? Well, I'm going to make up some numbers just to make this easier. Let's say that there's 70,000 tech jobs created a year and there's 100,000 new CS grads every year. Again, entirely made up numbers didn't even check to see what the real ones were. I changed them twice while filming. Just want to make a point here. So I'll say there's 70,000 new tech jobs and 100,000 new CS grads. That means that there is a 30k surplus. This sounds like a death sentence immediately, right? Like if we have more grads than jobs, it's all over. Well, less than [6:42] half of people are doing work that is directly related to their degree if they have one. So as absurd as it sounds, it's not necessarily that bad. So if you see these numbers and you look at this chart, you're like, okay, so roughly 25 to 30% of people don't have jobs available. So obviously that means this whole section here like everybody from here down just doesn't get a job and everybody to the right of them does. Well, sadly no interview process is good enough to accurately place people consistently across this range. Even the [7:14] best interviewers are kind of I'd say one or two standard deviations in either direction for their interview process. So here's our target. We place this here based on the candidate's potential. Funny enough, when I was at Amazon we had a system for this. The interview loop required you to score each candidate a number one through four. And no, you can't do 2.5. You have to give each candidate a one, a two, a three or a four. The reason that we didn't do an odd number is because if we did, everyone just picks the number in the [7:45] middle. The even number forces you to go over or under the mean. The way that this was framed to us is a two you wouldn't want to hire but you wouldn't be too upset if they were. A three is you would hire them, you could see yourself working with them, but you wouldn't be too upset if they weren't. A one is, at least the way I framed it was, I will quit if you hire this person. And a four is I will quit if you don't hire this person. So it's our job to try and place each candidate that we talk to in one of these four columns. But we are not accurate. I've had times [8:17] where I gave a candidate a four and half of the rest of the panel gave them a two. I had times where I gave the candidate a one and the rest of the panel gave them a three. So these systems are not necessarily accurate, but that's not the point. The point is assuming everybody does their best, we can get a rough idea as to how much we should or shouldn't hire this person. But as I was saying, this is not perfectly accurate. In fact, it's far from it. So I'm going to take this and again, imagine this middle line here is where we think a candidate is. Let's say we're interviewing, who am I going to pick to bully here? [8:48] I want someone funny. Oh, Krish. Krish it is. You have been volunteered for tribute, Krish. For those who don't know Krish, he's a I believe no longer a college student. Congrats on graduating if you finally did. Krish was very competitive with me in Advent of Code. He actually helped manage the moderation for Advent of Code in our Discord server way back when I first started doing it, when I first started getting attention. I've DM'd with him a bunch. He's a very talented dev. He knows his lead code [ __ ] very well. He's in his last two weeks of college which means he's probably doing job interviews. From everything I know about Krish, he's [9:20] absolutely top 25 percentile of capabilities a dev for sure. He might not have the industry experience yet because he's a college student, but he's a very, very talented developer. Apparently he also won the Vercel hackathon and has also built a clone of Vercel. All of these things make it pretty clear he falls in the top 25% at least to me based on what I know, the interviewing I've done and everything else I know about Krish. As such, I would pretty confidently place him roughly here. But you'll notice something about what I drew here with my [9:51] little reticle. There's a range. It's quite possible he's actually quite a bit over, and he's actually top 5% to 1%. But it's also possible I'm wrong entirely and he goes the other way, and he's actually just barely in the top 50% tile. Nobody's judgment is perfect, and you have to account for that fact. There is a range of left to right here, where if I think this person is in the top 20%, they might be the top 10%, they might be the top 50. If I think somebody's this far, it is very unlikely that they're actually like all the way down here, but [10:23] it's possible. There's another standard deviation here effectively, like another curve based on where I place the person relative to where it's most likely they actually are. When I say I think this person's top 10%, I don't mean that they are definitely that. I don't mean I'm guaranteeing this is where they land. I'm saying it is my belief they are here, but the range could be in each direction. So going back to these numbers here, remember every company's goal is to hire the best devs, but if your devs aren't that great, or you're [10:54] just being realistic about what you're working on and who you can get, you know these numbers, too. Your goal stops being hiring the best and starts to be higher average at least. So assuming your company's trying to hire average, you end up in this range, where if you say this dev, I believe this dev is average, there's a reasonable chance that they're slightly above, and there's also reasonable chance that they're slightly below. But remember what I said earlier, where depending on what you're surrounded with, your understanding of average can be very different and borderline wrong. If your company's already shifted to this line, like if [11:26] your average engineer at your company is not average of the rest of the world, if they're like bottom 50% tile, and they're looking for people that feel average to them, this starts to happen. Might not go all the way, might stop here. It is possible for those companies to hire above average devs, but it usually happens accidentally. It is very common that they hire these below average devs. The reason I am bringing this up is because this area here could actually get jobs. It was admittedly, depending on how you defined it, kind of [11:57] accidental that this would happen, but this area here, this range below the 25th percentile, the bottom 25%, could get jobs. Absolutely they could get jobs. It was harder for them than people all the way over there, obviously, but below average devs and far below average devs were still capable. I know this for a fact because I was able to get a job. When I got my first job, I was a very technical person. I knew how to do things on computers well. I knew how servers worked. I often joke that I knew [12:29] GNU screen, Git, and SSH before I wrote a line of code because I did, but I didn't know how to write and deliver software that functioned. I remember in my job interview at Twitch being asked what language I wanted to use and freezing up because I didn't have enough confidence in any specific language to pick one. So I kind of just went with C++ because I had written some recently and it was what I thought about, and I just could not solve the problems I was given in C++ because they ended up being really weird memory allocation-wise. I don't remember what the problems were, I [12:59] just remember bombing. I bombed so hard that they changed out one of my interviewers to be somebody more front-end focused to give me some front-end scrolling questions, when I had done almost no front-end. And I learned after they literally brought Jeremy in for my interview because I bombed the C++ I had done so badly. They assumed I must be a front-end dev. So they brought somebody else in even though I wasn't a front-end dev, and I bombed that even harder. But since two of the people in my panel really liked me and saw me fitting the team well, [13:30] even though my skill set didn't fit yet, they let me on on a contract. So I didn't get a full-time offer when I joined Twitch. I got a 3-month contract with the plan being if I did well, I would get a full-time offer, and then I did okay, so they gave me another 3-month contract before the full-time. I think that worked out for them. It was a big risky bet, and I'm sure for every Theo they got out of that, they got some [ __ ] too. In fact, I I know that I had to fire a handful of them. But that was a risk they took because based on their calculations, I was here maybe. [14:00] Like they probably thought I was here-ish, like just below average. I was actually probably here-ish, but they were hoping with time I could end up over here and maybe even over here, and depending on who you argue with, either they were very, very wrong, or they were pretty damn right. They were also in such a crunch to hire engineers who understood anything about media because they were expanding the media side, and they were building this non-gaming team to do the live streams for Bob Ross, Power Rangers, and all that, and I got to write the code for that, which was super fun. They let me in because they felt like I fit and got [14:31] along with them well enough to take the risk of this range, and that's how I got in and how I started to really learn how to code. But it's important to acknowledge a big part of why that happened. All of that stuff matters, but the biggest reason by far, they didn't have more promising options. It was hard to find good devs. It was really hard. This was an era where Google would hire people not to have them work, just to keep them out of Apple, just to keep them out of Microsoft, just to keep them out of other companies they were competing with. Could my team have spent [15:01] more time and maybe found a better candidate? Perhaps. But in 2017, they didn't have a lot of options. Well, technically I was doing the interviews in 2016, so in 2016 they didn't have a lot of options. They needed people, they needed them fast, they liked me, so their options were hire this person we like that might not be that good on this contract where we can kick them out in 3 months if they suck, keep interviewing other people, which they did do at the time, they were continuing to do interviews in that window, too, or we could not hire him, wait longer, and hopefully find somebody better, but we [15:31] might end up stuck with somebody who's just as bad at coding but doesn't fit the team as well. And they decided to roll the dice. So even though I didn't meet the technical bar, the potential to meet the bar combined with the urgency of getting somebody on the team and the vibe match that they liked me led to me getting the offer that I went super hard with to try my hardest to keep that job then ending up in the career path that I'm in today. And here's the harsh I'm in today. And here's the harsh reality. This isn't the case anymore. It just isn't. Because there were so few good [16:02] engineers, because the interview process was flawed in a way where they couldn't really know how bad I was, because the team had this crunch, and because they liked me, I was able to get the gig. That's not true anymore. I got to learn at a job I shouldn't have had. I got to be paid 125k a year to effectively learn how to code. And that sucks. I was okay at data structures and algorithms, none of that matters for real work. I had some popular open source projects, they were all [ __ ] slop. I didn't know how to be a good dev. I kind of looked like [16:33] one. I could absolutely talk as though I was one, but most importantly, I was just fun and the team liked me. So what the [ __ ] do you do now? Hiring is always a function of a few things. Urgency, likeability, and competence. The company fully controls the first one, how urgent is this hire to them? Likeability is 50/50. This is your responsibility to be likable, and it's their responsibility and their role to have a culture that people can like and be involved in. And then competence. This one's mostly on you. Do you [17:04] actually know what the [ __ ] you're doing, and can you prove it in the chaotic scenario of a job interview? This is also partially on them because most technical interviews suck, especially right now because AI [ __ ] everything. But these are the keys to getting that job. Historically, you could not have this part and still get the gig because the urgency was so high, and if your likeability was reasonable, you'd be fine. So to the frat bros that got their degree mostly by cheating off of the nerds' homework, that don't know how to [ __ ] initialize their [17:36] terminal, they don't know what SSH is, much less what it stands for and how to do it, those people could still somehow get jobs, and this was the somehow. They were likable enough, and the competency measurements were bad, and the companies had such high urgency, they would end up in. And some of those people ended up getting decent. I'm one of them. I know plenty of others where this is the case, where they got in despite their lack of skill for other reasons, and it went very well for them. This meant that you didn't really have to be that competent to get a job. You had to maybe sound [18:08] competent, that would help, but you didn't even necessarily have to if you were likable enough. Now there's a thousand people who already applied for the same role, many of which have other experience that got laid off, that appear much more competent and likely are much more competent. And do you have to fight them in the interview process? And if I'm being frank, fresh out of college, you're probably not going to win there. It is really hard to look more competent than the person who has 5 years of industry experience. I also want to be clear this isn't totally over. I'm not saying like this is fully dead and doesn't happen. As Chris just [18:39] said, he knows people who are graduating and have jobs who barely can use Git. Absolutely. This will always happen, there will always be more things like this, but there's less of that. There is significantly less of that simply by the nature of God, I've made it this long without saying the two letters, AI. AI makes incompetent devs look more competent in ways that are annoying. It means lurking somebody's GitHub is no longer a trustworthy thing. It means the quality of their portfolio no longer means anything, the number of projects they've shipped barely means anything. It is easier to appear competent now, [19:09] and that sucks. That hurts the people who are decent but don't know how to show it yet. So what this means is you got to take the two that are in your control, the likeability and the competence. These are the two things you can actually do yourself and work on and better your position with. And to go back to the original question that started all of this, the question was not even about jobs. It's about my old videos that covered job stuff, but the question was much more about learning things and nerding out. That's this side, the competence side. How do you get good enough that you'll never be a [19:39] bad hire? How do you get good enough that the people with more experience than you and more fancy resumes than you would be a worse decision for the company than you are? If I knew enough the answer to that actually falls a little more on the likeability side than you might think. So, we're going to put this aside for a tiny bit longer, focus on the likeability. Going to ask a weird poll question to chat now. On a given day, like an average day, are you the best dev that you hang out with in real life? Not talking about the internet, and I want you to be really honest. I know a lot of you think that you suck [20:10] compared to all the people you see online. This isn't about them. This is about the people that you hang out with on a day-to-day basis. Work absolutely counts. Yes, work 1,000% counts. If you go to an office in or like lunch or dinner and hang out with people, like spend time and exchange words is what I mean. Do you exchange words IRL with somebody who is a better programmer than you? I guess I phrased this wrong. Like, if there's no devs better than you in a given day, say yes. If there are, say no. I should have framed this inversed. And you might have seen a few things in [20:41] chat already that kind of give away the premise here. I live in the middle of nowhere. I might be the only dev in my city. Does my dad count? I don't have many dev friends IRL, sadly. I work many dev friends IRL, sadly. I work remote. If I was in office, probably not. Can't where I am right now. I live in the least educated city in America. I'm the only dev I've spent any time with in the last 25 years. Do you see why I asked this? There are a lot of devs who, to be frank, I don't know how else to put this [21:13] other than the word lonely. I'm very fortunate that I didn't really have that experience. When I was a freshman in high school, there was a bunch of seniors in my school that were really good devs. They were hardcore Linux nerds. They Linux pilled me when I was 14. And then they graduated, and I had a year or so of being the like only person who cared a lot about dev, but eventually my other friends started getting interested. And we got to nerd out about these things. I got to hang out with devs every day. Who was better, who was worse, arguable depending on a lot of things, but we all liked it [21:44] enough. And I wouldn't have been comfortable saying, other than like maybe my sophomore year of high school, from when I was 14 to now, I am not the best dev I spend time with IRL in an average day. That is huge. That means that every day I have a huge chance to better myself, to improve my capabilities as a dev, to learn, to grow, to push them as well, just by living my day. I don't have to put effort in to hang out with more capable, [22:15] competent technical people. I'm now at the point where they just show up in my apartment. I'll end stream sometimes and go downstairs, and there are just maintainers of important projects sitting there excited to hang. You caught on, chat. One of my favorite quotes ever, "If you're the smartest person in the room, you're in the wrong room." Absolutely. There is no hack to fix this, other than, if you can, getting a tech job in SF and moving here, because then it'll be hard to avoid developers. But you can artificially manufacture this. It won't [22:47] be the same because it won't be in person. But you can manufacture bridges for this gap remotely. And a bunch of people in my chat are already doing this. Oh, like Dara here, who took one of my random quips in a video about how I do better design with AI by telling it to make five designs at once, turned it into a benchmark, and then linked it to me right as I was about to cover design skills for models, thereby quickly becoming one of my favorite people in the community. I wrote the [ __ ] out of his channel. I highly recommend checking it out. He's going to go places. Correct me if I'm wrong, Dara, amongst your [23:18] friends at college, most of them would call you one of the better devs at the school. I'm not asking what you think. I'm asking what your friends think. Do your friends consider you one of the better devs? Yep. Cool. Called it. So, Dara's friends luck out here, because Dara's friends get to ride his coattails to an extent as he dives into these communities and spends his time taking study breaks to come engage with us, watch our content, and be involved in the community. Or people like Gabriel, who was making $11 an hour despite being one of the best [23:50] full stack and front-end leaning devs I know, being so useful in my chat and in my community that one of the companies I love working with picked him up and brought him on full-time, at least quadrupling his salary, and also surrounding him with a ton of really talented devs he could work with. Gabriel, correct me if I'm wrong, but even your insecure ass would say you were the best dev at your last job, right? Yeah, that's what I thought. This is somebody who I consider one of the best devs I know that himself said he considers himself maybe median, like 50th percentile. Even he knows that the [24:22] place he was at before, he was the best at. And here's the harshest reality. Remember this, the like how good do I think a person is? We're going to use this differently. The middle place is you. You can't know where you fall here. No one does. Nobody actually knows where they fall in this range. People can have a good idea, but if they actually get it right, it's a lucky guess. You are the middle here. You can't know where you are, but hypothetically speaking, let's say you are actually top 25th percentile. What's the point of this range now? The reason I left the range [24:53] here is everybody outside of it makes you a little bit uncomfortable. You can go about one standard deviation in either direction from your own capability, and if you have to go further, you get frustrated. About a year ago, I was mentoring an old friend with her codebase that she was trying to build, and it was the nastiest pile of [ __ ] I've ever seen in my life. I found at least eight different ways to fetch data despite there only being two endpoints. Just loading the initial data for the homepage required seven actions [25:24] to be called in Redux, just to trigger the fetch calls that all had different ways to populate the data. All vanilla JavaScript, obviously, because according to this dev, TypeScript just seems like too much work. And the backend was a separate repo that was the worst Express app I'd ever seen that was apparently intentionally using an outdated, insecure Express version that was a major behind, all because, despite this person having a job for 2 years, their professor said this is how we should build. So, they [25:54] kept using the template that they got in college for starting new projects. And they didn't even hit me up for code advice. They were apparently hitting me up because they wanted me to tell them how good the project was so they could go raise money on it. I don't think I've ever felt more pain in a technical conversation in my life. I would rather try to explain memory leaks to my mother than have to read that code again. I don't care where you put me on this chart. I'm at least here. So, having a conversation with somebody here made me feel physical pain. I don't feel bad [26:26] telling this story because I have been told by this particular dev that they don't watch my videos because they're too boring. Even if they did watch this, they wouldn't know I'm talking about them because they're also too arrogant to accept the fact that their code sucks. So, the reason I'm bringing this up is because people get uncomfortable if they are too far above or below the people that they're surrounded by. And I am very lucky here. I am the ultimate benefactor of this reality. Because if you're in your end years of high school, [26:57] or you're starting college, or even if you're pretty far into college, there's a pretty good chance that you are in like this area. It is pretty damn hard to be above average if you've never had a job. So, what happens to those rare devs who are? What happens to the people like Maria who are under 20 and in Chile that don't have all of these great devs around them. Maybe they have some friends in high school who are learning how to code, but they're like figuring out Hello World in Python while Maria is [27:28] rebuilding T3 code in the terminal herself. They're teaching Python 2 in school. You get the [ __ ] point. When you are surrounded by people here, there is nothing more painful than being here. And for devs like Maria, devs like Dara, possibly even devs like Fuzzy here, I do admit I haven't interacted with them beyond this, so I don't know. There is nothing more painful than being here, being in this higher range when everybody you know in the real world is [27:59] stuck here. So, you end up looking for somewhere to go. You end up desperate to fill the hole you feel in your heart. Because this gap you perceive it every day. It manifests as frustration, as depression, as confusion, as insecurity. It manifests in all sorts of different ways. And if I've learned anything from talking with my audience as much as I do, apparently more than I'm supposed to as a creator, according to all the other creators, managers, and businesses I talk to, turns out a lot of creators [28:30] don't really interact with their audiences beyond like thanking them for subs. I do. I talk to a lot of people, and I really perceive this gap. A lot of them hang out here because it feels less lonely. A lot of them are here because they are tired of being surrounded by this, and they want to be talked to about things in a way that feels less like learning Python 2 in high school. And even if they're actually here, and their high school class is in the bottom 25th percentile, they are just outside of the range of their peers, and [29:01] it is just frustrating enough to be a little bit sad. And maybe my content is slightly above where they are. Maybe my content is here. The loneliness is enough to push them over. It's enough to motivate them to cover that gap, to learn what they have to, to nudge themselves to the right, because anything is more appealing than spending more time with the [ __ ] down here who don't care enough to learn, that are only doing this because they heard from somebody on the news once that they might be able to be paid a lot of money. And I know a lot of y'all, especially the people in my chat today, are here [29:32] for this reason. You guys are all here today at 6:00 p.m. on Easter Sunday because the alternative is being lonely. And don't say that finding me is a [ __ ] miracle, the first time you've ever had the balls to send a message. It's not. If you didn't find me, you would have found somebody else. I'm not the important part here. The fact that you're looking for these things at 3:00 a.m. Look at all of these 3:00 a.m. people watching right now. Drop your time. What time is it where you're watching from? Drop it in chat. I want timestamps. 8:00 p.m., 3:00 a.m., 9:00 [30:02] a.m., 9:00 p.m. Look at all of this, a.m., 9:00 p.m. Look at all of this, guys. You're not [ __ ] normal. You're lonely. You're filling a hole. And that's not a bad thing. YouTube chat's even crazier with the range here. You guys being here is what's incredible, not me. The fact that you want it so bad that you wake up early to watch, that you stay up late to stay part of the community, even though you guys know the video is going to be on [ __ ] YouTube. You don't have to be here. You don't have to show up here and [30:34] be a first-time chatter. How many first-time chatters are at 3:00 a.m. first-time chatters are at 3:00 a.m. now? You don't have to be here. You know that. You could be going to bed and hanging out with friends tomorrow. You're not even participating in chat, but you're here. Here is why. Albihax here said it perfectly. It's nice to hang around here. It feels good. Now we need to go back a little earlier cuz this is all part of my plan. Remember the three things that cause people to get hired, urgency, likeability, and competence? You didn't [31:04] like hanging out with your peers in high school talking about code because you were ahead of them. It felt bad. Being around people who are multiple standard deviations away from you, better or worse, doesn't feel good. And you're here not for me, not cuz I'm some super genius and if you miss out, you're going to fail and not get a job and suffer. You're here cuz you like being here. You're here because you like hanging out in chat. Maybe you're not participating, but you're reading it still. You're excited when you see things. You click the links when something cool pops up. You're learning. You're growing. You're [31:35] embedding yourself. You like being here. And here is where you can start gamifying your future because it goes both ways. The same way you like being here, you can also be liked, to be frank. The things that get you excited to see when I'm live and come hang out, the things that make you excited when you see one of my new videos pop up, the things that make you excited when a cool new library appears on Twitter and you get to go dig in and try it, the things that hype you up when you hear that there might actually be a tech conference in your general area you can go to. That feeling is also really [32:07] powerful when you're trying to make career decisions, both for you and the people who can hire you. You got to lean in a little more. The reasons you like being here also make you likable. Share them. Be here. Get involved. Be more like the awesome people in my community who are in my chat, who are dropping all these cool things, who are as coming out with all of these interesting, exciting people, and do it not because you feel like you have to to get a job. Do it because you're also interested and excited the same way they are. Don't show up and spam me with your [ __ ] [32:37] link to your portfolio. Nobody cares. Don't ask me to review your random side project I don't know anything about. Show up because you care and are excited, and show us why. You don't do that by just spamming links to GitHub stuff or random things you built. You do it by asking questions, by being interested, by responding to things people bring up, by remembering when I say, "Yo, does anybody have the link for this thing?" And you remember you saw it on Twitter, and you might have it saved, and you go find it and drop it in chat. The fact that you're here means that you care more. [33:09] You got to lean into that. Let's go back to that original question. How do you learn things? Do you nerd out or take your time or something else? This goes to that competence thing. In order to improve your capabilities, you have to be able to measure them, or you are just going to get trapped in Dunning-Kruger. And a big part of preventing that is surrounding yourself with people who get it. Ideally, you find a way to do this in person. I was very fortunate to be handed one. Apparently, people don't necessarily know what Dunning-Kruger is. If you're [33:40] not familiar with the Dunning-Kruger effect, it's a cognitive bias where as you start learning a thing, you think you're really good at it, but the more you learn, you realize, "Oh [ __ ] this is harder than I thought." And you realize you're actually [ __ ] at it, and then ramp up from there. Silly example, I'm going to use my YouTube channel here. Starting by oldest. My first video is just me posting a skate video. It doesn't count. I just left it out cuz I think it's funny at this point. My next video was building a modern full-stack app, and this was just me going live showing off my stack because people on Twitter wanted to see it. I had no followers or anything. It's like my [34:11] little crew of like 100 people. I did a stream where I showed off my stack, and I put it on YouTube cuz you wanted to watch it. They were asking for it, and they didn't like Twitch VODs. So I did that. It went way better than expected. And then I convinced Dan Abramov to do a mock job interview with me because he was doing mock job interviews, and I wanted to show how you can do a good technical interview with somebody who doesn't know LeetCode. I was very proud of that. These two videos killed. This one did okay. This one did really good, and it brought this one up with it. The original T3 stack video was beating the Dan Abramov one on a basically brand new [34:41] channel. This is the video a lot of people came in. Ones in chat if the first Theo video you saw was the Dan Abramov slaying the life code interview. I want to see how many of you OGs are still here. [ __ ] yeah. Crazy that it's been 4 years. Way more of y'all than I expected. Was it the tutorial? That's even cooler, honestly. I think it's cooler if you saw the T3 tutorial, but that probably means it was later cuz that one only got like 500 views before the Dan Abramov interview, and then that boosted both up a ton. So I bring this up because after these two, specifically after how well they both [35:12] did, I was convinced I was a god YouTuber. I just stumbled into this, and all of my videos are doing great. Every video I do is going to break 100k plays. I'm going to be the biggest tech YouTuber ever. And I specifically remember the DM that I sent to Ryan Carniato, the creator of SolidJS, because I was convinced that my video where I ported my roundest app to SolidJS was going to be just as big as all the others, that I would blow up Solid. I would be the reason everyone [35:42] used it. And I was DMing him. I had a group chat with him and a few others. I was so excited that I was going to make SolidJS this massive thing. And then I put it out, and it got like 500 plays in 2 days. It has since grown a lot, but that was my Dunning-Kruger effect. I had two videos. They went really well. I was still new to YouTube. I was like, "Oh my god, I'm a god. Everyone else sucks." And then I kept going, and it didn't go great. My next video got 10k plays. Then my next two did okay. They didn't initially. They slowly grew. This stop being create-react-app one. I would argue this is my first ever good video, [36:15] where the video itself is good, not just like me talking or something novel like I did an okay job making this content. But then bombed, bombed, bombed, okay, surprisingly good, bombed, really good, okay, okay, bombed, really good, really good, but like it took a minute for me to figure my [ __ ] out. The thing I'm trying to emphasize here is when you're starting, you will feel much better than you will when you get halfway. We go back to my diagram here. People on this line feel smarter than people on this [36:45] one. The people on the bottom 25th percentile line feel like they know more than people here. And this has resulted in a very interesting thing where people like Gabriel in my chat, who are pretty far to the right of this chart, are experiencing Dunning-Kruger and have ended up plummeting in their self-confidence as a result. The more you know, the more you realize you don't. So that's Dunning-Kruger. So how do you keep yourself from falling for that? How do you keep yourself from being here and thinking you're great and then doing job interviews and failing? [37:16] Well, most of y'all, especially those watching live, have already figured out step one. Hang out in communities that know more about the thing than you. I'm being distracted. Fuzzy, define imposter syndrome without looking it up. I want to hear your definition of imposter syndrome. Yes. But the other side of that is when you think you're smarter than you are, it's Dunning-Kruger. When you think you're dumber than you are, it's imposter syndrome. The problem with imposter syndrome is you get nothing talking about it because people who are experiencing it are like, "Yeah, it sucks that there's smart people who think they're dumb. I'm not one of them. I'm dumb." Your actual knowledge in the [37:47] gap between that and your perceived knowledge, where you don't know much, but you feel like you're really good, then you know a bit, but you feel really dumb. This can also be imposter syndrome. But imposter syndrome is when this is regularly, consistently lower than your actual skill level. You could argue that this part here is imposter syndrome. I know the actual Dunning-Kruger paper didn't specifically say this. It is effectively now just a coined a phrase, but it's doesn't matter. The point stands. The reason I bring all of that up is because you [38:17] can't really measure your competence, whether it's Dunning-Kruger or imposter syndrome or something between or some combo of the two. If you're not surrounding yourself with capable, competent people doing the things that you care about, you can't really know where you are. The best way to know is to be told. The second best way is to measure yourself against the people around you who are also doing the thing. So in order to get more competent, in order to get smarter, in order to get better at the things you care about, you need to be able to know what better is, [38:48] and you can't really know this unless you have the measuring stick around. And that measuring stick either needs to be handed to you by somebody else or built by you using someone else. So as silly as it is, the reason I slid competence over earlier to talk about likeability is that these two go together very well. The things you do to make yourself more likable and to surround yourself with things you like give you the tools you need to measure how good you're doing and if you're making real progress or not. It also will help give you good guidance as to what you could be [39:19] learning or should be learning or what other people who have the same interests in you are doing. And another very good call out from chat here, the surrounding can be virtual. It absolutely can be. In fact, for most people here, it probably will be because sadly, a lot of y'all don't live in San Francisco because not everybody can afford to live in a city where median rent is like 4 grand a month. And I get that. It sucks that it's so expensive to be here and there aren't other good tech hubs in the world really, but you can make up for this online. So how do we pull this all together? How do we go back to that initial question? How do we [39:52] actually learn and grow as a new dev? Is it better to spend your time nerding out or should you go slowly through all these things that everybody says matter? God, I have a lot of directions I want to go in with that thought. I'm going to resist the urge cuz there's so much. The biggest thing by far is to do the things you enjoy doing in the space and surround yourself with others who do as well. Generally speaking, I don't see a very enticing future for people who don't like coding in the code world. There are some people who hate coding that are pretty good devs, but if we go [40:22] back to this, I would be very surprised if people who hated coding ever broke out of the 50th percentile. Maybe there's a few who just had a really bad experience but are really gifted that are slightly above average, but the average person who hates code is a below average dev. And this is a dangerous place to be nowadays. So ideally you already like code and if you don't, you should try to find a way to cuz it'll help a ton. So assuming you found things you do like in code, maybe you found some front end libraries that are cool, maybe you're all in on these agentic coding tools that you want to make them go further and do more, maybe you're a [40:52] big fan of memory management and low level stuff, maybe you're a hardware person. Whatever you like building, whatever you like using software to create and put in the world or explore and go deep on, doesn't matter if you're building real products people can use or if you're deep in the trenches of it memory management. If you get excited about it and you see a post about it on Twitter and it makes you smile, that's probably what you should be working towards in general in the tech space right now. So once you have found those things, what do you do next? The first big thing is ask questions. I don't want [41:23] to make this a whole like stop using AI thing cuz it's not meant to be that. I actually did a very good job not talking about AI much in this video cuz I don't want it to just be about that. But instead of asking the AI for a solution, ask it how to approach finding one. Ask the AI how to think about these things. Ask the AI why your existing solution might not work and ask it specifically, can you give me one small hint to steer me in the right direction? Don't let it generate your solutions, let it unblock you a bit. Let it encourage you to go [41:54] deeper in things. AI is magical when it lets you go deeper in something you wouldn't have touched otherwise. It falls apart when it prevents you from going deeper. How is not the right question for AI? Do it is not the right thing to tell AI. Why is a much better question to ask. But that's not the only question you should ask. One of the most important ones I think you should ask and not even just to the AI, just in and not even just to the AI, just in general, is who? I think this might be my greatest career hack. I think this legitimately might be the reason I got away with so much [ __ ] so early in my [42:25] career and I think this is to this day why I have been able to find success especially on the content and open source sites. When I see something cool, I am more likely to go to the GitHub profile to find the creator of the thing than to read the code of the thing. I spend much more time on profiles on GitHub than repos on GitHub because it's so interesting to dig into who made the thing, why did they make the thing, what led them to making this thing, what experiences did they have that made them want to this thing to exist, how did [42:55] they come to making this thing, how did they choose to build this thing, how is it benefited them, are they still working on it, why are they working on it, and what do they have in common with you? If there is a project you find that speaks to you, something you find cool, chances are the person who built it has a lot in common with you. And if you spend way too much time reading into the details, you'll never get to do the rest. The lines of code aren't where the careers are made or the friendships are had. So if you see that thing that's cool, do a bit of lurking. Don't just [43:26] rabbit hole on the implementation, rabbit hole on the history of it, rabbit hole on the people who built it, on the people who use it. And Jake just pointed out a really cool thing in chat, got to start telling people that I like their code more. Yeah, there is no cooler DM to get as an open source maintainer than thank you for building this. It has been very helpful for me. No ask, no push, no thing that takes my brainpower and makes it so I can't do other stuff, no wasting of my time, just a smile. Do you know how many incredible early follows I got [43:57] when I had a hundred people who followed me on Twitter just cuz I like DM'd Ryan Carniato and said his blog post was really cool and then he thanked me and then I asked if I could give him some copy feedback to like make it read a little better. He was like, "Oh, [ __ ] yeah, I'd love that." And then I did it and changed how he writes. He has thanked me many times now for helping him with his communication, which is crazy. He's one of my [ __ ] superheroes. I just hit him up cuz I thought what he was doing was cool and that's how I got here. I made it to one of what I would argue is the actual coolest position in this entire industry [44:29] where not only can I hit up any person in the space that I find cool and probably get a response, I can also bring out cool people that I don't think are getting the attention they deserve. It's magical. There is nothing cooler than getting to help somebody get noticed by the community. Having somebody like Stypeet, the guy who made OpenClaw, do a panel with me and call me his first fan. Dan Vale in chat here said he hit me up once just to say thanks for defending game devs and now we've hung out and cuddled. Like not [45:00] wrong, we've hung out on our couch a lot now. Like you'd be amazed of how many cool things can happen just by hitting up somebody who did something cool. Dan's just a very friendly guy, don't overread this. In a world of tech, it's still about the people. I'll go even further with this one, foo force. In the world of tech where we're constantly surrounded by increasingly more boring, more sloppy AI [ __ ] the human aspect matters more than ever. A simple, poorly worded, slightly typo riddled, clearly written by a human two sentence [45:31] DM saying, "Hey, T3 code is so cool. It inspired me to build more." is so much [ __ ] cooler than almost anything you can do for me. My My assistant's gotten mad at me before because I skipped over two sponsor DMs to get to the one where a random person told me how much they appreciated my work. Yet I still have to scroll through 30 of them that are people spamming me with 15 paragraphs and links to all sorts of [ __ ] they want me to review for free for them. Don't do that. Just tell them you like their [46:03] work. And I want to set your expectations straight especially now that Twitter's DMs are [ __ ] they're probably not going to respond. But for every five to 10 of those you do, one or two might and at least half of them will eventually see it and read it. And even if they're too busy to respond which happens to me a lot, the feeling when you see that message is still great. And please don't do this to me. I am one of the worst people to do this to generally speaking cuz I am so busy. All the people who gave me as an example earlier did this years ago before my DMs were like 500 new people a day. Do this to [46:34] smaller open source people that don't have a big following or presence because they need it even more. You could easily be the first person to hit up somebody and say your thing is cool. I've even done this. I got a funny example for y'all here. This is a package I found when I was deeply hunting trying to overhaul the syntax highlighting in T3 chat. I put a lot of work in. I was about to build my own library wrapping Shiki and I randomly stumbled upon this library, React Shiki. It was nearly exactly what I needed. And when I found it on GitHub, it had two stars, the [47:06] creator and a bot. It might have even been less. I might have actually been the first real star on this if not the first star ever on this. I was blown away. It was so close to what I needed, but I wanted to make sure but first off that it was maintained and second off like if it wasn't that if I forked it, they'd be okay with that. So I did some sleuthing. At the time, Basim was not really on Twitter and I couldn't find his Twitter anywhere, but I found his LinkedIn. So I hit him up. "Hey man, really like your work on this. Just curious, are you planning on maintaining this long term? I will gladly fork [47:38] otherwise and give you all the credit in the world. We just really need this for T3 chat." He responds two hours later, "So sorry it took me a bit to get to you. I thought this was a fishing scam. I didn't think Theo actually hit me up. Yes, I plan on maintaining this. I don't know how you found it. Let me know if I can help in any way, shape or form. I'll drop everything to do it." Turned out he had an IT job in New York where he was making a not what you would expect tech salary. He was like repairing computers and networks for a living. He was [48:08] learning to code for fun on the side and built one of the best implementations of syntax highlighting I'd ever seen in React. When I learned he didn't have a tech job, my first reaction was to be sad that I didn't have any end rolls open cuz I would have loved to hire somebody like him. But I had been talking to others in the space as I always do, I do a lot of investing, and I happened to be talking to the founder of a company called Assistant UI. Assistant UI is an open source library for doing AI chats in your real apps. So if you want to build an AI chat in your React app for any of many different [48:38] things, Assistant UI is a lot of the pieces you'll need to do that. Assistant UI recently did Y Combinator. I think I had passed on investing but was still talking to the founder. And when I was thinking about Basim, I wanted him to have a real tech job. I wanted him to be out here. So I referred him to the first person I had in mind who was doing something similar, which was an open source AI chat UI library and back end. I referred him to Assistant UI thinking there was no world in which he would get this job but it would be a good first interview. I could get some feedback from the founder, help him get coached [49:09] and do his next thing, get another job somewhere else where he could be hired like 10 or 15 or so. Nope, no need. Got hired within a day and got to be the first engineer joining a very hot new AI startup from Y Combinator because I saw his two star library on GitHub, thought it was cool and DM'd him. And now he lives out here working full time at a really cool company. Had to do one interview to get it. He got the first job, which is insane. I've ever heard many a person who did not get the first gig and he did not ask. If you ask me to refer you to companies, I'm probably not [49:40] going to do it. This is a tell don't ask thing. Like I will tell you that I'm going to help you with this when it makes sense to. Do not ask me to get you a job. I will immediately write you off going forward, almost always. But Basim demonstrated so much [ __ ] competence that it frustrated me he didn't have a job. And also, he was going through some bad imposter syndrome. He had no idea how good he was. So much so that getting DM'd by Theo, he just assumed it was fake. Somebody trying to scam him. The point I'm trying to make here is that the best people to reach out to are the smallest [50:10] ones, the ones who are just doing cool [ __ ] Do it in a selfless way because that's the point. You're doing it as an act of appreciation for the things you find cool. That's why you should do this. But you'll end up benefiting greatly long-term, too. And this all goes back to that middle point earlier. It's the likeability. If you find something you like, tell the person who made it. Respond to them when they do cool [ __ ] And from that, you'll create urgency in them because suddenly they're realizing people care. They're going to push harder. They're going to put more effort [50:41] in and they're going to do more. They're going to have more impact. And they're going to remember you. I remember the first 10 people who hit me up saying the [ __ ] I was doing was cool. I'll never forget how cool it felt to have these people who I saw the work of that I thought was awesome hitting me up to tell me how cool I was when I was a nobody on Twitter. If I for any reason needed to get a normal tech job, I would never have to worry about that. Gabriel in my chat here will never have to worry about getting a job. Chris here will never have to worry about getting a job. And they didn't get there just by being really good devs. That part helped. They [51:13] did this just by being around because they care and are excited about these things. Strive to be the type of person that gets uncomfortable if they haven't thanked the creator of the thing they're relying on. So, how does this all relate to competence? Well, when you start asking the who's instead of the how's, you start to see how the people who do the things you like got where they are. And you'll start to see overlapping patterns between them. You'll see the things that Ryan Carniato and Shiv and Julius and Gabriel and all of these [51:44] people have in common. And then you'll just start getting better. I have lots of other small tips like don't rabbit hole too hard. There's a lot of benefit to rabbit holing and AI makes it easier, but try to explore the tangential things, too. Like if you're big on front end, try to do a little bit of design. Try to do a little bit of API design. If you're big on back ends, try to get a little bit into database architecture. And try to get a little bit into the front end and the bindings between it and the back end. If you really into databases, go up and down a layer. Wherever you are, try to go slightly left and right of where you are. Don't be scared of breadth just because you're [52:15] going deep. And don't be scared of depth just cuz you're going horizontally. The T-shaped engineer. Absolutely. But I don't want to just give that type of practical advice because in the end, all that matters is people. In a world where there's more AI slop, where we're being surrounded by all of this [ __ ] resume padding crap that is meaningless, where I'm getting DM'd 15 paragraphs by somebody who doesn't even speak English and threw it into AI, which no shame, by the way. If AI tools make you more confident sending in message in English because it's not your native language, I [52:45] love that. Just make sure they're under three sentences, please. The best thing you can do for yourself is be grateful for the people who are doing what you want to. And let that excitement, let that energy, let that interest bring you to the coolest possible places it can. In a world of slop, the only thing that matters is the human touch. So, find it, follow it, and eventually you can be it. And that matters way more than anything you can learn in class or from a book. Follow your excitement and you'll find yourself surrounded with really cool [53:16] people who share that excitement. I hope this gives you a little more confidence and direction in how you push yourself as a developer. And also, if you're one of these experienced devs that is noticing the junior struggling, that you take the opportunity to help them as things change. The world is very different than the one I grew up in, but that doesn't mean these parts don't matter. The humans matter more than they ever have. And if you're on the other end of this, try to be a good human to help the others who are interested in getting here, too. And if I got anything else, it's this. Don't lose hope. Things are crazier than ever, but if you [53:47] just stuck through this whole video, you're not going to be on that bottom 50% for long. You will find your way out the other end. Just follow the things that you're interested in and excited about, and I'm sure you will find your way to something awesome. It might take longer than you hope, but you will get longer than you hope, but you will get there. Until next time. Peace out.