Minor editing and clarifications (Fixes #4)
[themediocreprogrammer.git] / chapter06.md
index 83d49afa8b2c566d1e8ec4f19ae8b5870f62968d..fc1b020425e413ed136313de10651f7d300c579b 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.
 
@@ -98,12 +98,12 @@ You'll need to reconsider your true motivations for learning this topic and see
 
 There have been many things in my career that I have tried to learn, but there have been many more that I haven't learned. Part of those is because the computing landscape changed. At school I learned the Pascal language. I got reasonably good at it but over time those skills faded. Right now there's very little need for being a proficient Pascal programmer so continuing to develop my Pascal skills would be purely for my own enjoyment. I find other computing topics more enjoyable so my Pascal skills lay dormant. Should Pascal arise from its moribund state I can revisit the decision to reinvigorate my Pascal knowledge, but for now I'm content that I've made the right call. Later in my career the Java language came to prominence. I spent many sessions learning Java until I realized that I didn't enjoy the language. It felt too cumbersome to me and the directions it took weren't ones that I cared to pursue. So after some reflection I stopped learning Java. Was this all wasted time? Hardly. During my sessions I learned more about Object Oriented Programming and how objects fit together. I learned more about recursion while trying to solve a problem for one of my projects. These skills transcend Java, so when I started learning Python I was able to transfer my knowledge on how objects worked from Java to Python. I used that knowledge to understand what Python was doing and how it was different from Java. And should the need arise I can revisit my decision to learn Java and see if it interests me again.
 
-### FIXME
+It's OK to give up on learning something. It's up to you to determine what you want to learn and for how long. We are complex beings and our interests morph and change. We also exist in a complex industry of changing technologies and whims. What was interesting and necessary at the beginning of the year might become uninteresting or unnecessary at the end of the year. We shouldn't feel beholden to learning something just because others are learning it or because the job market requires it. Give yourself permission to listen to your own desires. If they match up with what a fickle industry wants then great! Go learn with abandon. But if they don't match up and you find yourself spending weeks trying to drive up the motivation to learn then you're doing yourself and your craft a disservice. Let this topic sit dormant for a bit and give yourself something else to learn. 
 
-It's OK to give up on learning something for a while. We are complex beings and our interests morph and change. We also exist in a complex industry of changing technologies and whims. What was interesting and necessary at the beginning of the year might become uninteresting and unnecessary at the end of the year. It's up to us as programmers to understand our learning process and adapt as our needs and desires change.
+If you feel the urge to pick this topic back up at a later point then let yourself come back to it. But also come back to this topic without the baggage and expectations of your previous attempts. Saying "I already tried this once, so we'll see if this works this time" sets your mind to expect that you will give up again. Give yourself permission to approach this topic as though you have never seen this before. Be gentle with yourself and see this topic through your current perspective. 
 
 ## Approach with curiosity
 
-As beginners we engaged the computer with curiosity and enthusiasm. We don't know what to expect or how long it will take so we take everything at face value. As we learn we trade our curiosity with certainty, and our enthusiasm with expectations. The excitement we got from learning becomes the drudgery of having to continue to learn. But we can re-capture that beginner's spirit by looking at each opportunity to learn as a new experience. We can let go of our expectations of how our learning will progress and instead approach each learning session with curiosity for what we will learn during the session. We can re-kindle the spark that we had when we were beginners with infinite possibilities, and that spark will sustain us through the periods of uncertainty and drudgery.
+As beginners we engaged the computer with curiosity and enthusiasm. We didn't know what to expect and had no idea how long it would take. We just learned as much as we could and took everything at face-value. As we continued to learn we traded our curiosity for certainty, and our enthusiasm for expectations. The excitement we got from learning became the drudgery of feeling that we must always be learning. But we can re-capture that beginner's spirit by looking at each opportunity to learn as a new experience. We can let go of our expectations of how our learning will progress and instead approach each learning session with curiosity for what we will learn during the session. We can re-kindle the spark that we had when we were beginners with infinite possibilities. That spark will sustain us through the periods of uncertainty.
 
-With each focus container we can begin again, with no preconceived notions of how it will end.
+We can learn to love learning again. With each focus container we can approach our learning fresh, with no preconceived notions of how it will end, and be curious for what we'll find when we dig deeper into what we're learning. Each session of learning brings us one step closer on our journey to close up the gaps. There so much to explore in our field and I hope you always find something new and exciting to help you on your journey.