The 36%

I got a nice offer from Freelancer the other day to take one of their exams and earn a badge on my Freelancer resume.  I had taken the Editing exam and earned a 100% a few months ago so I appreciated the opportunity to add to my presence there.

So naturally I chose the HTML exam thinking that 40 questions in 15 minutes would be no problem for a budding genius programmer like myself.  I mean I’m enrolled in Treehouse after all, and I spend all my free time on coding-related activities these days.

15 minutes later I was left with a large “FAIL – 36%” flashing before me.

But.

A few years ago such an unexpected failure would have left me upset and looking for excuses long after the test was over.  Luckily, I read a great book by Carol Dweck called “Mindset”.  In it she argues that we have two mindsets, a fixed or growth mindset.

A fixed mindset views intelligence as a set number and anything, any feedback we get that goes against this fixed construct can shake us to our foundation.  Because we protect this image of ourselves it keeps us from trying new things or taking on new challenges.

A growth mindset looks at failure as an opportunity.  What went wrong?  Where can I improve?  What did this experience show me so I can learn from it?

I got a 36%.  I’ve never gotten a 36%.  But I’ll learn from it and redouble my efforts in learning to code.  What that 36% represents is feedback, not a judgement on me as a person or my worth as a human being.

And the simple fact that I’m willing to share this experience on my blog is a success for me.

So much of what I read on other blogs is an endless loop of someone’s greatest hits that being brutally honest (hat tip to James Altucher and “Choose Yourself”) shows that I’m confident enough to say I know I’m smart, but learning something new like coding is hard and there will be failure along the way.

Just not too much failure because that 36% sucked.

Four Lessons to do Better

I came across a great post on Smashing Magazine this morning by Andrew Clarke titled A Modern Designer’s Canvas.

In it he talks about four things he learned in art school that have served his career well.

He says:

I’m going to talk about four lessons that can help us do what we do better. These have been important to me, especially over the last challenging few years, when how we make websites has changed so much. They’re lessons that I learned a long time ago, at art school:

1. Find a medium that expresses your interests and talents.

2. Don’t get intoxicated by a process or fall in love with tools.

3. Challenge what you’re told, including what you’ve heard at conferences and in articles.

4. Beat your own path, rather than walk someone else’s.

#3 is the most interesting to me.  As someone learning to code I feel like I’m in a position where I can’t challenge anything because I don’t know enough to realize what is right, what is wrong, or even if it is as simple as that.

It’s not that my voice doesn’t matter, it’s just that the value I bring to learning to code is what my eyes see as someone new to the industry.  Some would call it the curse of knowledge, but if you have been immersed in coding for years some things you take for granted, like what a text editor is and does, or what a library or framework is, isn’t such a simple concept for someone starting out.

That is what is compelling me to document every step of the way so that anyone coming after me will have a clearer path to learning how to code.

Learning to Code – 3/25/14

So I’m a few weeks into my coding journey and here is my latest update:

GOING GREAT

  • Codecademy and Treehouse are great resources and their material, and especially their different methods of teaching, are proving useful and have kept me interested.
  • I’ve been listening to great podcasts that have helped with my immersion program.  The deep technical conversations lose me, but overall they are worth the effort.  The biggest take away has been the realization that although coders are capable of amazing things, they are still people like me.  Hearing Mark Otto of Bootstrap fame tell Jeffrey Zeldman that he feels intimidated by Javascript (or something to that affect) actually made my day.  Maybe my week.
  • I’m reading great books on coding, which I will add to my Lesson Plan page, and the few times when I read something and have not only heard of it before, but understand it, is such a great feeling.

COULD BE BETTER

  • There have been more days than I’m comfortable with when I haven’t done any studying.  The Treehouse blog had a post recently where they talked about keys to remembering the code you are learning.  I kept thinking you have to learn it first before you worry about forgetting it.  What I keep in mind is with a full-time job, a six-month old at home and other responsibilities, there will be days when I can’t stick to my learning plan.  I just need to remember we find time for those things we value, and I value learning how to code.
  • I used a great video from Dash that walked me through setting up a website on Bit Balloon just by dragging your site files over.  I used it to build my Mom’s retirement party site, but I haven’t cleaned it up enough to share it with others.  I keep waiting for this mythical block of a few hours to show up so I can sit down and totally focus on it.  I just need to work on it in bits and pieces and ship it already.
  • HTML and CSS are making sense.  Javascript I understand after clicking the help button on Codecademy, but I need to stop using that crutch.
  • I want to blog everyday about my journey, and I would if I accepted the fact that every post doesn’t have to be a world-altering manifesto.  I love reading about other’s journeys in learning to code and that is what I need to remember.  It is the journey that counts and it is my journey that could have value to those that come after me.

Call the Function!

One of the exercises in the Javascript track on Codecademy is building a rock-paper-scissors game.  At the end of the exercise you need to “call the function” for the simple program to run.

And I didn’t know what to do.  Pages and pages of notes and I still didn’t know what call the function meant.

So I went to the Q&A Forum to look for help.  And the little code snippet was right in front of me, but I didn’t know where to put it.

Someday – hopefully soon – I will look back on this and laugh.  When I was learning to play golf and poker and started doing CrossFit, I had the same moments.  You feel lost and dumb, but you get through it and laugh at it a few weeks, months or years down the road.

The secret is to keep searching and remember that the answer is out there.  You just have to have the determination to find it.

I was also lucky enough to stumble across The New Boston and his videos on Youtube.  I’ll have to check some out and see if they should get added to the Lesson Plan.

So I finally figured it out after reviewing my notes again and first felt silly that calling the function is what you do at the end of the program and secondly so darn happy when it actually worked.

I know I was basically copying Codecademy’s code, but I helped out and learned and that little spark in me that knows I can do this got a little stronger and burned a little brighter.

In the end, it was a good day.

Paralysis by Analysis

There is just so much out there these days when it comes to learning to code.  I keep hearing there is a shortage of programmers, but you wouldn’t think that with all the resources being built and advertised to teach anyone to code.

I will build a “Resources” page with this blog because others who come after me might find it helpful.

And I love organizing information.  I mean love it.  Give me a mess and all I see is all the fun I will have organizing it.  No joke.

Just since yesterday’s post here is what I have come across:

1.  Dash – learn to make websites with HTML/CSS/JavaScript (HT How to Hold a Pencil podcast)

2.  Again from HtHaP, Jennifer Dewalt built 180 websites in 180 days.  Wow!  She blogs about it here.  Can’t wait to dive in to that.

3.  I asked Reuben Ingber from HtHaP about other useful podcasts and almost immediately he gave me a few, including Novice No Longer.  Listened to the first podcast and it looks perfect for someone who wants to build their own app.  Which of course I do, along with 10 other things.  And thank you to Reuben for continuing to be awesome.

4.  I’m a big reader so I’ve started compiling a list of books to read.  One that caught my attention and held it after I read the introduction was “Learn to Program” by Chris Pine.  May have to swing by B&N on the way home.

5.  Scratchpad.io is a cool looking realtime HTML/CSS editor.  Nathan Bashaw is the proud creator of it.  Another HtHaP interview btw.  Seriously, if you are starting out like me, listen to this podcast.

So yes, I will not want for information in my coding quest, but I need to decide on something and commit to it.

Front-end, back-end, what do I want to build, etc. etc.  I think I’m going to finish up Codecademy (PHP and JavaScript) and then pick one program and stick with it.  In the meantime I’ll continue my research to make sure my time and money is well spent.

I know after picking up golf and poker over the years I get addicted to learning, I just want to make sure I learn the “right” stuff at the right time.

More to come.

Where I’m At

Here is the Cliff Notes of my coding journey so far:

About six months ago I started at Codecademy.  I did the HTML/CSS tutorials and started PHP (because my blog is on WordPress).

And then my son was born in September 2013.  That is a whole other story, and probably a whole other blog.

So I’m finally getting into the swing of work, baby duty and husband duty.  My wife is amazing and so far we have been lucky enough to have her stay home with the baby.

But a few things happened that have brought me to this point:

1.  I wanted my blog at www.bookleverageblog.com to look cool…

2.  So I read “HTML for Dummies”…

3.  Which helped and allowed me to make some basic changes to my posts and pages, but I realized I needed some CSS education.  I like the way Codecademy says if HTML is the bones than CSS is the skin of a website.

4.  Codecademy helped, but I didn’t learn how to take the limited HTML/CSS knowledge I had and actually change my blog.  In other words, what the heck is an editor?  I’m still working on this btw and have started reading WordPress for Dummies.

5.  I discovered WordPress (which my blog is built on) uses PHP, so I started the PHP tutorial on Codecademy.  But the baby came and coding was the last thing on my mind.

6.  So I’m at work one day recently and I get my daily email from Very Short List.  And one of the links is to How to Hold a Pencil.  I forget why I clicked it, I think it was something about a guy who built his own app after he taught himself to code.

7.  Eureka!  The saying is when the student is ready the master will appear.  So I download one podcast and another and another.  These people are doing what I want to do.  Reuben Ingber, I don’t know if you drink, but if we every meet, I’m buying you a beer.

8.  So one of the podcasts is with Natasha the Robot.  She is amazing.  I went home that night and bought her e-book.  And I reviewed it on Amazon and Goodreads.  Loved it!  She makes you feel like learning to code is worth the sacrifice and can be done by mere mortals.

9.  The latest podcast on How to Hold a Pencil is with Mattan Griffel, founder of One Month Rails.  I’m thinking I may sign up for the course, although I’m still researching options and haven’t decided just yet.

10.  I also read Josh Kaufman’s book The First 20 Hours and one of the skills he teaches himself is programming and the language he chose is Ruby.

And finally, as I mentioned in my About G page, I had a relative tell me that learning to code was near impossible if I didn’t study computer science in college.

I’m learning to code for myself and my family’s future, but that comment really stuck with me and just made me burn.  Still does actually.

It may take even longer than I think with all my responsibilities (I’m thinking 2-3 years easy), but I’ll see that relative someday and we will have a much different conversation.