More work on the feelings chapter
[themediocreprogrammer.git] / chapter07.md
index 9d7a2d58fd98ae282349442b5dcb185b76b4b1b5..1fbe5f2e02a166654864bfe6d28f7df229edc16c 100644 (file)
@@ -2,7 +2,7 @@
 
 ## The emotions of programming
 
-There's a stereotype of a programmer sitting emotionless in front of the computer. They sit, quietly entering lines of code as though they were transcribing them from memory. But if you're a programmer or have been around programmers you know that the stereotype should be that of a frustrated composer. Sure we sit in front of our computers in long periods of silence and concentration but we're far from emotionless. We bask in the glories of code that works perfectly the first time. We glower at code that misbehaves. We go from cheering ourselves in victory to cursing the machine and threatening it with clenched fists. We clench our teeth when bugs rear their misbehaving heads. We swing from emotion to emotion: exuberance, joy, fear, anger, resentment, sadness, loneliness, guilt, and shame. 
+There's a stereotype of a programmer sitting emotionless in front of the computer. The stereotypical programmer sits, quietly entering lines of code as though they were transcribing them from memory. If you're a programmer or have been around programmers you know that the stereotype should be that of a frustrated composer. Sure, we sit in front of our computers in long periods of silence and concentration, but we're far from emotionless. We bask in the glories of code that works perfectly the first time. We glower at code that misbehaves. We go from cheering ourselves in victory to cursing the machine and threatening it with clenched fists. We clench our teeth when bugs rear their misbehaving heads. We swing from emotion to emotion: exuberance, joy, fear, anger, resentment, sadness, loneliness, guilt, and shame. 
 
 No wonder we're exhausted by the end of the day.
 
@@ -16,71 +16,75 @@ There are several factors that can cause us emotional highs and lows while progr
 
 If we clearly see where and how this code will become useful we can get a sense of drive and purpose --- we're working toward something that will benefit folks! We know that people are depending on us so we do our best to make the code work regardless of the pitfalls that await us. We tap into the emotional highs of self-worth and purpose to help carry us through to completion.
 
-The opposite is true, of course --- if we don't see the purpose then our work will seem useless and in vain. We'll struggle to meet deadlines and feel a sense of worthlessness in our pursuits. Sometimes it's a project that isn't aligned with our own purposes and goals. Or it could be a poorly managed project that we've been forced to work on because of external pressures. We can be held to meet arbitrary deadlines that we never agreed to meet. And we can become frustrated if we don't see the point of what we're working on. 
+The opposite is true, of course --- if we don't see the purpose then our work will seem useless and in vain. We'll struggle to meet deadlines and feel a sense of worthlessness in our pursuits. Sometimes it's a project that isn't aligned with our own purposes and goals. It can be a poorly managed project that we're being forced to work on because of external pressures. We might find ourselves being held to meet arbitrary deadlines that we never agreed to meet. And we can become frustrated if we don't understand the ultimate goal of what we're working on. 
 
 ### Engagement vs. boredom
 
 You've already experienced several layers of engagement with your programming. These are the projects that don't feel like a chore while you work on them. You feel like you're learning something each step of the way. The outside world disappears while we work in this cocoon of focus. We lose track of time and feel both disoriented and refreshed when the work is completed.
 
-Unfortunately you're probably more experienced with the opposite of engagement: boredom. The code base doesn't engage you at all. The topic you're learning or working on is just re-hashing something you already know. It's a chore to get started. Everything in the world feels way more interesting and the minutes drag along throughout the whole process. 
+Unfortunately you're probably more experienced with the opposite of engagement: boredom. The code base doesn't engage you at all. The topic you're learning or working on is just re-hashing something you already know. It's a chore to get started. Everything else in the world feels way more interesting and the minutes drag along throughout the whole process. 
 
 ### Awake vs. tired
 
-Sleep is a major contributor for how we perceive the world. Getting enough sleep allows us to feel refreshed, awake, and inspired. We need to have the energy reserves to take on whatever challenges befall us. But when we don't get enough sleep (or enough quality sleep) we become irritable and less-open to engagement. We conserve our resources as best we can lest we use them up too quickly. We look to stimulants (caffeine, distractions, and the like) to keep us engaged throughout the day.
+Sleep is a major contributor for how we perceive the world. Getting enough sleep allows us to feel refreshed, awake, and inspired. We need to have the energy reserves to take on whatever challenges befall us. When we don't get enough sleep (or enough quality sleep) we become irritable and less-open to engagement. We conserve our resources as best we can lest we use them up too quickly. We look to stimulants (caffeine, distractions, and the like) to keep us engaged throughout the day.
 
 ### Mental state
 
-I'm using "mental state" in a broad sense to cover any of our existing feelings and current mental well-being. These can range from temporary feelings of unhappiness and melancholy to complex and serious topics like clinical depression and Post Traumatic Stress Disorder (PTSD). Our minds are complex machines that do their best to adapt to the situations and environments presented to them. At times this can clash with our desires to be productive and the struggle between our mental state and our desires can cause further emotional drain, discomfort, and despair.
+I'm using "mental state" in a broad sense to cover any of our existing feelings and current mental well-being. These can range from temporary feelings of unhappiness and melancholy to complex and serious topics like clinical depression and Post Traumatic Stress Disorder (PTSD). Our minds are complex machines that do their best to adapt to the situations and environments presented to them. At times this adaptation can clash with our desires to be productive and the struggle between our mental state and our desires can cause further emotional drain, discomfort, and despair.
 
 There are more things that can affect our emotions but these are the ones that I'd like to focus on as they cover a broad spectrum of what we bring to the tasks of learning and programming.
 
 ## Awareness of our Emotional State
 
-Being aware of our emotional state (what we're feeling right now) gives us our current emotional location. We can see where we are and understand what our mind is telling us. Giving ourselves a few moments to truly see what emotional state our mind is in will help us to move forward.
+Being aware of our emotional state (what we're feeling right now) gives us our current emotional location. We can map out where we are and understand what our mind is telling us. Giving ourselves a few moments to truly notice what emotional state our mind is in will help us to move forward.
 
-Note that we're not trying to change our emotional state. We're not trying to force ourselves to be something that we aren't. If we're truly unhappy with where we are or what we're doing it's more helpful to understand what's causing our unhappiness rather than try to paper over those emotions. Seeing our emotions clearly allows us to see what is causing them. Being present with these emotions allows us to better understand our mental state and what we're capable of in the moment.
+Note that we're not trying to change our emotional state. We're not trying to force ourselves to be something that we aren't. If we're truly unhappy with where we are or what we're doing it's more helpful to understand what's causing our unhappiness rather than try to paper over and prevent those emotions. Seeing our emotions clearly allows us to recognize what is causing them. Being present with these emotions allows us to better understand our mental state and what we're capable of in the moment.
 
 You can do this in the context of mindfulness meditation but even sitting at your desk and thinking "for one to two minutes I'm just going to sit here and explore my emotional state" should suffice. Noticing our emotions, understanding what they are, and digging in to find out what is causing them can help us understand what we're feeling.
 
-You might already know what is causing these emotions and emotional state and be afraid of exploring them. Some emotions may overwhelm us and make us feel things that we don't want to feel. Do as much of this as you are able and be gentle with yourself. You may find that your gentle prodding of these emotions can lead you to better understand them. Be as brave as you can with these emotions and if they start to overwhelm you then pull back and let the residue of those feelings subside before continuing.
+You might already know what is causing these emotions and emotional state and be afraid of exploring them. Some emotions may overwhelm us and make us feel in ways that we don't want to feel. This is especially true for emotions related to anxiety and PTSD. Do as much of this as you are able and be gentle with yourself. You may find that your gentle prodding of these emotions can lead you to better understand them. Be as brave as you can with these emotions and if they start to overwhelm you then pull back and let the residue of those feelings subside before continuing.
 
 ## Our story
 
-Each one of us has a story that we tell ourselves. These stories shape our perception of the world. We tell ourselves stories of how the day will be and how we will engage with the day. We create a world through our stories in which we are the central protagonist of our story (which we are). We tell stories like "the work I'm about to do will be amazing" or "I'm going to work through this problem quickly and will have an awesome solution when I'm done". Or we weave a tale about how we're not good enough at what we're doing and will likely fail in the attempt. We create a complex tale of struggle, pain, and misery where everything wrong with the world is the direct result of our actions. 
+Each one of us has a story that we tell ourselves. These stories shape our perception of the world. We tell ourselves stories of how the day will be and how we will engage with the day. We create a world through our stories in which we are the central protagonist of our story. We tell stories such as "the work I'm about to do will be amazing" or "I'm going to work through this problem quickly and will have an awesome solution when I'm done". That's if we're being positive with ourselves. When we're being negative with ourselves our stories weave a tale about how we're not good enough at what we're doing and will likely fail in the attempt. Those stories create a complex tale of struggle, pain, and misery where everything wrong with the world is the direct result of our actions. 
 
 Our emotions help inform the type of story we tell. If we're feeling amazing we tell ourselves that what lies ahead will also be amazing. If we're feeling down and defeated our story reflects our defeated tone.
 
-The truth is that our story is just that --- a story. Our stories are not a guarantee of how the day will progress. We can tell ourselves that today will be amazing and watch in horror as each interaction causes our day to be anything but amazing. Or we can say that today will be terrible and we won't accomplish anything, but instead have a pretty decent and productive day.
+The truth is that our story is just that --- a story. Our stories are not a guarantee of how the day will progress. We can tell ourselves a story that today will be amazing and watch in horror as each interaction causes our day to be anything but amazing. Or our story could be that today will be terrible and we won't accomplish anything, but instead we experience a decent and productive day. The story only accentuates what we're experiencing; it can't predict what we will experience.
 
-What we can do instead of being attached to these grand stories is focus more on the things that we love about the present moment. Instead of saying that we're going to have an amazing day we can say that there are things that we are looking forward to in this project and we hope we can work on them soon. Instead of filling your day with stories of dread and doom you can focus on the little victories along the way. (Yes, even something as small as "my computer booted without crashing" can be a victory.) Our intention can be to have a great next 10 minutes (in our focus containers from the previous chapters) and keep working with that intention throughout the day. They won't all be perfect (perhaps your computer is being extra stubborn today) but we can re-calibrate for the next 10 minutes to see if that container might be better.
+Rather than being attached to these grand stories we can focus more on the things that we love about the present moment. Instead of a story that you're going to have an amazing day you could focus on the aspects of your project that appeal to you and hope that you can work on them soon. Instead of filling your day with stories of dread and doom you can focus on the little victories that happen along the way. (Yes, even something as simple as "my computer booted without crashing" can be a victory.) One of those little victories could be setting an intention to remain focused and curious for the next 10 minutes (the focus container from previous chapters) and celebrating when you make it through that intention. You can get more little victories as you keep working with that intention throughout the day. Our little victories won't all be perfect (perhaps your computer is being extra stubborn today), but we can use them to re-calibrate our day for the next 10 minutes and keep using them to re-calibrate throughout the day as each container of focus becomes another little victory.
 
-Giving ourselves the power to focus more on the present and the very next steps we're about to take gives us the freedom to re-calibrate as the day progresses. We can focus on the positive aspects of what we're doing instead of seeing how reality is diverging from our internal stories. We can course-correct throughout the day and try to trend towards a more productive day rather than see how distant we are from our ideal day and wonder if there's any point to doing any of it.
+Giving ourselves the power to focus more on the present and the very next steps we're about to take gives us a mindful way to check in with ourselves and our progress. We can focus on the positive aspects of what we're doing instead of worrying how reality is diverging from our stories. We can course-correct throughout the day and keep trending towards a more productive day rather than fretting about how distant we are from our ideal day.
 
-This will take practice. We're accustomed to letting our stories drive our day. But over time we'll be able to break our day into chunks where we can be more flexible with our stories.
+This will take practice. We're accustomed to letting our stories drive our day, but over time we'll be able to break our day into smaller chunks where we can be more mindful of stories we tell ourselves.
 
 ## Awareness in action
 
-Say that in this moment we're feeling anxious. We've just received a bug report and it's related to something we've been working on. The bug report states that code that we committed earlier isn't working and probably has never worked the way we thought it worked. As we read the bug report our anxiety levels increase. Our inner monologue kicks in and we start telling ourselves that we aren't nearly as good as we thought. We're not perfect. We suck. We didn't get enough sleep the night before so our emotions are in a state of heightened awareness. Our mind races and flashes images of the other times when we've failed. As we keep reading our sense of dread kicks in. Our internal monologue kicks in: "What will they think of me? What do they think of me now? Am I going to lose my job over this?"
+Let's pretend for a moment that it's a typical day for us. Today we're feeling anxious. We've just received a bug report and it's related to something we've been working on. The bug report states that code that we committed earlier this year isn't working and likely never worked the way we thought it worked. As we read the bug report our anxiety levels increase. Our inner monologue kicks in and we start telling ourselves that we aren't nearly as good as we thought. We're not perfect. We suck. We didn't get enough sleep the night before so our emotions are in a state of heightened awareness. Our mind races and flashes images of the other times when we've failed. As we keep reading our sense of dread kicks in. Our internal monologue becomes a frenzied chatter: "What will they think of me? What do they think of me now? Am I going to lose my job over this?"
 
-Before we've even finished reading the bug report we've created a story. The story begins with a montage of our past failures and adds this latest bug report to that montage. Our story then ratchets up the pressure by raising the stakes of the importance of this bug report: not only do we have to fix whatever broke but now we have to fix our reputation and start a job search. As the story progresses in our minds we're wondering if we'll ever work as a programmer again, and feel that our career as a programmer is over.
+Before we've even finished reading the bug report we've created a story. The story begins with our own anxiety for what will happen during the day. Then the worst happens: we get something that confirms our fears. The story then presents us with a montage of our past failures and adds this latest bug report as a capstone to the montage. Our story then ratchets up the pressure by raising the stakes of the importance of this bug report: not only do we have to fix whatever broke but now we have to fix our reputation and start a job search. As the story progresses in our minds we wonder if we'll ever work as a programmer again, and feel that our career as a programmer is over.
 
-The story we've created isn't a pleasant story, but I'm sure you can relate to the factors that generate it. You've probably had similar stories play out in your head. It's a story that draws from the rich lakes of our insecurities and feelings of inadequacy. It's fueled by fear: fear that you'll ruin your reputation, fear they won't trust you, and fear that you'll fail.
+That story we created is a terrible story, but I'm sure you can relate to the factors that generate it. It's a story that draws from the deep pools of our own feelings of inadequacy and insecurity. It's fueled by fear: fear that you'll ruin your reputation, fear they won't trust you, and fear that you'll fail.
 
 Fear is one of the most powerful emotions we have but it's not the only one. Reading that bug report may also elicit other emotions like grief (we thought that code was good and now that thought is gone.), uncertainty (how will we fix the problem?), and anger (how could we have deluded ourselves into thinking this worked?). We may also feel other feelings: sadness, loneliness, and abandonment. Our sense of self worth may also be affected, and we could feel disconnected from those whom we serve and the folks we work with.
 
 Being aware of these feelings can help us diagnose the story we told ourselves and how it didn't match reality. These feelings and the story we told ourselves can give us feedback on how we are perceiving our world and the work we're doing. Pausing for a moment to acknowledge our feelings and understand where they are coming from give us an understanding of what our emotions are trying to tell us.
 
+You can relax now. The bug report in this book isn't real, but take a moment to recognize the feelings that you felt when you read the above section and notice where your mind went. That's the kind of awareness we're seeking to have.
+
 ## Finding our feelings
 
-Our feelings manifest themselves in our bodies in many different ways. Fear can be a knot in our stomach or tension in our chest. Anger can make our head feel hotter, or we can feel our jaw clenching. When we notice these feelings we can pause for a moment and just sit with our feelings and keep noticing them. Think of this exercise as though you are scanning your body looking for the source of the feelings you have. Notice where your mind is drawn: tightness of your chest, tightness in your stomach, a clenched jaw, or whatever you may feel. Notice the sensation of that feeling. You can dig deeper and try to find the underlying causes of the feeling but for now just notice that it exists. Sit for a few moments more and be curious about how it feels. Let the feeling exist --- be kind and gentle with it. Give it space. Above all don't try to fight the feeling or wish that it would end; just notice it. Eventually the feeling may subside but for now just acknowledge that you have this feeling and you're going to be curious about it.
+Our feelings manifest themselves in our bodies in many different ways. Fear can be a knot in our stomach or tension in our chest. Anger can make our jaw clench or make our head feel hotter than normal. Sadness can feel like a weight upon our shoulders, or make us feel tired. When we notice these feelings we can pause for a moment and just sit with our feelings while we keep noticing them. Think of this exercise as though you are scanning your body for the source of the feelings you're having. Notice where your mind is drawn: tightness of your chest, tightness in your stomach, a clenched jaw, or whatever you may feel. Notice the sensation of that feeling. You can dig deeper and try to find the underlying causes of the feeling but for now just notice that it exists. Sit for a few moments more and be curious about how it feels. Notice any other attributes about that feeling: color, texture, intensity, or any other attributes you're experiencing. Let the feeling exist --- be kind and gentle with it. Allow it to exist without judgment. Give it space. Above all don't try to fight the feeling or wish that it would end; just notice it. Eventually the feeling may subside but for now just acknowledge that you have this feeling and you're going to be curious about it.
 
-Some feelings and emotions may be more painful or traumatic than others. Give them space and be curious about them for as long as you are able to. If you notice yourself starting to panic or feeling overwhelmed by these feelings then you may stop before they overtake you. Remind yourself that these are emotions and are a part of you. You and your emotions work together. You're on the same team.
+Some feelings and emotions are be more painful or traumatic than others. Give them space and let yourself be curious about them for as long as you are able to. If you notice yourself starting to panic or feeling overwhelmed by these feelings then you may stop noticing them before they overtake you. Remind yourself that these are emotions and those emotions are a part of you. You and your emotions work together to help you. You're both on the same team.
 
-This exercise isn't about dwelling in or punishing yourself with your feelings. If the act of noticing these feelings is causing you pain and anguish then you may need some help from a professional or a support group to help guide you in understanding these feelings and where they come from. There is no shame in finding others to help you along your journey.
+This exercise isn't about dwelling on or punishing yourself with your feelings. If the act of noticing these feelings causes you to experience physical or emotional pain then you may need help from a professional or a support group to help guide you in understanding these feelings and where they come from. They can help you to have those feelings without having those feelings overwhelm you. There is no shame in finding others to help you along your journey.
 
 ## Emotional Triage
 
-There's a tendency to want to run away from our feelings, or try to suppress them. Our feelings aren't always pleasant and we want to avoid things that make us unhappy or uncomfortable. And we want our internal narrative to be one of someone who is smart and capable of doing anything we put our mind to doing. But when we feel negative emotions or fail to live up to our stories we start to feel crappy about ourselves. We wonder if this is worth it and wonder if we will ever be happy working with computers.
+### FIXME
+
+We have a tendency to want to run away from our feelings or try to suppress them. Our feelings aren't always pleasant and we want to avoid things that make us unhappy or uncomfortable. We want our internal story to be one of someone who is smart and capable of making the computer do anything we put our mind to doing, but when we feel negative emotions or fail to live up to our stories we start to feel crappy about ourselves. We wonder if this is worth it and wonder if we will ever be happy working with computers.
 
 Think of this practice as emotional triage. Hopefully you've never had to go to a hospital emergency room, but if you have you'll see a whole string of doctors and nurses who are trained to diagnose what just walked through the door and determine the severity of the problem. When we recognize that we're having an emotion we too are diagnosing what emotion we're having and the severity of the emotion. We take these moments when we're having these emotions to see what the emotion is. As we review our emotions we are gentle with them and see them for what they are. A good doctor or nurse doesn't impose their own desires on the patient; they simply accept the patient for who they are, diagnose what brought the patient in to see them, and act accordingly. When we recognize our emotions for what they are and determine where they are coming from we can better understand what we're facing.