Embracing My Beginners Mindset: Avoiding Overthinking

beginners-mind-300x221

Hello. My name is Lauren and I’m an over-thinker…I’ve been learning to program for 29 days.

I commented this week that it seems like the Ruby tutorials I’ve been working through are getting harder and it’s taking me longer to figure out write the code that’s prompted. I have recently realized that half of the time I’m completely overthinking, which just makes me laugh at myself.

For example, I spent 25 minutes trying to solve one particular prompt, trying all angles of writing the code only to result in error message after error message. I stuck with it, miserable yet determined, and eventually realized that I had simply read the prompt wrong.  The prompt was to add some code before the print command, and I was adding the code after. It turned out that I had correctly written the code the first time. Rather than going back and re-reading the instructions, I just spiraled down the rabbit hole…my code getting more and more complex with each try.

This is not the first time something like this has happened. I’ve noticed that the fewer angles I examine, the faster I’m able to complete the prompts. This is interesting to me, because it does not feel natural at all!  

I’ve always been a Gestalt thinker. I like to know everything about what I’m doing, and examine every possible angle before making decisions. I have built my career on observing human behavior and closely analyzing it in order to make decisions about designing curriculum. There are very few singular “right” answers in how to best teach.  You need to be able to respond to individual and group dynamics, and every human is different. I enjoy the necessary time spent in contemplation and discussion.

Learning to code is like starting over as a thinker. I have not nurtured the side of my brain responsible for the necessary formal logic in quite some time. I have to remind myself over and over to simplify my thinking. I have to tell myself that if I find an answer that works, it’s ok to move on rather than considering how many other “rights” I can figure out in that moment. I find I am actually enjoying this challenge, despite my moments of error message purgatory.

As I continue to work out my brain in this way, I can’t help but wonder when these two types of thinking will start to complement each other rather than battle each other.

What is the intersection between the contemplative thinking and the logical thinking?  


Are you a beginner too?  I have little advice yet, but I thought I’d share a few articles that I’ve gotten a lot out of:

Adopt a Beginner’s Mindset: http://powerofted.com/adopt-a-beginners-mindset/

How to Become a Programmer, or the Art of Googling Well: http://okepi.wordpress.com/2014/08/21/how-to-become-a-programmer-or-the-art-of-googling-well/

Getting Started in Web Development: FAQ for the Absolute Newbie:  http://railsmama.wordpress.com/2014/11/03/getting-started-in-web-development-faq-for-the-absolute-newbie/

When Starting is the Hardest Part: http://sarafalkoff.com/2014/11/01/when-starting-is-the-hardest-part/

Eeek!  I Want to Learn to Code: http://brownturtlecode.wordpress.com/2014/10/09/eeek-i-want-to-learn-to-code/

Learn the Language: What Code Should You Learn? http://psycodeology.wordpress.com/2014/11/04/learn-the-language-what-code-should-you-learn/

A6PSWTFCUAI7N-5

4 thoughts on “Embracing My Beginners Mindset: Avoiding Overthinking

  1. In programming the logical part is dealing with the syntax. Does my code work at all, does it do anything, or do I get ERROR MESSAGES. If it doesn’t work then you have violated the rules. Check what you have written, especially around the offending bit, and figure out which rule has been broken. Fixing it is not always obvious but at least you know in which direction you are trying to go.
    The contemplative part is in the specification of what you want the program to do, and the way you hope to get the computer to do it, that is, the design of the program.
    Then the hard bit is creating the code itself. This is a mixture of using what you know that works (logical) and the horrible feeling that you don’t know enough.

    Regarding RUBY ( if I ever meet anyone called Ruby in the future it will be with mixed feelings!) I have tried three different online interpreters and none of them will accept user input with any of the statements I have tried. I copied examples from tutorials and books and they do not run. Ruby is beautiful, but it is rather like the Venus de Milo, not enough to grab hold of.

    Until I crack this one the test is to be held in abeyance !

    Like

  2. If I’m thinking of it correctly, gestalt thinking would be keeping your eye on the prize; so knowing what you need your end result to look and act like, and it’d also be helpful as the project moved along, as I’m sure a gestalt thinking would have deep misgivings if they don’t understand what’s happening in one part of their codebase.

    It’s like the intersection of plans; logic is right down in the details and gestalt is at 30,000 feet, but they’re both necessary parts of building a good program.

    Like

Leave a comment