Resistance is Futile

I read a great book a couple of years ago called The War of Art by Steven Pressfield.  In it he talks about Resistance.  He defines Resistance as anything that keeps us from achieving our dreams.

The beauty of his argument is that Resistance is not an exterior force, but all the thoughts, emotions and millions of excuses that we create ourselves that keep us from achieving our goals.

I thought about this book recently because I can feel the Resistance building in me when it comes to my learning to code journey.  I know enough HTML/CSS, web design best practices and even Javascript that I could technically build a website.  I’m not talking about a massive responsive design behemoth, but rather a small multi-page site that I would be proud of.

But I haven’t.

And I like to think that I have so much more to learn (I do) and with all my work, family and social commitments I can’t squeeze the time out of an already hectic schedule.

The reality is though that I’m afraid to build something and have it look amateur.  The truth is I am an amateur and until I build things (and break them?  No, I’ll leave that to FB), I will be doing myself a disservice by learning all these great skills and letting them atrophy and wither away.

I’ve learned three cool things in the last ten years.  Golf, poker and Crossfit.  All very different and all opened up new and exciting worlds to me.  But I wouldn’t have learned anything about any of them if I didn’t try.

A golfer who doesn’t golf isn’t a golfer.  And a coder who doesn’t code is what, a project manager?  Kidding.

So along with my regularly scheduled Treehouse and Codecademy lessons, and my reading sessions and my late night surfing of Medium, Zite and Feedly, I need to make the time to build.

A goal without a date is a dream and another chance for Resistance to win.  So by the end of this month (July 2014) I will have my personal site at http://www.george-rodriguez.com up and ready to show off.

It’s time to Build!  Resistance is futile and I won’t let it or me stand in the way anymore.

Learning to Code Journey

The first of July 2014 is an appropriate time as any for an update on my coding journey.

I’ve finished two tracks on Treehouse, Web Design and Front-end Web Development.  I’ve learned so much in such a short amount of time the only way to properly describe it is using the following metaphor (or is it an analogy/simile/oh, who cares…) – I’ve come a 100 miles in the last month and a thousand in the last six months, but I know now I have a million miles to go.

I’ve started the WordPress Development track which means I finally started looking at some server-side language in PHP.

The absolutely amazing thing is seeing how HTML, CSS and Javascript fit together.  Then you throw in some Sass, along with jQuery and you start going.  But wait, there is more.  How about working from the command line and getting your Git on.  And then boom here comes PHP to build it out.

I’ve decided that my big picture learning plan will combing front-end (HTML/CSS/Javascript/jQuery) and WordPress in the middle (which I’m doing right now and will help me with some other blogs I manage) and close out with back-end stuff in PHP, Ruby (Rails), Python and touch on some MySQL and API work.

I know I should focus, but I’m a generalist in life and I figure why not shoot for that full-stack unicorn status. Maybe one bed will be too lumpy, but I have to sleep in it first to find out.

The main driver is just the wealth of resources available on Treehouse, Codecademy and the internet.  Google is indeed my friend.  I will consume everything they have to offer first and see what speaks to that little programmer in my head who whispers for loops in my head like “You can and will do this”.

The reader paying close attention will notice I left out mobile (Swift, anyone?).  I think I’ll get there, but I have so much to learn that I’m taking the tortoise approach and hoping slow and steady will win the race.

I also need to start building stuff, using Codepen and Github to show it off.  I won’t be that life-long learner that consumes knowledge, but doesn’t do anything worthwhile with it.  And the whole purpose of this exercise is to make a career pivot and that means building up my portfolio.

Finally, getting a feel for the rhythm of coding and seeing how the languages work together has been amazing.  Wait, I can use classes and id’s in jQuery???  Mind = blown.

At the same time I want to leave a learning road map behind me so anyone who wakes up one day at 40 (or 20, 30, any age really) might not make the mistakes I made and go down the wrong alleys I did as I create this part of my life.

And now, a story.  I played in a poker tournament once when I first started learning how to play cards and I won the thing.  The funny part is years later after I learned the “right” way to play poker I realized I would have never played the way I did in that first tournament.

I had forgotten what it was like to be a beginner and this site and these posts will be my breadcrumbs to not only those that come after me, but to my future, wise programmer self on what it took to learn a valuable skill with life happening all around me.

Speaking of life happening, the baby is crying, gotta go…

 

 

Nobody Cares

I finished Ben Horowitz’s book The Hard Thing About Hard Things: Building a Business When There Are No Easy Answers a few weeks ago.

I can usually judge a book by how many sections I highlighted.  1-10 highlights, just OK.  More than 30, great book.  I probably have 50 from this book.

One section that caught my eye was some advice Al Davis, one-time owner of the Oakland Raiders, gave a young Bill Parcells after Parcells told him he didn’t know how he could win with all the injuries he had on his team.

Davis told him, “Bill, nobody cares, just coach your team.”

Horowitz goes on:

That might be the best CEO advice ever.  Because, you see, nobody cares.  When things go wrong in your company, nobody cares.  The media don’t care, your investors don’t care, your board doesn’t care, your employees don’t care, and even your mama doesn’t care.  Nobody cares.  Because in the end, nobody cares; just run your company.

I’ve been sick the last few weeks, work is getting tough, this blog has suffered and most importantly I haven’t been working on my coding skills.

But nobody cares.

And that is OK, because I want to learn how to code, make this a great blog for those starting their coding journey, be great at my job and feel healthy for myself.

It’s OK that nobody cares, because I care.  And if I care enough to fix things and keep my eye on the long-term benefits of learning to code I’ll just see these past few weeks as a blip in my journey.

Just run my company.  And that company is me.

 

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.

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.