Showing posts with label people. Show all posts
Showing posts with label people. Show all posts

Sep 29, 2013

Can you really learn to code in a month?

[Topic - this post is about learning and coding, and relates to the post about 'attitude over aptitude' observation.]

Can you really learn to code in a month?

It has taken me a hell of a lot longer than one month to learn to code. Am I just dumber than other people? Or is this a marketing gimmick?

Who am I to talk about this?

As I have been learning to code for a several months now, I've become quite familiar with various tutorials and resources about coding. For example, I worked for a few months at a local coding bootcamp, and ended up writing a short e-book to help people think about choosing a full-time program.

And I am fortunate to have experienced mentors who give me good advice about my progress - as I highlighted in attitude over aptitude.

Are we brainwashed as a society?

More recently though, I realized that many of us (including myself) have been conditioned to rely heavily on others for our education. We have limited time; it is wise to use existing systems for our education. (In his book The Black Swan, Nassim Taleb points to neuroscience research and points at that this is part of how our brains work (primarily our left-hemisphere). We reduce complexity by overlaying patterns and order. We need structure to keep things simple and be able to absorb information.)

So, it's not surprising that we often rely on others to make things easy for us.  For example:
  • Textbooks - Why do we use something called textbooks in schools?
  • Teachers - Aren't we our best teachers ... how can someone really know how we learn and what we find interesting?
  • Schools - Why are we paying an ungodly sum of money in tuition to attend schools? Are we trying to stoke our ego by paying for a piece of paper? Or are we genuine about what we want to learn inside of walls of some remote institution?
  • Tutorials and courses - Again, rather than determining how best to pick-up a topic based on our own learning patterns and need for structure, too many people simply "pay" for content or a course, in the hopes that it might lead to accelerated learning.
I realize these are simplistic questions. I simply make the observation that many exhibit a behavior of dependency and fail to think independently and originally. And the reason often is: we are lazy!

This is 'Murica. Get rich quick!

The polar opposite of paying someone to help you learn is the Do-It-Yourself learning. I think the term DIY was popularized by home owners making fixes and home improvements on their own. One can apply it to education as well. Today indeed is a good time in history to do things yourself.
  • Internet & accessibility - Internet has made niche knowledge as accessible as common knowledge. Just google it.
  • Commoditization of knowledge - With that accessibility, things like tutorials and online courses have proliferated. These days, you could take an entire career's worth of education on the web using Udacity.com, Coursera.org, and similar resources.
  • Curation - Good news! Someone else already has done the hard work for you! Just checkout something like superherojs.com to get started on JavaScript.
Even so, there is this thorny issue of time. We don't have enough of it. And capitalizing on the accessibility of knowledge, DIY attitude, and need for effective use of time, I have seen various offerings that promise learning quickly.  Just check out the claims of "I learned to code in a month" genre:
But, is it true? Does it work?

As I shared above, I feel dumb. I certainly couldn't learn Rails in one month. (Yeah, I could generate a rails app on day 1.  But, it was just monkey-see-monkey-do. It took me a while before I felt comfortable writing code and understand what was happening. And I'm still learning.)

I don't mean to gather the case here against learn quick programs. However, I am sharing my skepticism about learn quick in the same way you should be skeptical about "get rich quick from home" claims. I saw this blog post of someone who tried one month rails and still couldn't program.

The truth is that good tools, good books, and good communities help us learn. No doubt.  For example, I respect and consider Daniel Kehoe's RailsApps to be a valuable resource that builders can use to kick-off rails projects. (In particular, check out http://railsapps.github.io/rails-composer/)

That said, my life experiences convince me, that there are no short-cuts. There are no free lunches in life (unless you work at Google). In the end, you have to invest the time and effort to learn.

Learn for yourself.

On education and schooling

There is a Mark Twain aphorism: I have never let schooling interfere with my education. And this points a finger at the culture of dependency in learning that I didn't know until I got older and wiser.

http://www.npr.org/2010/12/01/131703237/on-publishing-mark-twain-s-autobiography
We have been conditioned to rely on others to make things easy. We want a short-cut. We want to be a programmer in one month. Well, good luck! At some deep level, schools, degrees, and courses are a hoax that prey on our insecurities or fear to tread into the unknown. You need good mentors in life, but certainly no diplomas.

Think of it this way. Did the first climbers of Everest get certified or take courses to get to the top? Hell no! It was just blood and sweat and years of training to prepare. Today, of course, you can pay a guide to essentially take you up to the summit - it has become a tourism destination.

I think this guy gets it - http://learnpythonthehardway.org/.  See? The "hard" way. The right way.

Let's get edumacated!

Good! Let's get started then, and start building! Or try Code School and start learning by doing.

Like what you read? Check out my other posts on Medium.

Attitude over aptitude: why "I know enough code to be dangerous" is BS

"I know enough to be dangerous"

[Topic - this post relates to my thoughts about learning to code, about careers, and about attitudes people have about picking up new skills - see related post 'can you really learn to code in a month?']

"I know enough [choose your subject matter] to be dangerous" is something I never heard while living in North Carolina. It is something I often hear in and around the San Francisco.

As someone who had built a career in roles like business development and finance, I have been tempted to say similar things. However, whenever I heard someone else say it, it always seemed glib and shallow.  Call me silly, but I don't want to be shallow. Somehow, I felt I need to genuinely learn to code before I could say things like "I know enough to be..."

I'm sure you know it as well as I do. People who say things like 'I know enough to be dangerous' are either full of BS or insecurity.

Please spare us the platitudes
Attitude over aptitude

I get hung up on the details. It is my left-brain pre-occupation for patterns. I have been brainwashed for decades to learn from textbooks, or pay tuition to go to school, or to think that getting an A in a class means that you learned something.

(I reflect a bit more about this observation in 'can you learn to code in a month')

I recently shared my frustration with a mentor, Quincy: how is it that some people can seem to learn to code and start building in 3 months, while I still struggle with building more than half year out?

Quincy's advice.
Attitude over aptitude. If you take a leap and tie all your self worth in your ability to code, you will do what you need to do to get good at coding.

Of course, you are probably good at a number of other things. The key is dismissing all these other things as unimportant. During my transition, I kept justifying to myself, "I'm good at Chinese", "I can fall back on a career in operations", or "I have a business background - I'm pretty good at coding for some guy with a business background". These are traps! You have to do without an ego safety net.
Wow! It's true. The glib things we say are crutches. They are the ego's way of protecting itself for being too lazy to learn, or too afraid that we will fall and fail and look like fools trying.

Look for good people, not good tutorials

This isn't really an advice column. Instead, I hope that the experience I share here will help you learn something more about yourself and enable you to have more clarity or confidence in your walk.

So, don't take this so much as an advice as a personal observation. I found that in really learning - not just skimming over a topic, but really learning - some things are more important than others. For example, good tutorials count, maybe paying someone to give you will help. But, as I observed above, the right and sincere attitude trumps these. What else counts? People. Good books. Good ideas.

So, by all means, keep using those free tutorials, but next time also consider these:
  • Look for good people - Quincy shared an invaluable advice, because he cares. Another friend, Robert (mockdeep), has graciously been sharing his valuable time as a code reviewer and mentor on his open source project. Not all experienced professionals take interest in junior developers, or take time to invest in them. Good people do.
  • Good books / good ideas - I recently read Rework by DHH and Jason Fried (folks who built Ruby on Rails). I probably learned more about career (not just about coding) from this book than I did in two years at Darden MBA school. And at $10 a copy, it was orders of magnitude cheaper than the $100K I sunk into MBA education.
  • Right attitude - as we talked about above.
What good books and ideas are you absorbing today?

Start building

We are all apprentices in life. If you want to start learning today by building, join me and Josh as we try a 12-day-long experiment in coding and producing products.

Feel free to check out our 12days github page, contribute torepo, help us by sharing suggestions, etc.

Jul 15, 2012

4 Kinds of people (the hacker matrix)

To win in a game, in a tournament, in life, what kind of person must you be?

I saw four kinds of people this weekend at a hackathon, this one organized by the groovy AT&T Developer Program, and sponsored by the good folks at Stackmob, Tiggzi (cloud-based mobile app builder), and Amazon AWS.  I know, I just couldn't resist the free food and the vibrant energy of the crowd that gathers at these events.

And while most of us dug into our screens to play with APIs, slap together mock-ups, and code away, I saw many other kinds of people at the event.  Let me summarize in picture:

Four Kinds of People at a Hackathon
The two axes by which I categorize people are Skill and Drive.  Note that you could use other axes, but I choose these two.

  • Lo-skill, lo-effort - You are a bystander. You came to enjoy the scene and be inspired. This is okay.  But, you walk away with an empty handed. 
  • Lo-skill, hi-effort - You are a hustler.  It is an uphill battle.  Don't give up.  (I fall into this category.)  Dreamers have to recruit additional talent (recruit = beg for help from developers).
  • Hi-skill, lo-effort - You are qualified.  Yet, without blood & sweat, you will not be in a winning team.  Have you been part of a team of smart people that never quite achieved something of significance?
  • Hi-skill, hi-effort - Winners!  As in, these people won the day and made out like bandits with real prizes!  They had the talent; they put in the hours.
No mind-blowing insight here.  But, perhaps a sobering reminder to those not in the top-right quadrant, and want to be.  So, ask yourselves these questions today:
  1. Do I have the right skills?  Enough skills?  If not, what can I do to gain those skills? 
  2. Do I have sufficient drive or am I putting in enough effort?  If not, why not?  Am I in the wrong profession?  What can I do to figure out my passion?  
Note that I used the term "Hacker," rather than winner.  I read a great article about what is a hacker?  I aspire to be more like a hacker, in my case as an example to push myself and to gain new skills that I find exhilarating and fun.

We must all find our own paths to happiness and success.  In that walk, are you a bystander?  A dreamer?  Or will you take risks and put in the effort to realize your dreams? 


Whatever the case maybe, smile and enjoy the journey!


Smiling faces of friends remind me not to take myself too seriously

// ==========
News from the event - a team of two dashing fellows presented Voicegram, a service that allows users to send voice greetings to friends and family. It's a very nice idea to keep in touch with friends.  Check them out on Twitter to stay tuned.

If you enjoyed this post, follow me on twitter @findinbay.