Today, we're talking about gathering information as part of the developer's job. We'll dive into what it means to use the information we have to translate or create a solution to problems we're solving on a daily basis.
What is the function of the information we're trying to gather and how does this information translate to a usable solution?
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.
This is a daily challenge designed help you become more self-aware and be a better developer so you can have a positive impact on the people around you. Check it out and give it a try at https://www.teabreakchallenge.com/.
Transcript (Generated by OpenAI Whisper)
One of the things I love about being a software engineer is that I get to make information gathering a fundamental core part of my job. As an engineering manager, the same as true. Information gathering, presenting that information, distilling it, finding ways that the information is important to be used, and ultimately taking all of the information that I have and solving problems with it and empowering other people to solve problems with that information as well. And talking about information is almost as fun as actually using that information and gathering it because this information theory is so important to what we do as developers. But sometimes our desire to gather information is misguided and at worst it can hurt us. It can harm our efforts. That's what we're talking about in today's episode. My name is Jonathan Cutrell and you're listening to Developer Tea. My goal on this show is to help driven developers like you find clarity, perspective, and purpose in their careers. We don't have a sponsor for today's episode. In lieu of a sponsor, I'd love for you to go and subscribe and whatever podcasting up you're currently using if you find something valuable in today's episode. I would never ask you to waste your time. So if you think that this podcast is valuable today, then there's a pretty good chance that it's going to be valuable to you in the future. It's not for everybody because we ask for people to sometimes do hard stuff. We ask for you to take a difficult road or accept a different, a difficult reality to accept the fact that sometimes things don't go your way, for example. Sometimes unexpected events happen. And so if you think that listening to a show that's willing to accept difficult realities and still stays optimistic, that's what the show really is about. It's about staying optimistic in the face of uncertainty. And to that point, let's talk about our job as developers and gathering information as a part of the job. Many times we operate in this mode as developers. We have the mode of thinking that our job is to find out what other people are unable to find out. I keep in mind that information is not simply the data, the raw kind of fact. It's filtering those raw pieces of data that are incoming into something usable, something that we can actually act on or that we can build upon. So as developers, part of our job is to have previous knowledge in order to convert that data into usable information on whatever the efforts are that we're working on. And our job sometimes this means translating, for example, from a non-technical language into technical requirements and vice versa. Sometimes we have technical requirements that we need to translate and communicate in non-technical language. So a lot of our information gathering is about understanding the inputs and outputs of that needed information and ensuring that we're converting the right data to the right information points. And we can seek information sometimes in vain or for the wrong reasons. We can get so addicted to seeking information that we act in a mode by default, we've talked about modes recently on the show, we can act in the wrong mode. Sometimes our job is not necessarily to gather more information. And this can really come to light if you ask yourself two specific questions. When you find yourself trying to gain clarity, trying to get more information, trying to uncover something that seems to be obscured, ask yourself these two questions. Number one, how will this information change the way that I act? How will this information change my actions? And then the second question is how will this information change the way that I feel? If you ask these two questions by combining them, you can probably figure out what your motivation is for gathering this information. For example, if you don't really know how it's going to change your actions, but you do know how it might change your feeling that it might make sense to ask yourself whether your feelings are the thing that needs attention. If you are feeling nervous or perhaps you're feeling pressured, but gathering information, you think that gathering the information is going to help you feel less nervous or less pressured, you should ask yourself why? What is the function that this information is going to provide to you? Very often we live under the illusion that information creates clarity and clarity creates certainty. Certainty allows us to kind of reduce our anxiety because we can act more confidently. There's lots of words ending in L, Y here, but hopefully this theory makes sense. The idea that we can gather information to reduce our ambiguity. In other words, increase our clarity and that increased clarity can give us a better handle on certainty. And when we have certainty, our anxiety goes down. Maybe being the feeling that you're not sure what's going to happen and so your brain kind of goes into overdrive, trying to predict what might happen and sometimes those predictions are scary. Sometimes those predictions are so scary that we respond in ways that are more akin to survival instinct than they are to whatever is actually getting ready to happen. Our responses to anxiety are often way out of proportion to the real consequence of this thing even in its worst case scenario. And most often worst case scenarios are fairly rare. And so we try to seek information, sometimes not all the time, certainly as we've already mentioned information gathering is a core function of most developers' roles, but sometimes we seek information because we're scared. We want to reduce our anxiety and we live under the illusion that we can do that by finding information and therefore somehow gathering certainty. And if you listen to this episode this far, you're probably nodding your head because you've probably experienced this exact thing. This happens on teams, it happens to individuals and it happens even in large groups of people, your cultures, our brains seek binary solutions. We want things to be completely solved and solving something completely is much more valuable to us than solving it to a 99% level. And so if you've ever experienced this feeling on a team, you know it goes something like this. You're not really sure how long something is going to take. And your manager may be pressuring you to figure out how you need to figure out how to do this thing and you need to tell me how long it's going to take. And so you get together and you try together to figure out how long it's going to take. You break it down into its smallest pieces, you try to account for the unknowns and in the end you make some best guess estimation about how long something is going to take. Very often even these best guess estimations are way off. Now that doesn't mean necessarily that trying to gather that information is in vain, but we need to understand our motivations and a realistic picture of this simple reality. And this is kind of the difficult thing to accept. The hard, the hard truth for today's episode. The reality is that you will never unfortunately have complete certainty. This is really kind of a philosophy question at its core because it's difficult to know what it means to be certain, but certainty is the ability to know what's going to happen in the future. And that's really kind of the specific thing that you can have certainty about is what's going to happen in the future. And philosophically speaking, you may even be able to extend this to say you don't really even have certainty about what's happened in the past. Part of this is simply because of the vast amount of information that you don't have about your existence, about the world around you, about the universe, about even the small details about what you're working on. The amount of information that you don't have exponentially outpaces the amount of information that you do have. And so if you want to have certainty, then you need to understand how all of that information works together. And on top of that, you have to be able to predict what is fundamentally random. So many events are unpredictable in our lives. Very often those random moments, those random events in our lives that are unpredictable shape so much of the other events in our lives. And so we have to make good guesses sometimes in the face of uncertainty. The important thing here is to recognize that there's a break between clarity and certainty. These two things are not the same. You can have clarity without having certainty. You can have clarity, for example, about the fact that you will not have 100% certainty. So it's important to recognize that these two concepts are separate and that as you gather information, that your information gathering should be pointed at creating clarity without seeking the illusion of certainty. And by asking yourself what you will do with your newfound clarity, that's a more tactical response and that's how you can actually use that time and that energy in finding that information most effectively. If the problem at a fundamental level is based on fear, then gathering information is only a stopgab. It's a temporary solution. Fear is something that has to be dealt with in a different way entirely. Of course, that's outside of the scope of this episode of Developer Tea, but it's something that we may talk about in the future. So if you'd like to hear us talking about fear, then a couple of things. Number one, don't miss out on those conversations. Go ahead and subscribe, as we already mentioned earlier in the show. But secondly, reach out to me. You can find me on Twitter at At Developer Tea. My personal Twitter is at J. Cutrell. That's the letter J-C-U-T-R-E-L-L. You can also email me at Developer Tea at gmail.com. Today's episode is a part of the spec network head over to spec.fm to find other shows and episodes from Developer Tea. Thank you so much for listening to today's episode. Today's episode was produced by Sarah Jackson. My name is Jonathan Cutrell, and until next time, enjoy your tea.