I think the video should be 100% about "what's in it for me" (the user). I understand the reason why you are introducing the people behind the project, but after 1minute in the video becomes "about howtocode.io" and less about "me". I closed the video after that to be honest.
Again, I get that you are providing validation and answering "why should I trust you" but honestly, unless you can say something that a beginner would value like "I founded Twitter", or "I work for Microsoft" (used to illustrate people can relate to a brand name regardless of how our inner-circles perceive them.) then it becomes a waste of the 30 seconds I'm giving you as to what's in it for me and how can I start receiving value RIGHT NOW.
In writing this, actually I think most everyone that has asked me for advice in how to code vet sites by word of mouth and by proxy i.e. "Jade what do you think about this site?" or "well Google has it as #1" or "well on youtube this has 1 million views" etc.
So in summary, I think you should not _lead_ with vetting yourself.
EDIT: I watched more of the video. You use language like "we will teach you.." and "our goal is to" which illustrates the point that you are talking about yourselves rather then the user. Changing it to "You will build a basic webpage and host it online entirely yourself in the first week" shifts the subject to the user, because it's always all about the user.
What I picked up in the "whats in it for me" category was pretty much in the url. I'm going to learn "how to code". The video went on to explain that I specifically could learn HTML, CSS, JS, jQuery, and Ruby on Rails, with some programming basics, and Git usage thrown in--for free.
I got the impression that they were not really trying to find customers, they instead were trying to gauge interest in the project. Nothing on the site gave me the impression that this was anything more than a web site soon to be a kickstarter page.
I love the efforts to build these types of resources, I just hope this isn't redundant with Michael Hartl's tutorial.
Also, I'm not a believer in TDD, especially with beginners. I find it tedious especially when prototyping an app, which I almost always do before starting a non-trivial project. Once my prototype works reasonably well, I do a refactor with good test coverage in an effort to produce production ready code.
As someone who learned ruby first and then went through Hartl's tutorial I have to agree 100%. I wanted to learn about the framework. All the TDD stuff complicated the process and really slowed me down. I ended up skipping over all the TDD stuff and was able to really get a lot out of it. I fully intend to go back through the tutorial soon to pick up the TDD elements.
While I have become a proponent of TDD and have come to appreciate it in larger projects, I agree and remember the tediousness of it as a beginner.. It is good to inform the beginner of its style and merits, but not to enforce it -- rather let them decide for themselves if it helps them and their team in the long-run; experience is a far superior teacher
Worse yet, the TDD in that tutorial didn't even use the standard test framework built into Rails - so you're taught from the start to use something non-standard. So irritating.
I always recommend the Pragmatic Programmers book for new learners.
I'm not sure this series could be redundant as it's free and Michael's videos cost money. Michael's website also looks like one of those classic 2001 sales pitch/squeeze page which makes me doubt the quality of the tutorials.
What I'd like would be a 'From Novice to Employable using Clojure'
I've heard some nice things about Ruby, but I think I'm too much of a spoiled noob in my exposure to Clojure. I'd even take a class if it was Scala or Erlang or something along those lines.
Sometimes I hate being a spoiled noob, because I'd really like a job programming, but I don't want to pause learning Clojure unless I'm learning some language that seems to be at least close to it. But trying to get a job whene you can build stuff in Clojure but not much else (I've done a little in Python too, and did enjoy that a bit) is a tough task. Or at least it has been for me up to this point. Virtually everyone wants some veteran Java or Python hacker who's also got Clojure chops.
A job in Clojure centric web development...is it too much to ask?
Honestly, and I say this as a big fan of Scala and Clojure: fixation on one programming language and a lack of interest in picking up the widely-used languages tools of the trade because of self-"spoiling" would be a reason for me not to hire a candidate. Self-limitation is a huge red flag: I hire horizontal and vertical polyglots[1] because they're going to have a wider base of experiences to draw from. Most monoglot dev shops are going to trend towards the enterprise--because it's easier to hire, to bring new people on-board--and towards .NET and "enterprise Java" (as distinct from "smart Java", which has a pretty large intersection with the Scala, Clojure, etc. communities).
[1] - Horizontal polyglottism is being comfortable in multiple similar environments--knowing, say, both Ruby and Python exposes you to multiple paths to the same goal and can help you tease out the benefits and drawbacks to different approaches. And, probably even more importantly, vertical polyglottism involves being comfortable moving up and down the abstraction ladder. This is a big part of why I like Clojure, sure, but I know it better because I know Java and through Java the JVM, and I know the JVM better because I know C++. I know C++ better because I know C, and so forth. Learning the entire stack makes you better--and it removes "spoiled" from your vocabulary.
While I think it's clear Clojure and other functional languages are stronger overall than Ruby, Python, JS, and the like, the truth is that web development in the wild ends up being a lot more about choice of libraries than choice of language.
Clojure is getting there, but its web libraries are still immature compared to what you'll find in Rails, and I generally can't justify spending the extra time that implies.
For apis and services, on the other hand, Clojure is fantastic. My preferred architecture these days is Rails for front-end, lightweight backend, and various utility tasks, and a Clojure api for computational tasks, parallelism, and heavy lifting.
My point is that sometimes the best tool for the job isn't necessarily the best all-around tool. It's fine to use the stronger technology whenever you can justify it (why wouldn't you?), but if you put more focus on technology choice than product, you may end up with lots of beautifully engineered projects that never get finished.
As a recent novice-to-employed developer myself, I would caution against jumping into the rails stack. This is not a knock on rails, however. Where I live (Michigan, US) there are plenty of web dev job openings at any given time. But about 50% are C# MVC or ASP.net, another 25% are PHP drupal or wordpress and then come Django, Rails and the rare node job.
My point is if "employable" is the goal, check out the jobs listed on stackoverflow and indeed, etc., in your area before picking a learning plan.
(Incidentally, I learned Java/Android and Python and count myself very lucky to be employed in non-web dev.)
>>As a recent novice-to-employed developer myself, I would caution against jumping into the rails stack. This is not a knock on rails, however. Where I live (Michigan, US) there are plenty of web dev job openings at any given time. But about 50% are C# MVC or ASP.net, another 25% are PHP drupal or wordpress and then come Django, Rails and the rare node job.
As a novice who is learning web programming, I find this... odd. No JavaScript/Jquery? Is that not by far the most commonly used language/framework on the web?
For server-side, I can understand PHP, Rails and ASP.NET but I would expect JavaScript to dominate the front-end.
I'd like to see things like some hours of face-to-face mentoring per week (via skype or hangouts) and extra exercises and reviews in the Premium plans. There are almost no online resources providing such features, and I find them extremely important when teaching to beginners as I explained in a recent post: http://bit.ly/HjiCpm
Currently this is the big thing on the Internet. Teaching people how to code.
I really believe "Knowledge empowers the person". So keep up the good work guys! The more learning experiences out there the better knowledgable about the Internet, web technologies for the public.
Meanwhile, while you're waiting for users to fully build out the content I can head to General Assembly or CodeSchool or CodeAcademy or Lynda or any other site.
Just sayin, don't underestimate the person who wants to learn now, not wait.
You might not be able to get the "all in one place" part, but there has never been a better time to become self-taught. If you haven't programmed at all yet, immerse yourself in some JavaScript till you can "walk", then track down the rest of your stack of choice.
[+] [-] apsurd|12 years ago|reply
I think the video should be 100% about "what's in it for me" (the user). I understand the reason why you are introducing the people behind the project, but after 1minute in the video becomes "about howtocode.io" and less about "me". I closed the video after that to be honest.
Again, I get that you are providing validation and answering "why should I trust you" but honestly, unless you can say something that a beginner would value like "I founded Twitter", or "I work for Microsoft" (used to illustrate people can relate to a brand name regardless of how our inner-circles perceive them.) then it becomes a waste of the 30 seconds I'm giving you as to what's in it for me and how can I start receiving value RIGHT NOW.
In writing this, actually I think most everyone that has asked me for advice in how to code vet sites by word of mouth and by proxy i.e. "Jade what do you think about this site?" or "well Google has it as #1" or "well on youtube this has 1 million views" etc.
So in summary, I think you should not _lead_ with vetting yourself.
EDIT: I watched more of the video. You use language like "we will teach you.." and "our goal is to" which illustrates the point that you are talking about yourselves rather then the user. Changing it to "You will build a basic webpage and host it online entirely yourself in the first week" shifts the subject to the user, because it's always all about the user.
[+] [-] frogpelt|12 years ago|reply
[+] [-] codingdave|12 years ago|reply
[+] [-] bstar77|12 years ago|reply
Also, I'm not a believer in TDD, especially with beginners. I find it tedious especially when prototyping an app, which I almost always do before starting a non-trivial project. Once my prototype works reasonably well, I do a refactor with good test coverage in an effort to produce production ready code.
I'm a huge believer in testing, just not TDD.
[+] [-] dopamean|12 years ago|reply
[+] [-] mck-|12 years ago|reply
[+] [-] pbhjpbhj|12 years ago|reply
They seem to be quite RoR specific based on the contents?
[+] [-] gyardley|12 years ago|reply
I always recommend the Pragmatic Programmers book for new learners.
[+] [-] wentkenko|12 years ago|reply
[+] [-] dustingetz|12 years ago|reply
[+] [-] VaedaStrike|12 years ago|reply
I've heard some nice things about Ruby, but I think I'm too much of a spoiled noob in my exposure to Clojure. I'd even take a class if it was Scala or Erlang or something along those lines.
Sometimes I hate being a spoiled noob, because I'd really like a job programming, but I don't want to pause learning Clojure unless I'm learning some language that seems to be at least close to it. But trying to get a job whene you can build stuff in Clojure but not much else (I've done a little in Python too, and did enjoy that a bit) is a tough task. Or at least it has been for me up to this point. Virtually everyone wants some veteran Java or Python hacker who's also got Clojure chops.
A job in Clojure centric web development...is it too much to ask?
[+] [-] eropple|12 years ago|reply
[1] - Horizontal polyglottism is being comfortable in multiple similar environments--knowing, say, both Ruby and Python exposes you to multiple paths to the same goal and can help you tease out the benefits and drawbacks to different approaches. And, probably even more importantly, vertical polyglottism involves being comfortable moving up and down the abstraction ladder. This is a big part of why I like Clojure, sure, but I know it better because I know Java and through Java the JVM, and I know the JVM better because I know C++. I know C++ better because I know C, and so forth. Learning the entire stack makes you better--and it removes "spoiled" from your vocabulary.
[+] [-] danenania|12 years ago|reply
Clojure is getting there, but its web libraries are still immature compared to what you'll find in Rails, and I generally can't justify spending the extra time that implies.
For apis and services, on the other hand, Clojure is fantastic. My preferred architecture these days is Rails for front-end, lightweight backend, and various utility tasks, and a Clojure api for computational tasks, parallelism, and heavy lifting.
My point is that sometimes the best tool for the job isn't necessarily the best all-around tool. It's fine to use the stronger technology whenever you can justify it (why wouldn't you?), but if you put more focus on technology choice than product, you may end up with lots of beautifully engineered projects that never get finished.
[+] [-] mlangdon|12 years ago|reply
My point is if "employable" is the goal, check out the jobs listed on stackoverflow and indeed, etc., in your area before picking a learning plan.
(Incidentally, I learned Java/Android and Python and count myself very lucky to be employed in non-web dev.)
[+] [-] enraged_camel|12 years ago|reply
As a novice who is learning web programming, I find this... odd. No JavaScript/Jquery? Is that not by far the most commonly used language/framework on the web?
For server-side, I can understand PHP, Rails and ASP.NET but I would expect JavaScript to dominate the front-end.
[+] [-] _raul|12 years ago|reply
[+] [-] exo_duz|12 years ago|reply
I really believe "Knowledge empowers the person". So keep up the good work guys! The more learning experiences out there the better knowledgable about the Internet, web technologies for the public.
[+] [-] MWil|12 years ago|reply
Just sayin, don't underestimate the person who wants to learn now, not wait.
[+] [-] RRRA|12 years ago|reply
[+] [-] mlangdon|12 years ago|reply
[+] [-] userlabs|12 years ago|reply