How To Learn To Code In 2013
blog.enoughtobedanger.us
blog.enoughtobedanger.us
I think it's way more than that. Once you're out of school, there is no one to set goals for you. Even assuming you do have goals, there are no structured classes or textbooks to get you to those goals with your eyes closed. You are essentially both the teacher and the pupil and you must figure out your own curriculum in addition to doing the learning.
To expand a bit, the most fun part of coding is clever tricks based on understanding a system. But with building a website, you get nice results by just treating coding as a complicated way to do photoshop, and settle for this.
In my experience, the best way to learn to code is to find someone who needs a website built and offer to do it for really cheap, though not free.
I'd highly disagree on this. The minute someone offers some sort of compensation for work, the dynamic of the relationship changes -- from helper to employee (and in some cases servant) -- especially at the low-ball prices. From what I've found, the people thinking a website can be built for $100 are the type of people who will bug you as to why it's not done, demand extra features, wonder why it doesn't look like {{insert_dynamic_million_dollar_website_here}}, etc. And if you are just starting out, you probably don't have much contracting experience to have contracts ready with expectations of work/time to commit/deadlines/etc.The best solution I found when I wanted to learn to code was that I had something I wanted to create that I couldn't -- not anything huge, just something small. Once I got it up and working, I had so many questions -- "why did it do that?", "why didn't it work?", "what if I wanted to do X?", and that fueled me to find out more information so I could answer those questions.
I also disagree that "we have to create a context where we have no choice but to learn." What people need, instead, is to bring back our child sense of curiosity. When I was reading up on the fiscal cliff, I was confused -- why were we in this mess? Why couldn't we do X, Y, Z? If you are overwhelmed with questions, many will just quit, feeling the answers are too insurmountable. The trick is to ask just enough questions so that you can understand a slightly larger view of the puzzle, which will help you answer the next set of questions.
That's the point. If you're doing something for free as a helper then there's no consequence for saying "hey sorry i haven't gotten around to the website yet, i've been really busy...". More often than not, that's exactly what we'll end up doing, because learning a foreign language makes our brain hurt.
> "What people need, instead, is to bring back our child sense of curiosity."
I'm really glad you are able to make that work, but I'm positive that curiosity is not as reliable as fear.
Agreed, but if you have no experience, nothing will turn you off faster to learning than a client who yells or berates you for your lack of experience. A teacher is there to nurture your love of learning -- a client doesn't give a damn about you wanting to learn, they just want the project done at a certain time/budget/capacity.
>I'm really glad you are able to make that work, but I'm positive that curiosity is not as reliable as fear.
The problem with fear that I've found, is that it only pushes you to slightly outrun that fear, not run miles ahead of it. I don't need to outrun a lion, for example, I just have to make sure that I run faster than the person next to me. When you use that for learning, you'll only learn what you need to complete the task, not use creativity to ask questions and learn and expand your knowledge.
When projects come from a question, or from a problem, I feel much more likely to keep asking questions and learn to fix my problem.
I never got berated, because I made it clear up front that I was a beginner and that I was charging a very small fee. It motivated me to make something that was worth it. I'm confident that most people have the ability to make something good enough to justify a $100 fee, it's just that they don't have a reason to try hard enough.
> "The problem with fear that I've found, is that it only pushes you to slightly outrun that fear..."
This is a great point - in fact, when I was first starting out I was often ready to be done with projects. They were stressful! But they taught me skills that I don't think I'd have learned otherwise, that I could have more casual, curiosity-driven fun with later. I doubt anyone would put themselves in a stressful situation like that unless they had some genuine curiosity. It didn't permanently scar me. It just was an accelerator, like taking off the training wheels. Stressful and scary but a necessary push forward to learn faster and stretch myself.
Oh, and happy new year! May you find many ways to make people happy, so they may make you happy in return.
A great way to do this is 1-on-1 tutoring. As an adult, I learn faster under tutoring than in any other context.
Part of the reason is that a (competent) tutor can keep me right at the edge of my ability during a session, which is where learning is fastest.
Another reason is that fear of embarrassment motivates me to do my homework.
You could apply this to programming by defining a specific thing you want to make (e.g. roll your own blogging cms in Rails), then hire a programmer to coach you an hour or two per week and assign homework. You'd learn quickly and build your app at the same time.
The goals are pretty simple, you can probably put one together in a few days or a week, and just by not making it awful you actually produce a website that is better than the vast majority of restaurant websites.
This sounds logical and correct to me.
It certainly is coding in the most literal sense of writing code to be interpreted by a computer, although it's not a programming language. You are correct about that. Nevertheless, it's a great starting place for beginners.
You definitely can get paid for building static websites. Somehow I did.
>Once you understand that, then you can move on to Javascript, Ruby, Python, or whatever else you want.