+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.
+
+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.
+
+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.
+
+## Reaching out for help
+
+### FIXME
+
+One of the most challenging aspects of programming that I've seen is in reaching out and asking others for help. We tend to avoid it because we don't want to seem foolish or less of a capable programmer. We might have had instances where we've asked for help only to be told that we didn't do enough research into the issue we're having. It's difficult for us to admit that we need to rely on others for support. Often there's the feeling that asking questions or asking for help is a sign of weakness. If we can't do everything on our own then perhaps we're unworthy of being considered a programmer. We discount our knowledge and label ourselves a fraud for needing external support.
+
+There's also the fear that we'll become a burden if we ask for help when we struggle. These feelings can be magnified if we've had issues with learning, or are suffering from PTSD, chronic fatigue, or any number of physical, mental, or emotional constraints. There's the tendency to want to do more for ourselves, even if that is unlikely to work for us.
+
+I know from my own experience that I struggle with asking for help. Part of this was instilled in me whenever I would ask a question and get the dreaded "you should know that already" response. Other times I felt like if I asked for help it would somehow diminish my reputation. Folks would know that I wasn't the programmer they thought I was. They'd wonder why they hired or trusted me in the first place. But when I finally did ask for help the question I received wasn't "why don't you know this?", it was "why didn't you ask for help sooner?". Sure, there were the occasions where I would receive criticism for not knowing something, but in my own experience asking for help gave me more positive benefits that outweighed any real or perceived criticism of my abilities.
+
+This is especially true if we have physical, mental, or emotional constraints that are interfering with our performance. It can be difficult to unpack what it is that you need help with, or admit to others that you are struggling and need additional help. ...