4 ms·
In defense of doing it the “hard way”
- bwarp 15y agoI think this comes down to "shit is hard" and "a quick tutorial isn't going to make you an expert". There are too many people after instant gratification these days. After 10 years of writing code, I felt that I had a basic understanding of how things were and what felt right and what didn't. Now on year 22, I feel I know what I'm doing but still tread carefully.
- rfelix2121 15y agoExactly.
- greenyoda 15y agoTen years seems about right. Peter Norvig wrote a wonderful article, "Teach Yourself Programming in Ten Years" -- http://norvig.com/21-days.html http://norvig.com/21-days.html -- which is a reaction to people who claim that you can "Learn X in 21 Days". Another well-known rule of thumb is that it takes 10000 hours of practice to become good at something (e.g., programming, playing a musical instrument, etc.).
- toumhi 15y agoI don't really see the problem. Code academy lowers the threshold for people to get to try programming. They can after that find their own ideas, select a technology, and start to hack. It's less daunting to do that once you have a better grasp of what programming means at least. Some people think programming is wizardry you do in front of a computer to make it do what you want.
- rfelix2121 15y agoI wasn't trying to say that there's a problem with Codecademy et al, I'm trying to say that there's a problem with going into it with the wrong mindset/expectations.
- jakeonthemove 15y agoThat's not the hard way - it's the efficient way. Instead of learning everything from the beginning, you learn only the stuff that can be immediately used for your goal/task - fast, efficient and terribly unscalable, but good enough for most people who don't actually want to be, for example, programmers, but just want to build an app or something.
- LefterisJP 15y agoI admit I have had no experience with code academy so I can in no way be qualified to judge it but what the post wants to convey is just simply true. It's not the hard way, it's the right way to go about building something. You build your knowledge while you are working on your project and learn from your mistakes. This is how we all started and I suppose that the way to go about it has not and will not change for a while.
- brudgers 15y agoMs. Benjamin has had a couple of decades to realize success, CodeAcademy has had a couple of months to do so. I doubt she was suggesting anything as complex as Agile Web Development with Rails to the children she introduced to the topic. That sort of thing, I am certain came, much later and to very few of her former students. CodeAcademy makes tradeoffs, so do Zed Shaw's Hardway books. Both however attempt to help people avoid paying the entire dumbtax in learning to program. I suspect that's what Ms. Benjamin strove for as well.
- mattdeboard 15y agoI couldn't agree more with this article. I wrote a post about my personal path to becoming a programmer, and about the most specific I got about what I actually programmed was "stuff I thought was interesting." The most specific advice I gave was "program" and "work hard." The comments I got both here and on the article made it clear that people wanted specific tutorials and sample projects they could replicate. This misses the point entirely. The way to become anything -- at least a good anything -- is to hard work and repetition. I can't tell you what to program. I can't give you sample projects based on what I did because why should you care enough about some dumb thing I made to extract meaningful lessons from it? Find something you think is neat or cool to make and make it. When it comes to sports, or tradecrafts like carpentry/masonry etc., singing, painting, etc., it's understood the only way to become a professional is to bust your ass. It's the same way with anything in the world. There is no magic bullet. There's no wand you can wave or wish you can make. You just have to work. The number of people for whom this is a completely foreign concept is surprisingly large.
- brudgers 15y agoI'm finishing up the CodeAcademy Javascript class. I'm not a programmer by any stretch, but over the past thirty years or so I've written a little script here and there to solve a problem. CodeAcademy won't turn anyone into a programmer overnight, though it might start someone directly down that path - there is a lot of good stuff in the exercises (even though in the end they are just exercises). Personally, I had a couple of "Aha!" moments where the hands on nature and immediate feedback made something I had read about many times just click clearly into place (recursive functions and passing an object to a function). The "official" pace of the course is probably a little slow - writing code a little at a time is the worst approach and the exercises really don't have enough meat to drag on for the many weeks of the official timeline (unless meaningful homework is added to the course - in which case it might drag). It's a good project; it's not going to make someone immediately employable (particularly if it took them two months to complete it); and there is a lot of room for growth of the product.
- keithpeter 15y agoAs a non-coder, I'd like to have read a bit about the planning vs code learning bit. For instance, the author states that "...I built the first version of Hngry while working through the first edition of that book." The book presumably dealt with Ruby, the libraries, the agile process, but how did the author translate the interactions he had in his head into objects/procedures/whatever in the code? Abstractionacademy anyone?
- rfelix2121 15y agoActually, AWDWR contained a complete tutorial for building a Rails app. I basically had an idea, popped open the book and instead of building the app in the book, used the concepts/instructions to build Hngry instead. For instance, I read about how to create new database models, and instead of making the ones the book wanted, I made restaurant/user/menu item models instead.
- graeme 15y agoI'm learning to program using K & R, and using Codecademy as a supplement. I'm finding it useful to see some of the same ideas in another language. Codecademy (currently) won't teach anyone to be an expert programmer, but they're just getting started. I can see it turning into something very useful over time.
- rfelix2121 15y agoI'm definitely not saying it isn't useful, just that people shouldn't be going in with expectations of superhero coding ability when they come out the other side. I'm sure it will become more and more useful over time.