I applaud 'Learning to code' if it defined as: * taking problems and reducing them to a sequence of repeatable instructions and decision points (branches) . I think 'LtC' is irrelevant if defined as: * I wanna make iPhone apps / Facebook plugins / Instagram ... Where do I get the Magic Handshake for the Mega $$$ ?
And here I am now: 10+ years of professional web-dev experience, spoke at local dev conferences, won awards for my work, etc..
What I learned during all these years is that methodologies and models help you after you learn how to build apps/plugins/games/whatever. And still they won't save you from wasted hours hunting an accidental typo.