Adding later edits to chapter 07
authorCraig Maloney <craig@decafbad.net>
Mon, 18 Feb 2019 02:34:56 +0000 (21:34 -0500)
committerCraig Maloney <craig@decafbad.net>
Mon, 18 Feb 2019 02:34:56 +0000 (21:34 -0500)
chapter06.md
chapter07.md
intro.md

index ed97b95edd1f4cca5482bbb34d45d3acbf3e0f5a..44fba5fc9d342a34b220b22e79a336e5340cb499 100644 (file)
@@ -24,7 +24,7 @@ Each day you have an opportunity to learn more about the realm of computers and
 
 There are many opportunities to learn, whether it be via books, tutorials, videos, or computer-based training. There's also a myriad of different topics to learn. How do you decide which one is most important to learn? How do you manage what you're learning? How do you keep from getting overwhelmed with the options available?
 
-This gets back to focusing on one thing at a time and listening to how you learn best. This feedback will help you decide what to learn next. One approach is to think about the things that you're most passionate about right now; what excites you at this moment. If there's something that you're eager to learn then start there. If you have multiple things that are exciting or interesting to you then write them down on a list and see if you are more drawn to one of the topics than the others. If you're still having trouble deciding from this list then pick one at random (roll a die or create a random-number generator to select one -- that could be a project).
+This gets back to focusing on one thing at a time and listening to how you learn best. This feedback will help you decide what to learn next. One approach is to think about the things that you're most passionate about right now; what excites you at this moment. If there's something that you're eager to learn then start there. If you have multiple things that are exciting or interesting to you then write them down on a list and see if you are more drawn to one of the topics than the others. If you're still having trouble deciding from this list then pick one at random (roll some dice or create a random-number generator to select one -- that could be a project).
 
 If you have trouble thinking of something to learn and are struggling to come up with one item that is exciting to you then give yourself permission to browse and see what is out there. Look around and see what people are talking about. Head to a programmer meeting to see what they're talking about. Or, if you're really stuck, browse some job listings to see what employers are looking for and see if that sparks some interest.
 
@@ -44,7 +44,7 @@ Treat your learning as an iterative process, with regular check-in periods to se
 
 ## Resistance and The Container
 
-Any time we learn new things we put ourselves into a vulnerable and uncomfortable place. We take the things we are familiar with and try to apply them as we push into new territory. We become uncertain of the outcome; will it be successful or will it be a failure? Will it help us or hurt us? Will we choose the wrong thing to learn and will that cost us opportunities in the long run?
+Any time we learn new things we put ourselves into a vulnerable and uncomfortable place. We take the things we are familiar with and try to apply them as we push into new territory. We become uncertain of the outcome; will it be successful or will it be a failure? Will this topic be too difficult for us to grasp? Will it help us or hurt us? Will we choose the wrong thing to learn and will that cost us opportunities in the long run? 
 
 Discomfort and uncertainty are certainly a part of learning, but rather than think of them as something to be avoided we should instead think of them as a beacon. A beacon gives us direction and illumination when we're in uncertain territory. When we feel uncertain about what we're doing that feeling means we're pushing into new territory. Instead of trying to avoid it or wishing for comfort we can instead relish that we're in uncertain territory and feel those brief twinges of fear and doubt. We can say "I'm about to learn something new. I'm frightened, and don't know where this will lead, but that's OK. I'm willing to see where this goes and enjoy the journey".
 
@@ -52,7 +52,7 @@ We've been conditioned over our human existence to think of the unknown as somet
 
 Steven Pressfield in _The War of Art_ nicknamed these feelings "The Resistance". He considers The Resistance as a sort of mythological being who lives in each of us to thwart creative acts. As the work progresses The Resistance ratchets up the pressure to stop by introducing the feelings of fear and anxiety that we mentioned above. I think of The Resistance as something that also happens whenever we are learning, especially if we're learning tools that help us in our creative pursuits. Pressfield limited his definition to creative folks who were working to complete creative work (book, painting, game, etc.) but I'm expanding his definition to the learning process itself. In our case The Resistance shows up when we're learning the tools to help us be more creative. The Resistance is what tells us we're not good enough to learn these things, or we're unworthy of the benefits they'll bring us. It tries to keep us safe in what we already know.
 
-This is why the focus container that we mentioned before is so important: it gives us small doses of discomfort in manageable chunks. We can see our way through small amounts of daily discomfort and keep learning through our discomfort. And if we focus on one thing at a time we can keep ourselves from the distracting thoughts about whether or not this is the thing we should be working on. Whatever we're working on in this moment is exactly what we should be working on. Whatever is in front of us to learn is what we should be learning. We can be secure in knowing that however long the container is  that everything we are doing during this container is exactly as it should be. When we finish the container we can reassess how it went and what challenges lay ahead.
+This is why the focus container that we mentioned before is so important: it gives us small doses of discomfort and difficulty in manageable chunks. We can see our way through small amounts of daily discomfort and keep learning through our discomfort. It helps us work through our tendency to avoid and hide from difficult situations. And if we focus on one thing at a time we can keep ourselves from the distracting thoughts about whether or not this is the thing we should be working on. Whatever we're working on in this moment is exactly what we should be working on. Whatever is in front of us to learn is what we should be learning. We can be secure in knowing that everything we are doing for the duration of this container is exactly as it should be. When we finish the container we can reassess how it went and what challenges lay ahead.
 
 ## Mapping out longer-term goals
 
index 0c08009471b2c3cc71fb869afbb03e6b6c83be7b..682b3368c7685ab1d01643cfdecb2717aad195fe 100644 (file)
@@ -14,23 +14,23 @@ There are several factors that can cause us emotional highs and lows while progr
 
 ### Purpose and utility
 
-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! Whatever pitfalls lie in wait for us we can be assured that we will do our best to make sure that we conquer them as best we can because people are depending on us. We can tap into the emotional highs of self-worth and purpose to help buoy us along.
+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 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're forced to work on, despite our never explicitly agreeing to the terms. We can be frustrated trying to meet an arbitrary deadline 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. 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. 
 
 ### Engagement vs. boredom
 
-You've already experienced several layers of engagement with your programming. There are projects and topics that don't feel like a chore. You feel like you're learning something each step of the way. The outside world disappears while we work in a cocoon of focus. We lose track of time and feel both disoriented and refreshed when the work is completed.
+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.
 
-Conversely you're probably more familiar with the opposite: 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 in the world feels way more interesting and the minutes drag along throughout the whole process. 
 
 ### Awake vs. tired
 
-Sleep is a major contributor to how we perceive the world. Getting enough sleep manifests in feeling refreshed, awake, and inspired. We have the energy reserves at the ready 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. 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.
 
 ### 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 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 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.
 
@@ -38,9 +38,9 @@ There are more things that can affect our emotions but these are the ones that I
 
 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.
 
-Note that we're not trying to change our emotional state. We're not trying to force ourselves to be something we're not. If we're truly unhappy with where we are or what we're doing it's more helpful to see what's causing this unhappiness than to 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 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.
 
-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. Seeing our emotions for what they are and digging in to find out what is causing them can help us understand what we're feeling.
+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.
 
index 0c732791af3766c5ea5afcf9319938166ea5da64..0918e1ba49e731bacef5a39dc5786bc0104b0485 100644 (file)
--- a/intro.md
+++ b/intro.md
@@ -10,7 +10,7 @@ Sure, we should strive to be great programmers in the long term, but to become g
 
 Mediocre programmers know they're not great programmers yet. Mediocre programmers see the distance between where they are and the greatness they want in their programming career. They see the work that goes into a being a great programmer and believe that if they do the work that one day they too will be great programmer.
 
-But they also see their own faults and failings. They see their browser history littered with online-searches for basic syntax and concepts. They see their email archives of questions they've asked other programmers. They look at their code from several months before and wonder if they'll ever get to be great programmers with all of those mistakes and missteps. They see the gap between them and being a great programmer and it feels like the gap widens every step of the way.
+But they also see their own faults and failings. They see their browser history littered with online-searches for basic syntax and concepts. They see their email archives of questions they've asked other programmers. They wince at their code from several months ago and wonder if they'll ever get to be great programmers with all of these mistakes and missteps. They see the gap between them and being a great programmer and it feels like the gap widens every step of the way.
 
 The mediocre programmer wonders if it's even worth it; if they should do something else with their lives other then computer programming. Maybe they're not as good as they thought they were, or maybe they lack that special talent that great programmers have. Maybe they learned the wrong things early on in their journey, or maybe they think they should have started sooner.
 
@@ -22,7 +22,7 @@ The truth is we're all mediocre programmers in some way. We all still ask questi
 
 This book is about helping you along on the journey of being a mediocre programmer. Together we'll uncover some of common misconceptions we have about programming, failure, and growth and come to understand that the act of programming and development is something we undertake each day and improve in small ways. It's these small changes that over time transform us from being mediocre programmers into better programmers.
 
-There are plenty of books on how to become a better programmer out there. Usually they have checklists and other things that the author deems important for you to do in order to become a better programmer. They tend to focus on specifics like choosing a better editor, writing better test cases, or drinking lots of water. Those books have a lot of useful advice, but they read like a laundry list of things that you must do all at once in order to succeed. This book will try not to saddle you with more work (you likely have enough as it is). Rather, we'll discuss what it feels like to be a programmer. We'll talk about the emotions in being a programmer; the feelings of frustration, guilt, anger, and inadequacy. We'll cover the struggles in learning new things and keeping your skills current. We'll talk about those times when you feel like giving up and walking away from computing and whether those feelings come from a place of love or a worry that you're not keeping up.
+There are plenty of books on how to become a better programmer out there. Books like this tend to have checklists and other advice that the author deems important enough for you to do in order to become a better programmer. They tend to focus on specific improvements like choosing a better editor, writing better test cases, or drinking lots of water. Those books have lots of useful advice, but they read like a laundry list of things that you must do all at once in order to succeed. This book will try not to saddle you with more work (you likely have enough as it is). Rather, we'll discuss what it feels like to be a programmer. We'll talk about the emotions in being a programmer; the feelings of frustration, guilt, anger, and inadequacy. We'll cover the struggles in learning new things and keeping your skills current. We'll talk about those times when you feel like giving up and walking away from computing and whether those feelings come from a place of love or a worry that you're not keeping up.
 
 This book is a personal journey for both of us. It's a memoir of my time as a programmer and my feelings along the way. I've thought many times about giving up and finding a different career path but doing anything other than being a computer programmer scares me even more. Does that mean I'm stuck in a perverse ouroboros of self-pity and self-doubt? Hardly. It means that I need to dig deeper to understand why I chose the path of being a programmer and realize that it took a lot to get here and it's going to take a lot more to get where I want to be. It's a commitment to seeing things as they are now and moving forward from wherever I'm standing.