What is a Top 5% Developer? - RUBY 644
The Rogues dive into who are top 5% developers, what they're doing and how to recognize them. They start out discussing how mid-level developers can move up and how developers can grow in more ways that technical skills.
Show Notes
The Rogues dive into who are top 5% developers, what they're doing and how to recognize them. They start out discussing how mid-level developers can move up and how developers can grow in more ways that technical skills.
Links
Picks
- Charles- The 360 Leader: Developing your Influence from Anywhere in the Organization by John C. Maxwell
- Charles- The Hero with a Thousand Faces by Joseph Campbell
- Charles- Building a StoryBrand: Clarify Your Message So Customers Will Listen by Donald Miller
- Dave- Ruby on Rails Link
- Dave- Track Lights
- John- Never Split the Difference: Negotiating As If Your Life Depended On It by Chris Voss
- John- How to write an effective developer resume: Advice from a hiring manager
- John- Yoichi Single Malt Whisky
Transcript
Hey, everybody. And welcome back to the Ruby Rogues podcast. Man, I miss doing this. It's been a little while. I'll give you all a rundown in a minute about what's going on.
But, yeah, today on our panel, we have Dave Camira. Hey, everyone. And John Epperson. Hello. And, yeah, I'm Charles Max Wood.
So, essentially, what happened was the COVID situation with the schools. My older 2 kids go to school that's, like, k through 9, and then my younger kids go to the other school that's k through 6 that they've been going to since my oldest started school. And the the school that they go to, they decided to go half days. Every school did something different. It's probably not surprising to anybody who has kids.
But anyway, so they scheduled the carpool right during this call, and then my wife wound up volunteering to help get lunches out at the other school at the same time. So I haven't been on because I have been in my car. So we finally got around to rescheduling this. I'm gonna have to do the same thing with JavaScript Jabber incidentally, But they asked her to continue with lunches through the end of the year. And so, yeah, we picked a new time for Ruby Rogues is is what's going on.
So probably more than you wanted to know, but that's where I've been. I've been in the car. Anyway, I kinda set this one up this week just because I've been thinking about a lot of stuff, and we didn't have a guest scheduled for this week. So I thought I would just jump in and talk a little bit about this stuff. And just to give a little bit of background, so I started talking to folks and trying to figure out what they wanted from the different podcasts and what they were looking for and what they were struggling with.
And the one of the recurring things that keeps coming up is how to keep current. Right? How to stay on top of all the things that are changing. And I think we're a little bit lucky with Ruby in that we're not frantically trying to keep up with what's going on in Rails or Ruby or anything else. Of course, we're gonna have a big Ruby release here on Christmas, I think, is is the rumor anyway.
But yeah. So people keep asking me that. And then I ask them why. Right? What you know, what's the outcome you're looking for, right, as far as keeping current?
And people also have, like, JavaScript stuff to keep up on and stuff like that. Right? Because most of us are doing web dev. And so it was, well, I want job security or I want to get a better job. Usually, it came down to something like that.
And so I started looking at, okay, how does that work? You know, how does that come together for people? And a lot of the junior folks also kept asking me, you know, how do I become a senior developer? Right? How do I get to that level?
And so all these things started playing together in my head, and I realized that over the last several years, either as a contractor or as an employee, in fact, for the last probably 10 plus years, the last couple of full time jobs I got before I went freelance, most of my freelance clients, and then the job that I recently got to pay the bills, the interviews went something like, we like your content. Do you wanna work for us? Right? Even if I applied for them. And so I realized that, essentially, then what a lot of this boils down to is it's not it's not getting the senior developer title per se, but it's really, you know, are you contributing to your team at kind of a most valuable player level?
And so I bought most valuable dot dev as a domain, and I was looking at putting some stuff together. And somebody asked me, well, what's the most valuable dev? And that's what I wanna talk about. So long winded, sorry, but that's what I wanna talk about is what that looks like. And when somebody asked me, I essentially kinda rambled for, like, 10 minutes that I'm not gonna do for you guys.
And then I said something about, well, they should be in the top 5% of developers available for whatever company they're working for. And that really helped me narrow it down because it's like, okay. What are the top 5% doing that everybody else is not doing? And so I'm curious as we get started. I have some ideas here.
But as we get started so for those top 5%, right, the kind of the top end developers that you work with or maybe people tell you that you're a top 5 percenter and, you know, the the things that they look to you for. What is it? What what are the top 5% of developers, the ones that are kind of the can't live without experts that are on your teams, what are they doing that everybody else isn't doing? I think the one one of the biggest traps that a mid level developer gets into is that it's the way they've always done it. They never explore outside of what are other options.
It's just they've always used Carrierwave and the Sourcery gem, and so that's what this brand new application needs to use as well. You know, just for the sake of the developer and familiarity instead of what's best for the product, what's gonna be most maintainable long term, I think a lot of traps that we get into as developers is we think about right now, and we don't think about the maintainability far end. And so I think that's one big thing that kind of separates a developer from a higher level is that a higher level developer is thinking about what's going to be the best tool to solve our issue right now. And one that 3 years from now, we're not going to look back on and say, why did we do it this way? It's gonna be something where they don't even think about.
And those are the good decisions that we make in that application are the ones that we take for granted, the ones that we don't even think about. And so I think that a lot of issues where you have this professional junior developer or a lifelong junior developer, and I say junior in the sense of they never really step up to the next level, so they could be the lifelong normal title developer or the lifelong senior developer, is that they never stick around long enough to actually see these changes that they end decisions that they are making today, how they play out and affect the future. Yeah. I I like that. I I like where you're going with that.
John, do do you have anything to add? So I think one thing that I would say So the first thing that I wanted to say is I definitely want to concur with Dave, though I've always described it a little bit differently to people. I always like to tell people that for me, you move sort of from being a junior to a mid level when you sort of like in your bag of tricks, you have like one tool for just about every job there is. Right? And then sort of for me, the demarcation between like the senior and the mid level dev is kind of more like as a senior, we understand that there's a lot of different tools that I could be using for a job, and we understand, and we've mastered the trade offs between using those different tools.
And so, I mean, this is this is total concurrence to what Dave is saying. Right? Like, as a senior, you kind of move as you begin to understand why I would use one of these tools and why I wouldn't. So so for me, that's kind of like how I've always explained it. And that that helps me also to better recognize people that are for me, that helps me to recognize people that are moving from that mid level to that senior and the junior to the mid level thing because you can more proactively see that kind of effort going on by somebody.
But yeah. There are. But separately, there's like a ton of different hang ups that that you can have. Right? There are so many, like, flaws for me.
I think it's more interesting to look at for me in particular, I think it's like more interesting to look at, like, as far as, like, what makes you a senior dev, Sort of like those positive aspects. So there's a lot of things that we associate with being a senior dev. Like maybe you mentor people or maybe you output a lot of code. But I don't think any one of those things makes you senior in and of themselves. I think it's you need some sort of mixture.
I guess I never really thought about it from, like, most valuable dev standpoint. And over the course of this conversation, like, that's been kind of polluting my my thought space. So my apologies for all that guys. Because I think it's an interesting take because it kind of fits it kind of fits like how I've associated with, which is like, I want I always want to see before I, like, look at somebody as being a junior, somebody sort of creating, like, an identity for themselves. Like, they're going to be good at these things.
And typically, they also know what their weaknesses are and they're okay with that. And then they, like, find a way to solve for that. So for example, I'm perfectly capable of doing front end work, but I don't really like front end work. So I just don't. So typically, when I go to a place, like, one of the first things that I always try to do is find a buddy that kind of likes that stuff.
And then I'm like, hey, I'll take some of this back end work from you. Right? And you could say, oh, that makes your back end dev. But I've literally never been worked anywhere where we've had that demarcation, you know. So I think one of the things that's really important is learning what your weaknesses are, learning how to cover them up, learning what your strengths are, being willing to put those forward.
Like, I feel like creating a package around yourself and identity for yourself and learning all of those soft skills. Like, I think the most important aspects of being a senior developer are all the soft skills. You're just a strong from my perspective, I feel like you're just a really strong mid level dev when when you're like, look, I put up tons of code, but that's, like, all I do. Great. That's fine.
Like, that we need people that contribute a lot of stuff, but but I feel like it's all of the soft skills that, like, turn you that, like, kind of push you over the edge into senior most of the time. That's just where I, like, come from. And and I know that that's also not the definition. I mean, the definitions are different in different places. Yeah.
So Well, that's that that's why I have a problem with senior dev. And so when people start talking to me about wanting to be a senior dev, I immediately pivot to, you know, top 5% or most valuable dev. Because, yeah, everybody kinda sets that a little differently. Some companies have, like, different development tiers. I know the place I'm working, they have, you know, levels, you know, so I'm a level whatever dev and things like that.
And, you know, ultimately, I'm trying to kind of consolidate the definition a little bit so that it's hey. Look. You know, this is this is how you kinda stack out. And where I see it, you I I'm like, I should've gone first because you guys said 2 thirds of what I was gonna talk about with this. And and the first one is, you know, your your technical capabilities.
And I think Dave both Dave and John, both of you put out, you know, a really great way of explaining, yeah, the kind of the technical level that we expect people to operate at for this. Right? Where they they understand the technology. They understand the technical choices. They can quickly evaluate different options.
If they're not familiar with them, they can make the calls. A lot of times, those calls are instinctive, you know, because they, you know, they have spent the time and put in the work to understand the systems that they're working in, you know, be it Rails or something else. And and so I see that, definitely. I also agree with John that for the most part, anymore, since we're working on teams, that level of expertise needs to be able to be communicated, and it needs to be able to be shared throughout the team. And so if you aren't capable of working in a team anymore, the the first part, it's I I don't wanna say that it's completely wasted, but it doesn't have the amplifying effect that it does if you are a capable leader or a capable mentor and things like that.
So I definitely agree with you guys on both of those counts because, yeah, I mean, they're critical. Right? Yeah. And I think it's also important to know a couple of distinctions that a senior developer is not necessarily the subject matter expert. So they may not know the entire domain.
They're just really good at understanding requirements, building out architecture, understanding how their decisions will affect things in the long run. So you could have a junior person come on board and provide so much insight, valuable insight, into requirements and direction if they are the subject matter expert in that particular area. And I think that, also, a thing that will really distinguish a good developer versus a more junior is that it's a quote from Martin Fowler. Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
Right. So if the code that you're writing is just all tangled and just kinda pushed together to just get that code to work, but it's not maintainable, then it's not really good code because humans are gonna have to come back and understand it to maintain it. Yep. Absolutely. I wanna throw out the third thing.
So there are 3 things for me that make kind of this, most valuable dev or top 5% dev, and that that's involvement in the community. And I know that not everybody wants to write open source code or write blog posts or do a podcast or do videos or things like that, but, I mean, even just showing up to conferences and having conversations with people and, you know, just being out there is a huge step that a lot of people don't take. Right? Be it at local conferences or, you know, more I I guess not local conferences, so the big conferences. But, you know, they're they're the ones that are getting out there and speaking.
They're the ones that are getting out there and putting content out. And the reason that I I have a focus on this at all is because people do talk about that level of job security, being able to level up, being able to go get the job that they want, and things like that. And that's ultimately the outcome I want, is is I want to lead people to the place where they are in a position that they want to be in, working for a company or themselves. But, you know, whoever they wanna work for, they're working for. And they are contributing at a level they want to contribute to, and then that is feeding back into the rest of their life so that they have the freedom to go do whatever it else that whatever else it is that they wanna do.
Right? So if it's, you know, raising kids and, you know, being there for all of their kids' stuff or if they wanna go surf on the weekends or they wanna travel the world or whatever else. Right? I want people to be able to kind of find their dream job, but their dream job that's that supports and sustains the lifestyle they want. And so and I find that it makes it a whole lot easier to be able to do that if you've got some form of content out there.
And so that's that's kinda the the final piece that I'm putting to this. Yeah. I've seen a lot of developers who are by no means, senior, even still, just push out so much content. They're putting out blog articles. They are getting on, podcasts or other places, just really getting their name out there.
And it's surprising how much just that social engineering aspect of it can really raise the bar where people view you at, just that name recognition. So these developers, they're putting out some good stuff, you know, because I think one of the best ways to grow as a developer is to get feedback. I know when I was doing development completely solo where no one was viewing my work, I made a lot of compromises. And because no one was looking at my code, then there was no one to criticize it or to help guide me. And I think that was one of the biggest mistakes that I made early on, was to not seek counsel, to not have a mentor, to not have others, even at the same level, because iron will sharpen iron.
And as you are working with someone else, they're going to have a different set of eyes, a different insight, and that's going to be really important to your own development growth. So I actually want to take this on a slight tangent too because I think so we're talking about content here being, like, one way. Right? That you sort of connect with people, get your name out there, things like this. I'm probably the least prolific content wise of the 3 of us, but there are other ways to do this too.
So you noted, hey, iron sharpens iron, right? So one of the things that I used to do a while back before Charlotte Devs existed even, is I used to go to, like, all these meetups. And people in my town knew who I was and gave me respect despite the fact that at the time I had basically no content to my name. I wasn't, you know, there wasn't the Charlotte Devs organization. I had literally nothing behind my name, but I was going to these meetups all the time.
And I talked to people and people heard me say things. And over time, that built up respect, too. So I literally just showed up to stuff. Right? And that also garnered respect as well.
Obviously, as time wore on, you know, I started Charlotte Doves, you know, which is an organization. That's another tech, I think, that you can take to, right, is create a space for people. But but yeah. I mean, literally, it's just it can just be as simple as just chatting with people. And I was also going to mention one of the things, like, I have found as I've mentored other people is that I develop respect for my mentees over time.
So I wonder how much of that happens as well, that finding a mentor can create some of that. I was trying to think as we were talking along about other ways that you could do similar types of things without because not everybody's a content creator. Those are just ones that popped up to the top of my head. Yeah, definitely. I mean, and I'm glad you brought up the meetups as an example because we need people at the local level just as much as we need people at kind of the global level.
And a lot of times, those are gonna be the people that are yeah. They're mentoring people. They're they're getting to know people. They're solving problems for people because a lot of the people at kind of the higher level, they feel like they're out of reach a lot of times. And so I'm much more comfortable after the meetup walking up to somebody and saying, hey.
I'm struggling with this. How do I learn it? Or, hey. That was a great talk. I wanna use this at work.
How do I do it? As opposed to some of the other things. And there are workshops, like I said, local conferences. There are code camps that all tend to happen locally. And then you you brought up organizations, and a lot of these organizations will have a Slack channel or a forum or an email list or something like that where you can participate there.
And, again, you know, you can become well known and prolific locally by participating in some of those. And so as you as you help more people out, as you make more of a contribution or just ask good questions a lot of times. That will lead you down the path of of getting a little further along within the community than you would have otherwise. And I I do wanna circle back to the topic that we were discussing before with the junior kind of versus senior is that one strange thing that I found is that not always will a senior developer or the best developer on the team be the person leading the team. And that can be a real struggle because there's going to be tension if you don't have the best person for the job leading the team.
And sometimes that's actually a good thing. If the better developer is not a good leader, then they're going to just kinda take that software into the garbage. But when you do have someone who just happens to be the team lead, but then you hire on teams that team of people where there are better people suited for the job, then you're going to have some issues in the dynamics of that team. And more specifically, between the senior developer and that team lead, you're going to have a lot of issues in those dynamics. And I hate playing any kind of corporate politics.
I think it's just a waste of time. I think it's horrible, and it just should never happen. But, unfortunately, that's kinda what you have to do in a corporate world. But I think trying to keep your focus on the code, what's best for the business, what's best for the team is always going to not only protect you, but it's also going to be better in the long run because, 1, you were backing your thoughts with intelligent and factual things that can be shown as this is the way we should be doing it versus what this team lead, who's not as good of a developer, is saying that we need to bring this in because we did this at my last job, and the last job, you know, turned out fine. Well, you're kinda not at your last job anymore, are you?
Like Working on the same app. Yeah. Yeah. So, you know, that's just kinda one thought that I have around there, and it's a difficult situation. And I think as we start working with other people, we are going to experience these difficult situations, either sooner or later.
And I think one suggestion or advice is don't be so easily offended by a difference of opinion. You know, having a difference of opinion, you can use it even if you are completely in the right. You can use it to grow because it's a there could be a chance that you're hearing a different perspective, And there's always some good things to be taken out of a different perspective. Yeah. Absolutely.
Go ahead, John. Yeah. I was just gonna say, I think it's it's also probably an opportunity for you to you to level up those communication skills as you're trying to navigate. Right? Especially when when egos are involved.
It's just it's difficult and it really sucks to work through. But, yeah, communication skills matter. You can say literally the same thing. You can have 2 people saying basically the exact same thing and how they say it, you know, will make a difference. 1 person will piss off somebody and the other person will will not, you know.
So I know that I have had plenty of cases where I'm, like, trying to deal with somebody that's stubborn, maybe. It would be a good way to put it. Right? Or, you know, just not really like you said, not everybody on your team, a 100% of the time, is always thinking about the business. Sometimes they're like, well, this will make me look good or whatever it is, or they just like a thing.
They love a technology or whatever. Lots of personal reasons why somebody might not be thinking it's good to the business. And if you're able to make the argument, you know, that'll often help you to win the argument, which might be important. But if you also think about, you know, hey, do I care about this person, the relationship with this person? You know, for example, maybe it can be a selfish thing of do I really want this person to be pissed off at me next week?
Right. You know, maybe that that'll evolve your conversation such that you might decide not to make them angry or you might, you know, talk about the stuff in a better way. And that's opportunity for you to work on those soft skills that and I do believe that people that are kind of better at navigating those scenarios over time, like they tend to garner respect as a senior developer. I think that is one of the markers of that. Yeah.
Well, and what we're speaking to, and I think you've both alluded to this, is that leaderships leadership skills and technical skills are not necessarily the same skill set. Right? And so your ability to manage up, manage laterally, and manage downward There's a terrific book, by the way, called the 360 Degree Leader, that talks about all of this stuff and walks you through a lot of this stuff. I'm trying to remember who the author is, and I'll probably just look it up and tell you in a minute. But, I mean, that that's the deal.
Right? And so you may be a great team lead and may not be the most technically, qualified person on your team. Right? But then you've got to be willing to accept the responsibilities that come with your leadership role and, at the same time, defer in the areas that you don't have the expertise in or don't have as much expertise in. And and not necessarily defer in the sense of just let them have their way.
But, again, lead the conversation and keep things focused on how do we succeed at what we're doing. And if you can do that, then that's a big part of of being this kind of a developer. Yeah. In a team game. Right?
Yep. It doesn't really matter if you are literally the best, you know, the best developer that has ever existed if you can't get the project across the finish line. And when you're playing a team game, it's typically because it's something that's much bigger than a single person can get done themselves. So if you if you're a really amazing coder, but but you, like, kind of, you know, stomp on everybody else around you. Right?
Like, that's gonna get in the way of your team. So one of the things that, like, it's really important in a team game is are you sort of enabling the people around you as well as yourself? Yeah. Just to make a sports analogy, there are 2 things that I wanna point out. 1 is that in most sports, they count assists as much as they count scores.
Right? So I'm a big soccer fan. Whoever passed the ball into the middle of this the the mess, they they get a stat, and then the person who puts it in the back of the net also gets a stat. The other thing is is that if you're playing the role of the coach, you're not gonna score any goals. Right?
But your job is to make sure that the team is winning the game. Sports team. Yep. I'm I'm gonna push us a little bit to a little bit different place. And this is kind of the thrust of the focus that I'm gonna be pushing all of the shows at devchat.tv toward, as well as I'm working on a course, and I have kind of a soft announcement at the end of this episode.
But I wanna talk about how we get there. Right? Because it's one thing to kind you know, we've we've kind of set this definition out there. Right? Top 5% developer needs to be able to do these things or have these skills or you know, and and I don't even know that they necessarily have to have all of them.
They're gonna exhibit a lot of them. Right? But how do you get there? Right? So let's say that I am this mid level person, or I don't even know how to evaluate where I'm at.
Or maybe I'm a junior person, and I'm stuck at this job, and I don't know where the opportunities are to even grow, learn, or move up. I mean, how do I get from there from here to there? Right? What what kinds of things should I be doing to move myself along this path so that I can be that top 5% developer? I feel good about the contributions I'm making to the team.
I feel good about the contributions I make to the community, and I have this job that is working for me as much as I'm working for it. I mean, watch any kind of movie where the main actor is, you know, just been discovered. And then by the end of the movie, they are the Kung fu master. So, you know, think karate kid. So, yeah, Daniel Russo.
Yeah. If you like the old ones where he's just this little kid getting beaten up all the time. And at the end of the movie, you know, he's taken down the kids that were beating him up. It didn't just get from start to finish. There's a journey.
So don't miss out on the journey. And I think that's one of the biggest things It's important to keep focus on the end result, what the outcome is supposed to be. But don't miss each step in between, because you lose a lot of valuable lessons if you try to jump ahead. And one of the very first things that happened on Daniel Heruzo's path to growth is a mentor. He had a trainer, someone who wanted to help him and someone who wanted to see this person grow.
So I think having some kind of mentor that you can ask questions and get feedback, and even when the feedback might hurt your feelings, to know that this person is trying to help you grow into a next level developer or ninja. So you're saying that you have a montage. Well, that that's funny that you say that, though, because I think a lot of times we kind of envision that montage, right, instead of all of the work. Right? So we see, Daniel san waxing the car, but we're not sitting there for hours watching him wax every car.
Right? We're not there every time when he's, you know, going to the beach with, mister Miyagi and, you know, doing whatever work. We just kinda see outtakes. And I think a lot of times we get this idea in our heads that we're gonna have a montage growth trajectory instead of realizing that he was out there on the beach every day. He was you know, he spent hours and hours and hours painting the fence.
Anyway, John, what were you gonna say? No. I mean, at first, I wanted to make my joke, but, make your joke. Sorry. I killed the joke.
No. No. No. I said I said the montage thing. That was that was it.
Oh, okay. But now I get I get requests from people all the time. It it randomly. Right? And they kind of go a little bit like this.
They're like, well, hey. I wanna how do you do this thing? Right? Or or how does this thing work? And I say, well, here's a basic understanding, you know, and that'll get you pretty far.
And so maybe they're they immediately sense there's more to it. And they were, like, well, is there a 5 minute video that I can watch that explains everything so that I can just consume that and understand it? Right? And and then I'm, like, no. It just it doesn't.
Like, you you often get, like, an incomplete understanding, and that is the thing that you work with for a while. Right? And then you sort of grow this better understanding over time. I think there's I don't I don't know if it's caused by something, but I definitely feel like a lot of people just want to come in, watch a quick video, read a blog article, whatever it is, and then they're immediately a master of the thing. And you can get you can get pretty far with a lot of these blog articles.
Right? You can get a lot of knowledge, things like that. But I think that people are definitely asking to get way more out of these things than than you can get that way. You just have to practice. Like, I I think that's really Dave's point here.
Like, literally practice. Yeah. And one thing, you know, to kinda go alongside that is, you know, if you do have someone that's helping you out, a mentor and stuff, a mentor is not there for you to just go and ask questions all the time. One of the best ways, and this is just for me personally, others are like this, but not everyone, is I do really well just banging my head against the keyboard, you know, to just struggle and struggle to try to figure something out and always get it figured out. So it's not like that it is an impossible situation to resolve.
But having that time of going through the 99 ways to find out how not to screw in a light bulb to then finally figure out the one right way to do it, You know, it's a learning experience that now you know 99 ways not to do something. And I think that if you just go to a person who is giving you the answer, like, oh, you just need to do it like this. They don't go too far into, here's the 99 ways that you don't want to do it. Number 1, you'd probably tune out because you don't wanna hear the 99 ways. You just wanna know this one answer.
So having that time on yourself to struggle and to really, you know, get your rubber duck out and explain it to the duck, you know, here's what I'm doing. Here's it's not working. You're not gonna just sit there and tell the duck, my code's not working. It's not working. Like, well, you know, you had to explain to the duck, like, what's going on?
Like, what approach have you tried? What are what are the things that you're trying to do? What are you thinking about? What's going on in your head? You know, explain it.
Read it out. And I think that's the issue I see with a lot of more junior developers right now is that they want that montage, as you were saying, Chuck and John. That they don't want to go through all of the effort that it takes to really learn the stuff. They just want the answer, and then they will move on. The problem with only getting the answer for that particular issue is that you're not getting any of that theory.
You're not getting any of the in-depth background knowledge around it in order to then be able to adapt it to the next problem that's very similar but is just tweaked a bit differently because then you're just gonna be going back to that mentor or to that person you're asking questions to and asking them the question again. And to that person, they're gonna hear the exact same question. It's like, well, we just talked about this last week. You know, you're asking me the same thing. It's just a little bit different.
You know, just do make the necessary adjustments. And you're gonna start wearing out that mentor to where they don't wanna help you anymore because you're not helping yourself. So that's it. That's what I had to say. Yep.
Well, and it's interesting too because I'm going through this right now with, Project at Work. And, essentially, what we're doing is the rest of the company has this set of React components that are styled in a particular way that, you know, they've built these other websites with, and they want us to start using them and in incorporate them into our Rails app. Well, they're not really in a convenient format for us to use because they're not in an NPM package. They're, yeah, they're not really in a gem or anything else, And so we've been building this gem to make it easier for people to use these these React components and then to actually you know, we created a form builder so that you can just kinda rails weigh it and not really care that you're React under the hood. But, I mean, we've had this big, long learning curve with Webpacker.
Right? And it's like, oh, that didn't work. We're getting this error. And then we kind of move on to, okay, now we're getting this other error. And so by the time we're done, we're sitting here going, okay, we have a much better understanding of how the React Rails gem works.
We have a much better idea of how Webpacker works. And we have a much better idea of how to include these pieces of things into our Rails engine and how the Rails engines work. And so, yeah, if somebody had just given us the answer, I mean, we could have copied it all, but, yeah, we wouldn't have picked up this knowledge that surrounds all this stuff so that we can make the right call later. Yeah. And that all becomes part of your big blob of Yep.
Knowledge that you have, you know, that's different from person to person, and it's super cool. I don't know. I I definitely I have experienced this kind of frustration before as well with mentees. And I've also I don't know. I'll skip that.
But I actually feel I actually have, like, sort of a different problem with mentees in general. So and maybe it's just the kind of mentees that I've run across. But I've also experienced the kind of situation where the mentees sort of they they're trying so hard to not ask questions. Right? That they literally never come back for help.
And so they're off on these wild goose chases for long periods of time. And you sort of so the rhythm becomes different instead of sort of them constantly asking me questions. I find myself with this type of mentee chasing after them and being like, hey. What's up? And they're like, oh, hey.
I had this problem. So I went here and then, you know, instead of down some deep rabbit hole, and you're like, well, hey. You know, you could have bailed out here or something like that. But I often find that, like, time boxing works for that kind. I mean, different people have different sort of like personal things that they do and habits and you kind of have to deal with different people differently in my experience.
But for that kind of mentee, right, you I often find that, like, you timebox, you're just like, hey, you know, if you spend 2, 3, 4 days I mean, I usually don't let them go past 1 or 2, but, you know, if you're spending multiple days on something, you should bail. Go talk to somebody at that point. There's different kinds of problems, I guess, is what I'm trying to get at. And you find different solutions to help with those different Minty problems. Yeah.
Absolutely. I agree. I think that we do find that trap where someone's afraid to ask questions, whether because if they ask a question, then that means that they are not as good as what they thought they were. Imposter syndrome sits in and whatever. And I think that's something that we need to get over.
I get it I get into that trap myself where I have an issue. I just I can't figure it out. And, you know, being able to humble yourself enough to ask a question or say, I need guidance. No. I don't want the answer.
I just need guidance. It that's something that you can't read in a book. It's something that you have to, you know, learn how to do. And when you do go to ask questions, make sure that you know what you were wanting, what the outcome is. You know, don't just say something's not working.
Be know the issue well enough to be able to explain it clearly. Speaking of rabbit holding, I, I feel like we're kind of rabbit holding on this mentoring thing. Great discussion. Yeah. I love it, of course.
But I think the point is that mentoring others as well as being mentored by others is a good way to level up. I think both aspects give you some stuff. I know I, for 1, as somebody who spent most of their career, especially the early part of it with no mentors whatsoever, and I've only gotten mentoring late in my career. I really wish that I had gotten mentoring earlier in my career. It's been super helpful these past few years, and I really wish I had done it sooner.
So I definitely always highly recommend that to people. And it's good to find a mentor outside your organization, but you should be able to find 1 inside your organization. If your boss or the manager you report to is not technical enough to mentor you, they still have probably some valuable information to share. But you should look for someone else to help guide you, to help build you up. Because a lot of times, as we're working on code for a company, you can't really share that code outside the company.
So you need to find someone internal that can help shape and mold you. Yep. Yeah. And it doesn't have to be the same person either. Mhmm.
And it's funny because, you know, especially from my earlier career, listeners to the show have met my mentors. Right? My first job, I was working with Nate Hopkins and got to be really good friends with Eric Barry. And then after I worked with Nate for a while, I wound up working with David Brady. And, you know, I worked with him for a year, and then we've actually, you know, collaborated on some other stuff off and on.
And so, yeah, it's it's interesting just from that standpoint of, okay, you know, I kind of was put in a position where I worked with Nate, and so I got to be mentored by him. And then, you know, as things moved on, you know, I was mentored by other people. And I've also found that the podcast and and going back to the community idea, the the podcast early in my career, Ruby Rogues will be 10 years old in in May. Right? I I got mentored by James and Josh and Avdi and David and anybody else we had on the show.
Right? And so I could go and find those mentors. Before that, I was doing the Rails Coach podcast. And I I talked to James, talked to, Greg Pollock, who actually mentored me on podcasting. And and so you you know and maybe it was just one offs with some of these folks, right, where we did an interview and that was it.
But I had the opportunity to kind of learn some of these things from some of the best people at them at the time. So it doesn't have to be all at once. It doesn't have to be the same person. Doesn't have to be somebody you work with. And you can create these opportunities too, by doing different things, you know, whether it's contributing to open source project that somebody you want to be mentored by works at.
Right? Or whether it's doing a podcast and you just talk to them or I mean, any of these things work. And so it's just a matter of figuring out how to get in front of them and make it worth it to them. Yep. Right.
So we're all senior developers now. Right? Mostly consider our hosts that way. Right? I mean, even the ones that are like, well, I've only been doing this for a year or 2, I just I see them leveling up so quickly because they are.
They're talking to, a lot of times, the best people in the field and and learning in those ways. So, yeah. It was a joke. But, you know, I found my biggest struggle is that I am my own worst enemy. Whether it is me trying to figure something out or my lack of attention to something or my lack of focus on the task at hand.
Now, I'm not saying that you have to work day and night in order to become a good developer. You just had to have good focus and to not stray off. You'll still get there. It'll just take you longer. Yep.
Yeah. I think there's a a balancing act. Right? So you have to do some amounts of demonstrating of your skills for the purpose of getting a good job and and things like that. Right?
But really, at the end of the day, to be a good developer, you need a touch of, if not a lot of humility and the ability to understand what you're not good at. And so I mean, that's just a struggle that, like, we all work with separating the resume and interview self. Right. Sort of from the person that shows up to collaborate with other people. Yeah.
Because you don't want to be thinking that you're the best. You also, at the same time, don't want false humility because that's how you end up in the place where you have, you know, impostor center and all that kind of stuff. So it's it's a dance, and it's really hard. And I think that most people struggle with some aspect of it or another, and, that's normal. And I would also say don't be intimidated by others because, number 1, if they are above you in a development level perspective, they've been where you were.
But, also, you know, just as an example, all of the Drift and Ruby videos that I've put out, these are not just a, oh, I wanna record this episode, so I just go in and do it. I do a lot of research for every single episode on what is going to be the best information to share with the listener. So it's not something that I just whip up and do. And same thing for blog articles. They don't just start typing away, and then they issue, you know, the blog article's done with all this code that they just hand wrote right there on the spot.
A lot of research went into it. So all of these people who you may look up to and stuff are putting in a lot of effort and time in their research to then show you the final draft. You know, it's that, you know, Daniel Russo at the beginning of the movie and the ninja Daniel Russo at the end. You know, that's the process that we go through when we publish out content. It's not just a quick take and we're done.
Yeah. Well, the other thing is is, you know, he went to the tournament, and he didn't win the tournament in one bout. Right? He had to go fight each round. And that's, I I like what you're saying, Dave, because, yeah, I mean, each stage takes some work.
Each stage take takes some prep. Each stage takes some research. And at the end of the day, I mean, you you kind of pick some battles, and you go and you fight 1, and then you fight the next one. And, you know, you you learn and you overcome and you level up. And, yeah, it doesn't it doesn't all happen at once.
And so, yeah, if you're looking at being the next DHH, that's fairly intimidating. But DHH leveled up one stage at a time just like everybody else. One other thing I wanna talk about, though, here just before we wrap up is we've we've kind of focused on leveling up on the technical skills. But what about those soft skills? You know, the the teamwork skills, the communication skills, the leadership skills.
You know, there's not really technical documentation for that. There are great books out there, I will say. And and that's kind of where I've learned a lot of this. But do you guys have other recommendations for, learning these, practicing these, leveling up in these, that kind of thing? I would say, first, get your resume up to date.
You know, work on your resume because you can learn a lot about the soft skills in communication by updating your resume. And specifically, I'm talking about being able to clearly communicate and concisely communicate, because your resume is going to be the epitome of clear and concise communication. When I was hiring, I was reviewing a lot of resumes. Some resumes would be 3 pages long, and I got one that was over 10 pages long. And Oh, wow.
That right there, my very first impression of this resume was this person has a real problem with clear and concise communication. So what you'll find is, as you go to review and edit your resume, is that it's not a one time you sit down and then you're done. You read through it. You missed a semicolon. You missed a period.
You missed whatever. You need to reword this. It's not clear. You give it to someone else to review. And after several weeks, then you have something that is clear and concise.
And that's how you should really tackle a lot of these soft skill things when you're asking questions, when you're giving an answer, is are you conveying the point that needs to be conveyed clearly and concisely? Because then people will listen. If it's easy to listen to you, then people will listen. Mhmm. If you make it to where people's heads are spinning, they might be listening to you, but they're not hearing you.
It's going in one ear and out the other, and they're just tuning out, thinking about what they're going to do after that meeting or whatever. Speaking of resumes, speaking of resumes, I actually ran across a sweet article on Stack Overflow blog. It was Thanksgiving weekend, I think, that I'll add to the show notes. I was gonna after you said, I was like, I'm totally recommending that thing. It was probably I don't know.
I've always struggled to give people a resume guide that I think will actually help them because I think most resume guides are full of, like, either vagaries that, you know, people really can't wade through. If they're asking me questions about how to improve their resume, they already didn't understand these vagaries. Right? Or or it's like stuff that doesn't really apply to developers in particular, things like that. And this particular one is geared towards developers.
It gives a lot of really useful tips to both seniors and juniors. It was just really, really well done, and I literally have never seen an actual applicable guide. So I'll definitely recommend that. But yeah. Resume point.
Nice one. Did you have any more, Dave, before I No. Go for it, man. So I was I was thinking one of the things that I personally found helpful for me was to and I do this for a lot of things in life. Right?
I am like, I want to improve this aspect of my life. I go find somebody that I think does a good job at it and probably stalk them a little bit too much. Not really, but, like, I literally think about what it is that that makes them work. And I try and mimic a lot of that stuff and, you know, just incorporate it into myself. And I'm sure a lot of people do this kind of thing, but I definitely consciously do that.
It is definitely a process that I recommend when you're, like, recognizing something is not, you know, where you want it to be. Right? So if you want to be like a senior developer, I mean, invite them to beers, talk to them all the time, you know, get one of them to be your mentor. Like, do do the things that give you the opportunity to watch them and or just, like, hear them talk a bunch, learn more from them. Yep.
One other thing that I'm gonna throw in on that, John, is a lot of folks, what they wind up struggling with and the reason that I started by talking about, you know, what is kind of a top 5% developer, what's a most valuable developer, is that they don't have a clear idea what they want. Right? They don't have a clear idea where they wanna end up. And so what winds up happening is is they start just thinking, okay, well, I just want a better position than I have now. And the reality is is that, you know, in a few years, yeah, what do you wanna be?
Where do you wanna be? Do you wanna be a CTO of a startup? Do you wanna be working for a really big company? Do you want to be contributing and speaking at conferences? I mean, you know, sit down and just just kind of figure that out.
Right? Do you want to be a team lead? Do you want to be kind of a level up from a team lead, a mid level manager? Maybe you figure out that your passion is for project management, but you wanna write some code. I mean, all of this stuff kind of plays.
Right? And so by knowing that, then you can pick your mentors. Right? Then you can turn around and say, okay, that person, you know, that that developer is doing what I wanna do. Right?
So if you want to make videos like what Dave does, right, get to know Dave. Right? And then go copy him and, you know, figure out what he's doing and figure out how he does it and talk to him and email him and, you know, get get to know him and and things like that. Right? That that's where that magic is gonna happen.
Prepare your inbox. But, dude, I was just thinking, I'm about to have my 4th child. I don't have time. I have no time anymore. Right.
Yeah. But, you know, I am always on Slack and stuff to help people out. Yeah. But the thing is is, as far as, Slack goes or things like that, I mean, ultimately, you know, I I could reach out to you and say, okay. You know, I I want to do kind of the drifting Ruby.
Or if somebody reached out to me. Right? Hey. I wanna do a podcast. And I can give you enough advice to get you rolling for a few weeks.
Right? And so I I may not hold your hand for the whole process, but I can say, look, you need this, you need this, you need this. And then maybe you come back and you're like, okay, you said I need album artwork, but I don't have a lot of budget for that, so how do I do that? And then maybe I tell you to go use fiber. Right?
Use fiber. Here's here's the, you know, here's what I tell people when I want artwork done on fiber. Right? And and I can kinda hand you something that takes me about 2 minutes to look up, and, you know, that that's kind of the situation. Right?
And so it doesn't have to be this long drawn out thing. Or maybe I I just I do let you know. Hey. Look. You know, I'm trying to launch these other things.
I'm in the middle of this stuff. I'll answer anything that I can answer in less than a couple of minutes, but don't be offended if I tell you, hey. That's a 10 minute answer, and I don't have it. Right? Or an hour long answer, and I don't have it.
And and, you know, so then you can set expectations or things like that. Also, the other thing I've seen with a lot of folks is don't be shocked if they don't get back to you because they are busy. Right? So Yeah. Don't fix it because there's somebody else too that might be able to help you if that person is Yeah.
Is busy or something. Yep. So so, yeah, that's definitely something. But, you know, pick your mentor for where they can get you. Right?
So, okay, I wanna be here in 3 years. So the next logical step is either this thing or that thing. Okay. I can find I can find somebody that I can associate with that can help me that with that. And and be be deliberate about it.
Yeah. I I definitely that's a really good point because I tend to just operate from the assumption that people have goals. Right? But but, yeah, you do have to find your goal first, then all the rest of the stuff can follow. Yep.
So yeah. I think we've been going for about an hour. Is there anything else you you guys wanted to put in? I mean, I have tons more stuff that I'm pulling together for this, but I don't think we have time to cover it here. Don't I I do have a book that I plan to recommend too, which was useful for me.
Right? So I've totally recommended on the show before. I'll recommend it again, but never split the difference. Negotiating like your life depends upon it. There's tons of awesome books out there.
Right? That can give you that can help you, like, level up, like, various aspects. But for me, like, one of the things that I struggled with is, you know yes. I've never really struggled with, like, the ability to win an argument. Right?
Which I don't think is an uncommon struggle. The issue is I wanted to win an argument. I didn't necessarily want to win an argument. What I wanted to do was I wanted to come to the right answer and I didn't want to piss off my coworkers, right, or mess with our relationships. Right?
And so a lot of that is about, well, how do I negotiate? Right? Because that's really what you're doing a lot of the times is we're negotiating what we think what trade offs we think are the most important. So for me, that was a particular thing that I needed to learn and this book happened to hit the spot or whatever. But, you know, there's tons of other books out there.
If you can figure out what aspect it is that you're struggling with. Right? You can aspect it is that you're struggling with. Right? You can address it if you I'm sure there's a book for that thing, basically, is my point.
Yep. I agree. I really like Audible as well. You'll find links to Audible on devchat.tv. That's an affiliate link, so I get a kickback if you use it.
But audiobooks, especially when I'm, like, going for a run or something, it's such a great way to go. Alright. Well, let's go ahead and do some pics. John, do you wanna start us with pics? Yeah.
So, I mean, you you do already know my first two. So never split the difference. Like I said, I'll put it I'll put the Amazon link just because you don't have to buy from Amazon. But but, yeah, like I said, it's a good book. It helps with, like, negotiating thing.
Negotiating type tactics, which comes up way more in life than you really think it does. Right? Especially as developers, one of the things that you're doing, that requires negotiation all the time is when you're trying to decide between, you know, maybe 2 gems or something like that. Right? You're having an argument about architecture.
You're negotiating with your developer, your fellow developer there. Right? And depending on what your goal is, whether you want to win the argument, if that's the most important to you, or whether you want to walk away with both parties being happy, there's there's probably a tactic in this book for you. So it was helpful for me, and it just it changed how I thought about negotiations in general. I would also say that, you know, if you're a freelancer, too, that's actually why I got into this book originally before discovering that I had applications to other aspects of my life.
So it's also useful there. So that's pick number 1. 2nd one is the resume guide that I mentioned earlier. It was fantastically awesome. So definitely, if you want to brush up on your resume, go check it out.
And then lastly, so I haven't had scotch pick in a while, but I recently got a hold of, Nikko Yoichi. So if you're somewhat familiar with Japanese Whiskey, you may be aware that, like, if you don't live in Washington state, you basically can't get Japanese Whiskey in the U. S. It's not exactly that bad, but it's just hard. And, Nika, in particular, has kind of been out of stuff for a while.
So I'm probably butchering the name. So, you know, if you guys have suggestions, let me know. But, yeah. Anyway, I picked it up. It is there's a reason why, it's out.
It's not the best whiskey I've ever had in my entire life by any means, but it's different. It's very unique. It is like anyway, it's a lot like other Japanese whiskey's flowery. It's got some citrus stuff in it, but it's very unique from what you're getting from Scotland. It's obviously very unique from American whiskeys.
Cool. Those are my picks. I was gonna say, I don't think Japanese are really too well known for whiskey. That is a new ish thing. It's a couple of decades, couple of decades now, I think.
But, yeah, ever since I want to say it was 5 to 10 years ago that they basically landed, like, best whiskey in the world over scotch. Right? And then all of a sudden everybody wanted it. So it's been a craze for the past 5 years. Yeah.
Among people that drink whiskey, I guess, I assume. Yeah. Cool. Dave, do you have some pics? Yeah.
Sure. So in the spirit of working with others, mentoring, and all that good stuff, my first pick is going to be the Ruby on Rails Slack channel. It is a group of over 14,000 developers, so Ruby developers. And it's one of the most friendly Ruby communities that I've seen. So unlike going to Reddit for Ruby stuff, you know, which I think Reddit will just crap all over you, so, you know, I I really don't care for Reddit, but whatever.
But this community is very well mannered, And if you have issues, everyone there is always really wanting to help and help guide you along. So I'll put a link to that. And the second pick is something that I recently discovered at Home Depot, and it is track lighting. So up above behind my desk, I have some track lighting that I installed that put the Phillips Hue bulbs in, and I had no idea that track lighting worked the way it did. You essentially have a rail that you just install, and it carries the conduit.
So it has conduit in it that you can then just twist and snap incompatible light bulbs or the light fixtures and then screw in your light bulb. Coolest thing ever. So I had no idea they worked like that. I thought I was gonna have to do a whole lot, get very specific things. And it was just a one evening, wanted to do it, went to home Depot, grabbed the stuff, did it.
It was a very enjoyable experience, but, you know, for those who don't know any kind of electrical stuff, a conduit is basically carrying the electricity. So if you're not careful and you stick your hands in there while that thing is hot, then you will shock the crap out of yourself. So just wear gloves, hire a professional. This is not a DIY advice. But if you're comfortable with electricity, then go for it.
Awesome. Very cool. I'm gonna throw in a few pics of my own. So, I mentioned one of them is the 360 Degree Leader. That's by John c Maxwell.
He has a whole bunch of leadership books. And, I've read, like, 2 or 3 of them, and they are all excellent, the ones that I've read. So I I love that book. And then Dave actually started talking about and then we I think we kinda derailed onto something else. But there's another book out there called The Hero's Journey.
And I'm trying to remember who the author is on that. I'm gonna open up Audible and have a look while we're talking. But it's basically kind of the 3 act structure that you're used to in movies. And it it basically walks you through that. And, yeah, people are very familiar with that.
In fact, I have a few people in my life who understand it to the degree that they, like, spoil every movie that you watch with them. But, yeah, it's okay. It's The Hero with a Thousand Faces by Joseph Campbell. And, yeah. And I mean, it basically just breaks it down.
And this is, like, the the 3 act flavor that you get out of, like, The Divine Comedy. I mean, it's been around forever, all the way up to our current, you know, movies and things like that. And, yeah, you know, if you kinda look at yourself as, the unknown person that gets pulled out of the Shire or, you know, whatever, right, you definitely get some, some idea of this is a journey that we all understand well. And, yeah, you you kinda have to go walk down the road or down the trail before you wind up getting all the way to the mountain where the the dragon is hoarding his gold. So I'm just gonna throw that out there as well.
But, yeah, I've I've really, really enjoyed that as well, just kinda getting an idea of how people work through that. Another book that I read recently that I've really liked is StoryBrand by Donald Miller. And it's kind of got a lot of the same elements, except it's much more focused around how you help people perceive you or your business in that in his case, because he's talking about business branding. But, yeah, I really, really enjoyed that one as well. So if uh-oh.
What do I do? I bump something on my phone, because I'm holding it while I'm talking, because I look stuff up on Audible. But yeah. So he walks you through how you wanna approach it, how you wanna set up your website, things like that. And so if you're kind of on the end of, okay, I wanna put together some content or I wanna build my reputation one way or the other, It's a terrific way to kind of figure out how to frame what you've done and who you are so that people can connect with that, if that makes sense.
So, anyway, those are my picks. And, yeah, we'll wrap up here. Thanks, guys. This has been a really, really great discussion. Hey.
Didn't you say you had a sneak peek or something? Yes. I did. So I am working on and I have a few weeks to put this together, but I plan on releasing around Christmas. I'm releasing so to to back up, I did a podcast growth summit.
And by did, I mean next week, it's going live. Incidentally, it starts on my birthday, so go figure. But, yeah, I wound up talking to a guy named Jamie Atkinson, and he does a bunch of podcast coaching and stuff like that. And he introduced me to the idea of a pop up podcast. And so, essentially, what it is is you go to the web page, you put in your email address, and I will send you a private link to a podcast that's exclusive to people who put in their email addresses.
And I am going to it's gonna be a 5 part series. The episodes are probably gonna be 45 minutes to an hour. And I'm just gonna talk through the different pieces of being a top 5% developer and what you could do to make that journey. So if you're kind of stuck, you're not happy with your job for whatever reason, you don't feel like you're growing, you're not sure how to get to the end of the road that you wanna be on. If you're if you're just kinda lost as far as what to do what to do in your career next.
Or maybe you feel like you've gotten to the top of your career. Right? So you are that senior developer that the people kind of already go to at your job, and you're looking at, okay. Well, how do I go from here to the level of people that are speaking at RailsConf or RubyConf who are presenting on a regular basis on the Internet, maybe doing a podcast? That's what this is gonna be.
So if you're at the senior level, some of this stuff is gonna be stuff you're probably already doing. But I really do intend to hit the the content piece of it rather hard and talk about how to kinda get from the 5% to the 1% in the last episode. So if you're looking for that kind of content, yeah, it's gonna be free at least, through the end of the year, through the end of 2020. And it'll come out I think I'm just gonna set it up so that you can go sign up, and it'll come out on Christmas. So you'll get it on Christmas.
You'll get the the episodes. And, yeah, that's what I'm putting together. So that's the sneak peek. I guess the other sneak peek is I'm also working on a podcast called the DevRev where I talk about this for 10 to 15 minutes every day or 5 days a week and just hit one aspect. Like, one and it's not like this, oh, here's here's the idea of what you can do.
No. It's gonna be, hey, go do this. It's gonna be an actionable call to action that's something that you can do relatively quickly to get you a little bit further down that road. So, I mean, for a week, I might do something like, okay, you need to launch your podcast. Here's day 1, and here's how you do it in 5 to 10 minutes.
Here's day 2. Right? And so it all builds on each other. Some of it's just gonna be stuff where it's like, hey, go figure out what your next project is in this area. Right?
And then we just give you an actionable, okay, go set up the get the GitHub repository. Go set up the Readme. Go do this. Right? Or on leadership stuff, it's, you know, go talk to the people that work under you and get their feedback on how you can do better.
And here's here's one actionable thing that you can do. That's that's what I wanna do is I wanna give people a a homework that they can go do, that they can go level up on every day. And I fully expect a lot of this stuff to be cumulative in the sense that as you do a lot of this stuff, not all of it's gonna relate to each other. But, eventually, it'll all play into leading you into that place where you're getting to be that 5 top 5% developer. So there you go.
2 sneak previews. Cool. And then, of course, there's gonna be courses and stuff on the other end of it. But for right now, I just wanna get that out there because so many people are struggling with this. And for heaven's sake, let's get you there.
So, yeah, that's it. That's that's what I'm working on. Alright. Well, let's go ahead and wrap this up. And, yeah, thanks again, guys, for all of your input because, yeah, it helped clarify some stuff for me too.
Yeah. Max out, everyone.
What is a Top 5% Developer? - RUBY 644
0:00
Playback Speed: