No Compromises

Programmers are not shy about telling other programmers when they're wrong. But what can we learn in a situation like his? How can we be wrong with style? In this episode, Aaron and Joel talk about times they've been wrong throughout their career and what they've learned.

  • (00:00) - Aaron admits he was wrong
  • (02:00) - What can I learn from this?
  • (05:30) - Being wrong in public with style
  • (07:00) - Being wrong throughout your career
  • (08:45) - Two people can both be right for their context
  • (10:10) - Silly bit

Sign up for the free Mastering Laravel newsletter and learn a little something about Laravel each day.

Creators & Guests

Host
Aaron Saray
Host
Joel Clermont

What is No Compromises?

Two seasoned salty programming veterans talk best practices based on years of working with Laravel SaaS teams.

Welcome to No Compromises. A peek into the mind of two old web devs who have seen some things. This is Joel.

And this is Aaron. Joel, I was wrong.

Oh, hold on, there must be some audio problem here. Did I hear that right?

Yeah, that was me saying I was wrong.

Okay. I want to hear everything more about this.

I mean, I say it here and there, you know, you've worked with me for a while but I feel like maybe I don't say it enough. And throughout my career, I wonder if I've said it enough and if I should be saying it more.

Well, the only way this could get better is if this also goes with, "I was right."

If it's, "I was wrong and you were right, Joel."

That's right.

I want to talk a little bit about why it's difficult to say you're wrong especially when you're a programmer.

I can relate. So yes, this is good.

First of all, let's just tee it up and say it like, "Let's remember who we are as programmers." If you enjoy being a programmer, it's a thing and you have a natural sort of ability to do it, you're not just hammering your head against the wall. You're probably a pretty logical person, you look at stuff as not completely black and white but there's a lot of exactness perhaps in your life. I think that's some traits that some programmers have, not all. I mean, you're sloppy, Joel.

What? I was just going to say I like a good rule as much as anybody over here.

Right, I knew. But there are some times when you get stuck with something and you maybe are proven even wrong but you don't want to admit it, right?

Sure, this is human nature. I don't think this is just programmers, but maybe we struggle more with it.

Right. In life, I always look at everything I kind of bump into and say, "What can I learn from this?" I was looking for something else on Reddit and I'm not sure how I came across it, but I came across one of the Reddit communities for neurodivergent people. And I don't believe that necessarily is me but I thought it was interesting to look at some of these people, what they're talking about, what their struggles are. Because maybe that'll help me be a better person to understand and work with them in the past too because I can always learn. One of the conversations I ran across was this really abrupt and sort of straightforward conversation. And I loved it a lot because it taught me something great. It was this person and they said, "Hey, why is it that people, when I am right still won't say they're wrong and they seem like they'll never listen to me?" And you have to understand that based off of the group of people we were talking about and listening to here, there wasn't a cocky attitude there, that was just a legitimate question.

Sure.

I read that and my first was like, "Ha-ha-ha, everyone's wrong." But then I remembered where I'm at and what I'm trying to learn and I just read through it. And there was something in there that was useful for me too. And that is, when you are wrong there's two things that pop up in your life so I wanted to explain this in the thread, but I took it and went with it a little bit for myself. Which is, when you're wrong, you could be factually wrong and then you can feel embarrassment and emotions and things about that too. So this thread was explaining that even when someone discovers that they're wrong they might not want to admit that you're right because there's some pride, maybe they're feeling some anger. And this was a thing that they were being explained so that person could learn. And I realized that that happens to me a lot too. I think there's two reasons. I think one is you got pride. We all have pride, especially we've been doing this for creaky long forever. You start to think, "I know a lot of things," so you have that. And the second thing is that, and this is probably just a me thing, I don't mind sharing this, is when I'm wrong and I'm going to sound a jerk, I feel personally that doesn't happen very often and so I'm afraid to say I was wrong because the next time I say something people might not listen to what is now a right answer.

Like it diminishes your authority a little bit.

Yeah. And what was interesting is none of those things are correct, that's not how I should be approaching the world. But I think it's important as, and I'm picking on programmers here, like you said it's everyone. But my experiences tend to be that programmers we have to aim a little bit harder at some of these things to understand some of that stuff compared to maybe someone who's in sales or in people management and stuff like that. I just kind of wanted to throw that out there, Joel. I know I gave you a lot of information but I'm curious what your thoughts are about how easy is it to say you're wrong? And how can maybe someone get better at that? Because you say it to me all the time. You're always like, "Oh man, Aaron, I am so wrong. I'm so glad you're here."

That sounds like me. Well, where I thought of when you were bringing this up, the thing I was connecting to in my own life is I share a lot of information. We have the newsletter and I publish a tip, and I share those on social media. And every time you do that there's an opportunity for somebody to basically either tell you you're wrong or say something that makes you realize, "Oh, I actually was wrong." So part of me definitely I get the embarrassment or the annoyance factor. But I think what really helps me and I don't know if this is a lesson to take for the person receiving it, but the way somebody even says it goes a long way toward helping me admit I was wrong or even be grateful that they shared the information with me. There was actually a tip I shared just a couple weeks ago, I won't get into the specifics. I wouldn't say I was wrong, but I had a code example that was a little misleading or could be interpreted as I didn't understand something. The person who pointed it out was super nice about it and even phrased it as a question. Like, "Hey, I don't quite get this. Can you explain it to me?" And then I'm like, "Oh, no, I'm wrong. This is not correct." But I don't know if he did that intentionally to be nice or disarm me, or if he genuinely was just leaving open the possibility he was wrong. But it helped me a lot and I think that it's so much easier because you don't get defensive if somebody comes at you in a polite and respectful way.

I think you're right. Another thing that you discover as you move on throughout your career is that you will be wrong on every single plateau of what you learn. And I kind of joke about this, especially in the PHP world we have, I would say some pretty defined plateaus of how you learn something because of the way that our ecosystem is structured. There's the easy, just someone gets right into PHP they make a few things. "Oh, I know PHP." No, you don't. And then you got the next person who goes and maybe makes their first Laravel project. "Oh, I know PHP and Laravel." No, you don't. And just moving on. And even now, we'll get to places where I'm pretty certain I know all of Laravel now and then I'll read the manual again and go like, "Oh man, I didn't know that." And you start to find out that even over the years, there's plenty of opportunities for you to know something at the time and be right in your head and maybe still be wrong. So you kind of have to remember that as every sort of belief that you have as you're becoming a better programmer is available to be challenged and could be wrong.

Yeah. I don't know if I'm patting myself on the back here, but I actually do appreciate learning things. And once you get past the initial discomfort of being wrong, especially being wrong publicly. I was reflecting on this, it's like I'm actually learning a lot by trying to teach other people but you have to be open to it. That's kind of one other thought. But then the other thing, just to give us some wiggle room here, Aaron, just to be so we don't have to always feel like we are wrong. Sometimes two people can have a different viewpoint on something and they're not both wrong or one's wrong and the other's right. There's a lot of context in programming. We might share something based on the type of projects we work on, and somebody's working in some giant corporation with a 50-person team and our advice wouldn't apply to them. And we can both be right and still have different opinions.

I was just going to mention that. I was like, I could say that it's wrong to make a for loop to sort of add together a bunch of elements in array, you should use array reduce. But that doesn't necessarily mean one is right or wrong, it just means that maybe these things are different solutions for also the different type of problem and the different level of data and the amount of time it's going to happen and stuff like that too. I realize we were saying wrong a lot and I didn't mean it to come off strong, like "You're wrong." I just mean that there's something I could be doing better and someone told me about it, and now how do I respond?

Yes. And there's degrees of wrongness too. There's something that you can actually be categorically wrong. Like if I had a code example and there was a syntax error in it that's clearly wrong. But then there's these gradations of, "Well, in this scenario that wouldn't be maybe the right way to do it." Just I would think even for the people that are correcting other people to keep that in mind. Your context could be different than the other person's context and that's where some of the difference in opinion is coming from. Aaron, I have some definitions, some trivia, some words I want to throw at you. What do you call a place that has a bunch of broken-down cars just waiting to be scrapped?

Northern Wisconsin.

Okay, all right. We just lost all of our people.

That's where I grew up by the way. That's where I grew up.

Okay, that's fine. But what would you call that? A what-what?

A junkyard.

Yeah. Okay, good. What would you call a place where people are buried and there's a lot of tombstones that is similar to the word you just said? Not cemetery.

I don't know

This wasn't supposed to be a hard question, a graveyard. Okay? A graveyard. I mean, maybe cemetery is-

I was like, "A junk." I was like, "A junk people? That's mean, Joel."

That's just rude. All right, this is the last question and you'll see where I'm going with this. What do you call a farm that you raise grapes to make wine?

Vineyard.

Not a vineyard. Why? Because it's wine it has to be a little bit fancier. Is that what's going on there? I don't know. These are the random thoughts I have and I'm like, "Why is that yard different than all the others? Who's behind this?"

It's like when people say, why are you parked in the driveway and you drive in a parkway?

Is this dad humor? It is.

Yeah.

But these are also the real thoughts that I think, but you don't have an answer do you?

I don't. I'm not going to dignify this one with an answer. Hey Joel, what are you talking about? Like tips or newsletter, what is that?

Aaron, you know what I'm talking about. But for those that don't head over to masteringlaravel.io and we have a signup form right on the homepage to subscribe to our daily tip newsletter.