When was the last time another developer said something that you disagreed with? In today's episode, we're talking about theories. How someone can be wrong but more often how we can all be right.
Today's Episode is Brought To you by: Linode
Instantly deploy and manage an SSD server in the Linode Cloud. Get a server running in seconds with your choice of Linux distro, resources, and node location. Developer Tea listeners can get a $20 credit and try it out for free when you visit: linode.com/developertea and use promo code: DeveloperTea2018
P.s. They're also hiring! Visit https://www.linode.com/careers to see what careers are available to you.
Get in touch
If you have questions about today's episode, want to start a conversation about today's topic or just want to let us know if you found this episode valuable I encourage you to join the conversation or start your own on our community platform Spectrum.chat/specfm/developer-tea
🧡 Leave a Review
If you're enjoying the show and want to support the content head over to iTunes and leave a review! It helps other developers discover the show and keep us focused on what matters to you.
Transcript (Generated by OpenAI Whisper)
What was the last time you heard a smart developer say something that you disagreed with? Then you felt maybe self-conscious about disagreeing with them. This happens quite a lot to most developers because many of us work with talented Developer That we respect and that we appreciate the work that they do and sometimes we disagree. This is a human experience but there's also more to the story than us just being human. It's not just about our egos. In today's episode we're going to talk a little bit about theories. Why we have colliding theories and when sometimes people are wrong but sometimes everyone can be right. My name is Jonathan Cutrell and you're listening to Developer Tea and my goal in this show is to outdriven developers like you connect to your career purpose so you can do better work and have a positive influence on the people around you. In today's episode I want to discuss the idea of theories but typically we don't really ascribe the word theory to anything more than a guess. Theories have a long history in science and you could say that science is essentially dependent on theories to even exist. We need theories to be able to test any kind of scientific method against them and to come out with some kind of new information that either affirms or denies our theories. We have theories as developers. We have theories as humans but not all theories are created equal. Not all theories are even made up of the same stuff. In fact there are two main types of theories and which one you are using which one you are relying on for your opinion in a given moment can make a huge difference in how you parse and use both the theory and your opinion. We're going to talk about those two types of theories right after we talk about today's awesome sponsor Linode. With Linode you can instantly deploy and manage an SSD server in the Linode cloud. You can get a server running in just a few seconds with your choice of Linux distribution resources and node location. Linode is going to give you essentially a $20 bill for their services. This is equivalent to four free months on their introductory plan that's a $5 month plan. That plan is no slouch. It gives you a gigabyte of RAM right out of the gate. You can also opt for higher memory plans. Those start at 16 gigabytes. Linode has a seven day money back guarantee and they have hourly billing with a monthly cap on all their plans and add on services. You can do things like backups. You can have node balancers and long view. Long view has all of these metrics that you can watch the performance of your server over time. They have 24, seven friendly customer support. They even have phone support available. Go and check it out. Owen, by the way, all this runs on top of native SSD storage with a 40 gigabyte internal network. If you're doing some multi-server internal networking stuff, then it's going to be super fast. Go and check it out. Head over to Linode.com slash Developer Tea. That's Linode.com slash Developer Tea. All one word to get your $20 worth of credit. Use the promo code Developer Tea2018 Developer Tea 2018. Thanks again to Linode for sponsoring today's episode of Developer Tea. We've got two types of theories. These are two species of theories that we can use in a given scenario. Even describing theories this way is itself a theory. We're going to talk about which type that is in just a moment. Let's talk about the first type of theory that we can use. That is perhaps the most commonly accepted or relied upon type of theory. That is event theory. An event theory is something that you can observe and then proceed to make assertions about. An event theory says that X will happen. Then you perform some kind of action and determine did X happen or not. Event theories are largely predicated on the idea of proof that you can reliably and consistently provide a proof that will essentially predict that that event is replicable. Now, an event theory doesn't necessarily have to have a perfect proof that explains it. That's the theory that we think about graduating into proof status. Imagine that a proof is something that is a proven theory. This is the etymology of this word has confused us a little bit. We don't always think about the other type of theory that we're going to talk about in just a moment. We almost always imagine that theories are either provable or not. Either they are true or they are untrue. Therefore, we often wrongly state that something is either proving or disproving our theory. We watch some event occur, whether that's an interpersonal event, maybe it's an event in our code, maybe it's a business event, something happens in the world. We use that information to make a statement like, well, that's not true because this happened. Your belief about this thing is untrue because I observed an event that disagreed with your belief. These statements essentially flatten the concept of a theory into event-based theories only. But there's another kind of theory. Perhaps a more commonly used type of theory that is often misunderstood and that's called a construct theory. A construct theory is judged not based off of its accuracy, but instead based off of its usefulness. What does this mean? Well, having these two types of theories, as we said before, even this episode is using a construct theory to describe theories themselves. In other words, there's no way to prove that there are only two types of theories. There's no event that we can observe that kind of perfectly slices up every possible type of theory that's out there and easily categorizes them into one of the other. Instead, a construct theory provides a framework for viewing things. We can have many types of construct theories that are not necessarily in agreement with each other, describing the same subject matter from different points of view, and all of them could be useful. And as it turns out, this actually happens a lot for developers. We have construct theories about how to design programs in a way that is most accessible to other people. We have construct theories about how to best run a business or how to best run an interview. And we end up building our opinions largely based on these construct theories. And a lot of times our construct theories are built off of perhaps many stacks of event theories. We use science to describe the ways that things interact. And then we kind of abstract away from multiple of those event theories. We abstract them into a single construct theory. A good example of this might be a teaching method. A teaching method takes multiple studies, multiple even controlled case studies, for example, and tries to draw out various principles or ways of thinking, ways of doing, ways of operating, and builds a system from all of those studies. Builds a system that operates as a theory for how to teach. Now, this theory is not going to be easily provable. Perhaps we can judge various construct theories based on their usefulness after the fact. But it's difficult to look directly at a construct theory and decide is this useful or is it not? A construct theory doesn't necessarily have to have other proven theories that back it up. If it is useful, if it provides some accurate depiction or some utility to the person who is using it as the tool that it is, then that construct theory might provide more value than other theories. Ultimately, a lot of our arguments as developers are trying to argue whether a construct theory is right or not. Instead, what we should be looking at is, are these construct theories valuable or not? Are they useful to someone? Perhaps they're not useful to me, but that doesn't necessarily mean that they're not going to be useful to you. And so, if you have strong opinions about something, and I have strong opinions that differ from yours, that doesn't mean that we have to decide who's right or who's wrong. Instead, perhaps we can learn from each other's construct theories. Perhaps we can develop new construct theories. And maybe we can focus on things that are more valuable than trying to prove the unprovable. I'd encourage you as kind of a takeaway note on today's episode. If you're interested in learning a little bit more, the inspiration from this episode comes from Andy Hunt's book, Pragmatic Thinking and Learning. If you're not familiar with Andy Hunt, then perhaps you've heard of his other book, the Pragmatic Programmer. And in this book, Andy Hunt details a lot of information that is useful to developers. One of the things, and just a sidebar was a note about these different types of theories, construct theories, and event theories. I encourage you to go and pick up that book. Thank you so much for listening to today's episode of Developer Tea. Thank you again to today's sponsor, Linode. You can get $20 worth of Linode credit by using the code Developer Tea 2018 at checkout. Head over to Linode.com slash Developer Tea to get started today. Thank you so much for listening. If you haven't yet taken a moment to leave a review in iTunes, this is the best way to help other developers like you find and listen to Developer Tea. Thanks so much for listening and until next time, enjoy your tea.