Editing chapter 5 some more
[themediocreprogrammer.git] / chapter05.md
index aad9d0dbcf3c917a0071a2009a27db85577c83f2..cf4a8ec0fd8a8f4dc0bc289a448fa978f18d8f4e 100644 (file)
@@ -14,23 +14,23 @@ There's a delicate balance that we need to strike between our desires of being o
 
 How do we balance these feelings of wanting to be on all the time while allowing ourselves to relax and reflect on what we're doing? How do we pay attention to the needs of this programming machine?
 
-#### FIXME
-
 ## Lights out
 
-First we need to acknowledge that we can't be on all the time. You may know this intuitively and think "yes, of course" but acknowledging that you need to have a period where you are not programming, not thinking about programming, and not being a programmer is vital to your well-being. You need to have moments where you can turn off the programmer part of your being.
+First we need to acknowledge that we can't be on all the time. You may know this intuitively and think "yes, of course" but knowing is not the same as doing. We need to have a periods where we are not programming and not thinking about programming. We need to have moments where we can turn off the programmer part of our being. These periods of not-programming are vital to our well-being and give us chances to explore the wider world and let our minds rest in-between programming sessions.
+
+This can be tricky if we feel like we're falling behind in our learning. When are we supposed to learn all of the new things happening daily? When are we supposed to catch up on all of that technical debt you've been accruing over the years? When will we have time to learn the ins-and-outs of technologies that aren't part of our day-to-day work but are still interesting to us?
 
-This can be tricky if you constantly feel like you're falling behind in your learning. When are you supposed to learn all of the new things happening daily? When are you supposed to catch up on all of that technical debt you've been accruing over the years? When are you going to have time to learn the ins-and-outs of whatever technology that is no longer part of your day-to-day work but is still interesting to you?
+These feelings that we have (that there's more to do and that we need to spend every waking moment doing it lest we fall behind) isn't helped by programmers who look super productive. These are the programmers that think of a clever idea in the morning and have a working prototype in the afternoon (while still handling normal work routine). When we compare ourselves against these programmers we wonder if they ever take time away from the computer.
 
-This constant feeling that there's more to do and we need to spend every waking moment doing it or we're somehow less of a developer isn't helped by folks who look super-productive; the folks whom you can suggest something in the morning and they have a working prototype in the afternoon while still figuring out their normal work routine.
+We can acknowledge that we have feelings of wanting to push ourselves to keep learning and doing. We can see ourselves when we think "just one more line of code before bed" or convince ourselves "I  can read a few more articles or pages or [insert favorite way to consume more information here]". We can pause and see where these feelings and thoughts come from and understand why we're still pushing ourselves beyond exhaustion.
 
-We can acknowledge that we have this feeling; that we feel the constant need to somehow push ourselves to keep learning and doing. We can see ourselves in the moment with the thoughts of "just one more line of code before bed" or "I  can read a few more articles or blog posts or [insert favorite way to consume more information here]". We need to see our feelings and understand where they come from.
+These feelings usually stem from a sense of inadequacy. We feel like we're not measuring up to the ideals we have; whether these ideals are ones we've created or ones that are externally driven. These ideals come from analyzing other programmers (colleagues or folks we admire), and measuring our progress against their work. They also come from our own mythical idea of what the perfect programmer is.
 
-These feelings usually stem from a sense of inadequacy. We feel like we're not measuring up to whatever ideals we have, whether that's an ideal that is externally driven or one that we made ourselves. This comes from us comparing ourselves to other programmers and seeing their work. It also comes from us comparing ourselves to our own mythical idea of what the perfect programmer is.
+What we need to realize is that those ideas of what makes good and perfect programmers are fantasies. They're a composite of what we think a good and perfect programmer should be. They don't exist in the real world. True, we may see programmers out there that seem to wake up with a keyboard attached to their hands, spend the entire day coding, and go to sleep with dreams of more code formulating in their heads. But we need to realize that we're only seeing one side of their lives. We're not seeing the whole picture of who they are. We need to focus on our own bodies and minds and realize when they're tired and need rest. We can't make ourselves into other people, we need to work with who and what we are. 
 
-What we need to realize is that those ideas of what a perfect programmer is and is doing right now are fantasies. They don't exist in the real world. True, there are programmers out there who seem to wake up with a keyboard in their hands, spend the day coding, and go to sleep only to dream in more code. But those folks are not us, and we need to understand where our bodies and minds can take us and when they need rest.
+Our bodies require down-time in order to be most effective. We need moments where we can step away from the keyboard and allow ourselves to wind down and relax. Our minds are not designed for constant work, especially at the levels that computer programming requires. The sooner we realize we should step back and take breaks throughout the day to recharge ourselves the happier (and more productive) we will be.
 
-Our bodies require down-time in order to be most effective. We need to step away from the keyboard and allow ourselves to come down and relax. Our minds are not designed for constant work, especially at the levels that computer programming requires. We need to step back and realize that we need breaks throughout the day in order to recharge ourselves.
+### FIXME
 
 ## Taking a break