Developer Tea

Subtractive Thinking

Episode Summary

What is on your mind? Today we are talking about ways we can inspect our default state of mind.

Episode Notes

What is on your mind? Today we are talking about ways we can inspect our default state of mind.

Thanks to today's Sponsor: Bitrise

If you're looking for an automatic platform and configuration detection, to build, test & deploy in minutes check out Bitrise. They've got an open source library of 170+ integrations, and the best part there's no scripting needed! Run the same config locally with the open source CLI by downloading the bitrise.yml

If you're looking for a job, they're hiring tooling & dev-Ops engineers at their Budapest office

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

Episode Transcription

What is on your mind? It seems like a simple question to answer. Anything that you're listening to or thinking about or looking at, something maybe that happened a few minutes ago or yesterday or maybe even a memory from years ago or maybe something that's happening later on today, something that you're anticipating. But it's likely that if I were to ask you what's on your mind at an even point in time, you may be able to have an answer for me. You may be able to answer very quickly what you're thinking about. This isn't always true and in fact, sometimes it's difficult to even know what we're thinking about. As an exercise, I encourage you to try some form of meditation to see just how difficult it is to direct your thoughts. Those of you who have tried meditation, you know the frustrating feeling of not being able to turn off your runaway mind. But in today's episode, we're going to be looking at this question from a different angle. More specifically, we're going to be looking at the antithesis of the question. What are you not thinking about? And of course, the answer to the question is relatively infinite, right? And we can refine this question a little bit more and direct it at our own behaviors. What are the things that we encounter that we're not thinking about? 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 uncover their career purpose so they can do better work and have a positive influence on the people around them. And in this particular episode, we're going to be talking about ways that you can inspect your defaults that you can try to push a little bit on the boundaries of your everyday life and try to find things that you're doing or that you've kind of set up as your experience, things that you really are not evaluating, try to uncover what those things are. And more specifically, what you would do without them. So this concept of defaults is something that we've talked a lot about on the show. There's plenty of research to back this up, but everything that you make a default becomes much easier for you. It's easy to choose the default option. And if you set yourself up to have good defaults, then you will make better decisions more easily. This is a very simple concept that if your default way of operating supports healthy habits, for example, or for developers, if your default way of developing software is to always start with a good habit, always start by, for example, writing a test, then it's more likely if you set up that default as the everyday behavior that you're going to continue that, because making that decision is no longer a choice. Instead you have to choose to stray from the good habit. This is something that most people, once they've established a good habit, they want to continue that good habit. And the anomalies are the times where they stray outside of that good habit. Think of someone that you know that eats very well. They have a very good diet, a balanced diet, they're healthy, and every once in a while that person will enjoy birthday cake with everyone else, right? But by a default rule, they don't indulge on a daily basis. They've set themselves up for a healthy default. Now, what I want you to do is to start inspecting your defaults. Don't just actively create new defaults, but look at the ones that you already have established in your life. And this is actually a little bit harder than it sounds, because in order to understand your defaults thoroughly, you might just have to go through some uncomfortable situations. We're going to talk about that in just a moment. After we talk about today's sponsor, BitRise, with BitRise, all of your deployment processes, and we're talking about from the most simple to the most complex, BitRise makes those things easier. And BitRise is specifically for mobile, continuous delivery. And you can take these various blocks that BitRise has. They have over 170 integrations available, and you can take these integrations. You take visual blocks and put them together, kind of like an if this than that, but even more powerful, because you can put as many of these blocks together as you'd like. And it's not just the technical stuff that they cover. They also allow you to send alerts to yourself in Slack, for example. Whenever your build finishes, whether it succeeds or fails, even, you can send yourself a Slack message. Of course, if you're like a lot of developers, you may not want to use a visual interface, and of course, you don't have to. BitRise allows you to edit a YAML file to kind of define this workflow. And then you can use that YAML file and share it with everyone else, and everybody's going to be using the same processes. Go and check it out. Respect out of film slash, BitRise. Then you can get a bit of rise for sponsoring today's episode of Developer Tea. Imagine that you hire someone to watch you on a daily basis, and to record every action that you take. And somehow this person has psychic abilities or some other way of reading your mind, and they also record every thought that you have. And they're such a good recorder that they can record your heartbeat. They can record the steps that you take, where you travel and win. Of course, everything is going to be timestamped in this super long that this person is a massing. And if you were to have this amazing picture laid out in front of you, I want you to imagine if you were to stack all of those together one day after another, all of these logs of things and behaviors specifically that you have. Now of course, we aren't going to be talking in the direction of the quantified self, although we very well might have a guest on that talks about the quantified self very soon. So make sure you subscribe if you want to miss out on that. It's going to be a great discussion. But instead, I want you to look at what things will stand out as patterns. So for example, if this person is recording the time that you open your computer for the very first time every day, how much variance will that timestamp have from Monday to Tuesday or Wednesday or even from Monday to Monday, since we typically structure our weeks as a unit rather than individual days as units, if you take five Mondays, how different are those Mondays going to look and more specifically, how similar will they look? If you're like most people, then most of your days are going to look quite similar. You're going to open your computer for the first time sometime between 7.30 and 9, for example. Of course, this isn't a scientific explanation of real data. This is just a possible reality for someone. They likely will open their computer between 7.30 and 9. And we actually see this as kind of a base rate. We can identify behaviors that not just us, but society in general has. For example, most people check their email or social media immediately when they wake up. And so we start identifying patterns that we have in this super long that this person is gathering and we can start to see things that we do on a regular basis. And these things are essentially our defaults, the writing your diet or the route you take to go to work or the things that you consume media wise or if you're like most people, maybe you feed yourself your own opinions. You find information that agrees with you and you continue to deepen into the same direction that your opinions already are. Of course, you very well may find some interesting and positive defaults in that list. For example, if you're like me, then you try to set up a default that every day you're going to exercise and that in order to not exercise, you would have to plan that. In other words, you don't put exercise on your calendar. You put don't exercise on your calendar. And this is why it's so difficult to evaluate. You don't go to your calendar to find this information. For example, you probably leave work at the same time on most days and that's probably not necessarily on your calendar. So of course, we've established the idea that defaults are important and understanding what it is that we do every day is important as well. And it's important that we understand the defaults that we haven't intentionally created. We've also established that this can be very difficult. It's difficult to understand exactly what we do. Our own behavior is kind of a mystery to us. And while I can't give you every answer of how to uncover your own behavior for yourself, one thing that you could try is what I call subtractive behavior. So this is a very simple concept. I want you to imagine your day without a particular element in your day. And it's more specifically for developers. I want you to imagine working on a project without using a particular technique. So if you're writing JavaScript, maybe you no longer allow yourself just for one day, you don't allow yourself to use a part of the language. You put some kind of constraint on the actions that you're taking. Maybe you don't allow yourself to use turn area operators or if statements, for example. Now, why would this be useful? What does subtractive thinking do? Well, I want to use a simple metaphor to describe this. Imagine that your behavior is kind of like a river. And in that river, there's various rocks and there's land formation and then there are places where the river goes downhill more steeply than others. And there's even erosion and things that are changing over time, even though they may not necessarily be changing right in front of your eyes. Now, imagine that the river, instead of the water being clear, it is very murky. In fact, you can't see the underlying structure of the river bed at all. You can't see the rocks, you can't see the sticks or the animals or how deep or shallow that river is. And it's even difficult to see how quickly it's flowing. In many ways, this is like our behavior. We know where the water is going. We know generally how we behave. We have some insight into our personalities and some people have more than others, but generally speaking, we know how that river flows. But we don't know what is causing that flow to be exactly the way that it is. So when we subtract, that's kind of like reaching into the river and pulling a rock or a boulder out of the river bed. And we watch how the river's flow changes. And the interesting thing is that a very small rock could have a large effect or a small effect. It depends on the placement. And as we remove items from that river bed and as we change the way that the water is flowing, we can start to realize what the effects are of those various behaviors, of those various boulders, rocks, sticks. We can start to understand that if we put that boulder back in place, what it will do to the behavior of the river, to the flow of that water, likewise for our own behavior, when we subtract, we can start to see some interesting effects. We'll give you a very simple example. Something that you do probably multiple times a day, if you're like most people, probably three to five times a day. Most people eat three to five meals a day. Now especially if you're in the category of people who only eat three meals a day, if you want to see the effect of subtraction, try skipping just one meal. Another simple example of this, try skipping the first three hours with your screen in a given day. Whether that's your computer or your phone, it may not be practical to do this on a work day, but try it on a weekend. Imagine what your life would be like if you subtracted that small rock out of your river bed. How does the flow of your life change? The goal here isn't necessarily to remove everything out of the river bed. I'm not going to tell you that you need to give up your screens entirely, for example. Of course, there are some things that if you were to give up entirely, you may be healthier without them. That's not the goal of this exercise. The goal of subtractive behavior or subtractive experimentation in your behavior is to understand just how much of a linchpin or how affecting that particular thing is to your life. Another simple subtraction behavior. Try going a day without a clock. Now again, you want to choose a day that is relatively safe. You don't get fired by not being on time for a meeting, but imagine what your life is like on a given day without a clock. This is a single subtraction. It really is subtracting the concept of time. The concept of measured time more specifically. How would that change your life? And perhaps it will change it drastically. Perhaps that one small subtraction won't just shift the way the river flows. It may change the course of the river entirely. The only way that you're going to know is through the subtraction. Thank you so much for listening to today's episode of Developer Tea. I hope this has been an engaging concept for you. Even if you don't necessarily go all out with subtraction, at least you can start to think about how your life would be different if you were to remove something. Even if you were to replace something in your life, how would it change? This really allows you to choose your activities a little bit more deliberately. Thank you so much for listening to today's episode. Thank you again to BitRise for sponsoring today's episode. BitRise provides you with mobile continuous integration and delivery for your whole team. With dozens of integrations for your favorite services, go and check it out, spec.fm slash bitRise. If you're enjoying these episodes, and hopefully you are, hopefully the content that we produce on the show is useful and engaging. If it's not, then I hope that you will spend your time better. I hope you go and find something better to spend your time on. But if you are enjoying this, and we have over 500 episodes now, we've said this on the show on each episode this week, we have over 500 episodes. All of these episodes take time and they take a lot of energy, and they're totally free to you because I believe in the development community. If you have found this valuable and you want to give back, there is a simple way you can do that. If you go and subscribe, rate, and review the show. This will only take two or three minutes, but it can have a majorly positive impact on the show's ability to reach new developers, just like you, who need to hear about these concepts. They need the same kind of thinking, they need the same discussions. The youth had as a result of this show, the same thoughts that you've been able to entertain as a result of this show. That's why that helps Developer Teabecause we can reach new developers if you go and subscribe rate and review, it's the best way to help Developer Tea, get in front of the eyes of those other developers. Thank you so much for listening to today's episode and until next time, enjoy your tea.