More editing on asking for help
[themediocreprogrammer.git] / chapter07.md
index 6061f48ec1cd6b95585a60d09aafc9fa63a32dee..ab3ad027fca0b6a1aab1f8c33c93d6d7808440c2 100644 (file)
@@ -92,40 +92,40 @@ With this practice we can turn our emotions from something that drives us into s
 
 ## Burnout
 
-### FIXME
-
-One thing that our emotional triage can help us diagnose is feeling burned out. Burnout is a collection of emotions coupled with emotional and physical exhaustion. Burnout can be something as simple as being bored or overworked but it can also be the sign of something more serious. Burnout can lead to physical or mental complications if we're not careful. We can work ourselves into serious levels of exhaustion and delude ourselves into thinking it's part of the price we have to pay as programmers.
+One feeling our emotional triage can help us diagnose is the feeling of being burned out. Burnout is a collection of emotions coupled with emotional and physical exhaustion. Burnout can be something as simple as being bored or overworked but it can also be the sign of something more serious. It can lead to physical or mental complications if we're not careful. We can work ourselves into serious levels of exhaustion and delude ourselves into believing it's part of the cost of being a programmer.
 
-Burnout manifests itself in different ways. For some it may be the feeling of dread while working on a project. They feel like they are ineffectual in making any changes. For others burnout can be feeling exhausted. They feel as though they're on a treadmill that just will not stop. Worse, they wanted that treadmill to stop a long time ago. Burnout can also manifest in feeling creatively drained, where imagining a different future is difficult and things you used to find inspiring or interesting no longer generate that spark.
+Burnout manifests itself in different ways. For some it may be the feeling of dread while working on a project. They feel like they are ineffectual in making any changes. For others burnout can be feeling exhausted. They feel as though they're on a treadmill that will not stop. Worse, they wanted that treadmill to stop a long time ago. Burnout can also manifest in feeling creatively drained, where imagining a different future is difficult and things that were once inspiring or interesting no longer generate that spark.
 
-Burnout is tricky to self-diagnose because it is a collection of seemingly unrelated emotions. Our feelings of boredom, fear, exhaustion, and anxiety can all have different root causes, but when we combine them with an unrelenting working schedule and loss of control we amplify those feelings. Left unchecked we can lead ourselves into trying to numb out those feelings. We find ourselves not wanting to program anymore, and resent ourselves for ever getting into programming in the first place. We can cause ourselves more undue suffering by just "powering through it" which can lead us to compound and complicate our emotional state.
+Burnout is tricky to self-diagnose because it is a collection of seemingly unrelated emotions. Our feelings of boredom, fear, exhaustion, and anxiety can all have different root causes, but when we combine those feelings with an unrelenting work schedule and loss of control we amplify those feelings. Left unchecked we can lead ourselves into trying to numb out those feelings. We'll find ourselves not wanting to program anymore, and resent ourselves for ever getting into programming in the first place. We can cause ourselves more undue suffering by just "powering through it" which can lead us to compound and complicate our emotional state.
 
 There are some things we can do to understand and help alleviate burnout:
 
 1. Realize that we're burned out, or about to burn out. Acknowledging that we're about to burn out is key to not experiencing the burnout. That seems simple enough but we tend to ignore the symptoms when we're nearing the throes of burnout. If we can recognize that we're about to burn out then we can take measures to avoid it. And if we realize that we're burned out we can take measures to be kind to ourselves and help ourselves out of this burned-out state.
-1. Examine our emotions. Sit for a while and see what emotions come into view. Are we feeling stress, fear, anxiety, nervousness, or anger? See what feelings emerge and recognize these feelings. Examine where these feelings are coming from and what might be triggering these emotions.
-1. Re-negotiate our commitments. Many times burnout is the result of over commitment, whether to ourselves or others. We always have too much to do and despite our best efforts we always meet all of our obligations. Perhaps the plans we made were too aggressive, or something changed in the world that disrupted our plans. Whatever the reasons we may need to re-evaluate what is expected of us and what we are capable of doing. If we see that we've created an intractable situation for ourselves we need to figure out how to cut away some of these obligations or re-negotiate them.
+1. Examine our emotions. Sit for a while and notice what emotions come into view. Are we feeling stress, fear, anxiety, nervousness, or anger? Notice what feelings emerge and recognize these feelings. Examine where these feelings are coming from and what might be triggering these emotions.
+1. Re-negotiate our commitments. Many times burnout is the result of over commitment, whether to ourselves or others. We always have too much to do and despite our best efforts we will always acquire new obligations. Perhaps the plans we made were too aggressive, or something changed in the world that disrupted our plans. Whatever the reasons we may need to re-evaluate what is expected of us and what we are capable of doing. If we see that we've created an intractable situation for ourselves we need to figure out how to remove some of these obligations or re-negotiate them.
 1. Give our "drive" a rest. Unlike our mechanical counterparts we need downtime and rest. We can't work a straight 8 or more hours without at least some moments where we aren't working. Programming demands a lot of mental bandwidth and pushing ourselves to exhaustion can lead to emotional instability, stress, and burnout.
-1. Examine if this is truly how we want to live our lives. We need to be aware if what we're doing is really what we want to be doing. If we're not happy doing this then every moment we continue doing this can compound our feelings of unhappiness. If we look deep in ourselves and feel nothing but dread in our current situation then we may need to renegotiate our commitments. That can be something as simple as agreeing not to learn something right now, or can be as complex as taking on different work or changing careers.
+1. Examine if this is truly how we want to live our lives. We need to be aware if what we're doing is really what we want to be doing. If we're not happy with what we're doing then every moment we continue doing this can compound our feelings of unhappiness. If we look deep in ourselves and feel nothing but dread in our current situation then we may need to renegotiate our commitments. That can be something as simple as agreeing not to learn something right now, or can be as complex as taking on different work or changing careers.
 
 By understanding that we're headed toward burnout (or are burned-out already) we can take measures to course-correct so we can approach our programming practice with joy and enthusiasm. Sometimes taking a step back and re-evaluating what we're doing can help us not sit in the constant loops of frustration, anger, and guilt. Changing our story to better fit reality can keep us from trying to match an impossible dream. 
 
-I mentioned above about re-negotiating commitments. Often we'll get ourselves into situations where we have way more to do than is physically possible, even under the best of circumstances. This may be in part because we've said "yes" to too many things, or may be because we're being swamped with outside work commitments (a large high priority project, or several smaller projects that need urgent attention). The best way to renegotiate your work load is to review your work load and notice which ones feel more urgent and which ones feel important. Note which ones fall into those two categories. Next mark the due date (as best you can) of each of these tasks. If you have more than three urgent and important items and they're due later this week then it's likely you're being overworked and will want to renegotiate those commitments. You may think that you should be able to do all of these things but if you're already feeling stressed, tired, and burned out then you'll only compound those feeling by trying to meet these deadlines. If you can see if you can move some of these deadlines to next week, or check with your customers if these are really as urgent and important as you think they are. If they are then see if your management can assist you with other resources, or intervene to renegotiate these deadlines and priorities. If you're truly stuck (management won't budge and the customers are firm with this commitment) then you have some decisions to make about how important their priorities are versus your own capabilities. There's the temptation to say that your management and your customer's priorities are more important but your own health and well-being should have more weight in your decision than their priorities and deadlines. Perhaps you can negotiate some down-time after this period so you can rest, relax, and regain your strength and mental acuity before being plunged into a similar situation.
+I mentioned before about re-negotiating commitments. Often we'll get ourselves into situations where we'll have way more to do than is physically possible, even under the best of circumstances. This may be in part because we've said "yes" to too many things, or because we're being swamped with work commitments (a large high priority project, or several smaller projects that need urgent attention). The best way to renegotiate your work load is to review your work load and notice which tasks feel urgent and which ones feel important. Note which ones fall into those two categories. Next mark the due date (as best you can) of each of these tasks. If you have more than three urgent and important items and they're all due later this week then it's likely you're overworked and will need to renegotiate those commitments. You may feel that you are capable of doing all of these things but if you're already feeling stressed, tired, and burned out then you'll only compound those feeling by trying to meet these deadlines. If you can, find out if you can move some of these deadlines to next week, or check with your customers if these are really as urgent and important as you think they are. If they are urgent or important then find out if your management can assist you with other resources, or if they can intervene to renegotiate these deadlines and priorities. If you're truly stuck (management won't budge and the customers won't renegotiate the commitments) then you have some decisions to make about how important their priorities are versus your own capabilities. There's the temptation to say that your management and your customer's priorities are more important than your own priorities (their income contributes to making your lifestyle possible) but your own health and well-being should have more weight in your decision than their priorities and deadlines. Perhaps you can negotiate some down-time after this period so you can rest, relax, and regain your strength and mental acuity before being plunged into a similar situation.
 
-It's also cliche to say "learn to say no", but this is an important skill as a programmer. Too often we think of ourselves as super-beings that can do anything because the computer can do anything. But we have finite physical and emotional resources, so learning to pick and choose the projects that are most important to us (depending on our own internal criteria) will help sustain us as we progress in our programming career. If we say "yes" to everything that is pitched to us then we'll have less time to work on the things that really matter to us. We'll be at the whims of external folks whose priorities and desires may not match our own. The most effective way to burn-out on programming is to spend all of your energy working on projects that don't match your own desires and priorities. 
+Learning to say "no" is an important skill as a programmer. Too often we regard ourselves as super-beings that can do anything, in part because the computers we work on seem like they can do anything. Unfortunately we have finite physical and emotional resources, so learning to pick and choose the projects that are most important to us (depending on our own internal criteria) will help sustain us as we progress through our programming careers. If we say "yes" to everything that someone pitches to us then we'll have less time to work on things that really matter to us. We'll be at the mercy of folks whose priorities and desires do not match our own. The most effective way to burn-out on programming is to spend all of your energy working on projects that don't match your own priorities and desires.
 
-You will experience periods of burnout in your programming career. Things will come at you that will overwhelm your ability to cope with them. You will find yourself stuck in loops wondering if this is really what you should be doing. Understanding what you're feeling and acknowledging your feelings as valid is the first step to changing the course from one of burnout and stress. Programming shouldn't be drudgery (no work should be drudgery). There should be something in your programming day that keeps you motivated, and helps you grow your skills. Adding bits of learning, joy, and wonder (along with periods of downtime) will help sustain you through the emotional turbulence that awaits. And recognizing when you're burning out and renegotiating your agreements with yourself and others can help reinvigorate your desires to keep programming.
+You will experience periods of burnout in your programming career. Things will come at you that will overwhelm your ability to cope with them. You will find yourself stuck in loops wondering if this is really what you should be doing. Understanding what you're feeling and acknowledging your feelings as valid is the first step to changing your trajectory into burnout and stress. Programming shouldn't be drudgery (no work of value should be drudgery). There should be something in your programming day that keeps you motivated and helps you grow your skills. Adding bits of learning, joy, and wonder (along with periods of downtime) will help sustain you through the emotional turbulence that awaits. And recognizing when you're burning out and renegotiating your agreements with yourself and others can help reinvigorate your desires to keep programming.
 
 ## Reaching out for help
 
-I want to take a moment to highlight that it's OK to ask others for help. I've struggled with asking for help. Part of my reluctance with asking for help was instilled in me whenever I asked a question and got the dreaded "you should know that already" response. Other times I thought that by asking for help I would diminish my reputation somehow. I'd be exposed as a fraud and an impostor. Folks would wonder why they trusted me in the first place. But when I did ask for help the response I received wasn't "why don't you know this?"; it was "why didn't you ask for help sooner?". Sure, there were occasions where I would receive criticism or surprise for not knowing something, but I've found that the benefits of asking the question outweighed the negative effects I might face. 
+I want to highlight that it's OK to ask others for help. I've struggled with asking for help. Part of my reluctance in asking for help was instilled in me whenever I would ask a question and get the dreaded "you should know that already" response. Other times I believed that by asking for help I would somehow diminish my reputation. I'd be exposed as a fraud and an impostor. Folks would wonder why they ever trusted me in the first place. But when I actually asked for help the responses I received weren't "why don't you know this?"; they were "why didn't you ask for help sooner?". Sure, there were occasions where someone would be surprised I didn't know something, or I would receive some criticism for my ignorance, but I've found that the benefits of asking the question outweighed the negative effects I might face. 
 
-Asking for help isn't limited to just asking technical questions. There are many more ways that we might need help. We may need to ask our colleagues to help us during a difficult time in our lives. We may need the help of our management when we're struggling personally and professionally. We may even need a whole other set of support staff to help us along (doctors, therapists, etc.). Involving other people with our struggle can be daunting (even overwhelming) but getting help early can help prevent the more serious forms of burnout and stress.
+Asking for help isn't just limited to asking technical questions; there are many more ways that we might need help. We may need to ask our colleagues to help us during a difficult time in our lives. We may need the help of our management when we're struggling personally and professionally. We may even need a whole other set of support staff to help us along (doctors, therapists, etc.). Involving other people with our struggle can be daunting (even overwhelming) but getting help early can help prevent the more serious forms of burnout and stress.
 
-The most common reason for our reluctance in asking for help is our desire for comfort. Asking for help means placing ourselves into a state of vulnerability and hoping the people we're asking to help us will treat us with kindness, respect, and dignity. This vulnerability can be amplified if we don't know the person we're asking for help, or if the person is a medical professional. But putting ourselves in these vulnerable situations is necessary, especially if the problems or situations we're facing are out of our control or experience. If we're close to burning out (or are suffering through burnout) we may need the help of a doctor or therapist to uncover better ways to cope with what we're experiencing. If our job is causing stress and strain we may want to talk with others in our community to see if we're alone in experiencing these feelings. Even the simple act of commiseration with our peers can help us realize that we're not alone in facing these issues, and may help us find better ways of managing our workload and stress.
+The most common reason for our reluctance in asking for help is our desire for comfort. Asking for help means placing ourselves into a state of vulnerability and hoping the people we're asking to help us will treat us with kindness, respect, and dignity. This vulnerability can be amplified if we don't know the person we're asking for help, or if the person is a medical professional. But putting ourselves in these vulnerable situations is necessary, especially if the problems or situations we're facing are out of our control or experience. If we're close to burning out (or are suffering through burnout) we may need the help of a doctor or therapist to uncover better ways to cope with what we're experiencing. If our job is causing stress and strain we may want to talk with others in our community to find out if others are also experiencing these feelings. Even the simple act of commiseration with our peers can help us realize that we're not alone in facing these issues, and may help us find better ways of managing our workload and stress. They may also help us recognize abnormal or abusive situations that we're facing. Sometimes we don't realize when our jobs or relationships have turned from caring and nurturing to ones where we're getting more harm out of the relationship than anything positive.
 
 "There's no shame in asking for help" is an overused phrase, but asking for help is not a shameful act. We need the help of others. Even someone saying "I'm sorry you're dealing with that" can be a connection with someone else who sympathizes what we're going through. Finding others who are willing to listen, empathize, and commiserate can be the difference between feeling part of a community and feeling like we've been abandoned in our profession.
 
+### FIXME
+
 We also need to recognize when our support systems aren't supporting us. If we find that talking with someone else is not helping us resolve the issue we may need to find other means of help. You may recognize that you need additional support. Realizing that you need additional support can be a difficult realization, but once you have that realization I'd encourage you to act and get additional help. This requires self-awareness and honesty with how you are feeling. Only you know your situation and if you're being honest with yourself. And if you're not being honest with yourself then only you can take the initiative to seek out the help that you need. Nobody else knows your inner-workings better than you.
 
 Asking for and receiving help is a skill and like any skill it needs practice. When we're young we have simple means of asking for help (crying, pointing, etc.). These skills are baked into us as part of our survival mechanisms. But as we grow our world becomes more complex. Our methods for asking for help need to mature as we mature. This is not something that comes naturally to any of us. We will struggle to ask for help, and we will resist when we're receiving help from others. But with repetition and careful practice we can improve these skills. Improving these skills will help us to overcome the obstacles we face throughout our day. And that will help us to become not only better programmers but also better at handling the challenges that life gives us.