The fact that most bootcamps focus on webdev is probably not for any theoretical reason, but just that the practical uses of what you do are very apparent and you will see visible evidence of skills for which there is market demand very quickly and very often.
What would your ideal of a good place to start learning programming conceptually? I think phone app dev tends to be less elegant than webdev. While understanding C and pointers has value, imo, being able to do something useful with it is not within the reach of a bootcamp and learning it just for theory is nice, but only if you can afford to spend essentially several unproductive months on it.
I am probably a bit biased though (I’m planning on doing a coding bootcamp, and prefer ruby syntax to python), and what you’ve provided does seem like real alternatives for anyone who doesn’t want to go the web dev route.
What would your ideal of a good place to start learning programming conceptually?
Solving Project Euler problems, writing command line apps, creating games using Pygame or some JavaScript game development framework (or just a command-line hangman)? Or, even better, some programming project you are interested in for its own sake.
what you’ve provided does seem like real alternatives for anyone who doesn’t want to go the web dev route.
You mean doesn’t? Yeah, I agree, my suggestions are not nearly as fleshed out as Peter’s. I certainly don’t mean to discourage folks like you. I think learning Ruby on Rails is a great idea. I wouldn’t suggest that someone who’s partway through the path Peter outlined retool for a different set of skills. And once you’ve mastered one model of programming that will give you a leg up for learning others. It may be that learning Ruby on Rails is currently the best way to master programming just because of the existence of beginner guides like Peter’s and coding bootcamps.
If someone is having significant trouble following the route Peter outlined, however, I think I might have something useful to say. If you’re using Ruby on Rails to write apps, you’ll be using a lot of different technologies (HTML, CSS, HTTP, a database, maybe JavaScript, and Ruby) that interface with each other in weird ways. And Rails is full of magic and shortcuts that make things faster when you know what you’re doing but make it harder to form a mental model as a beginner. I think I remember reading that Sinatra was used instead of Rails by at least one of the major coding bootcamps for the majority of the course because it’s better for developing a mental model. Rails can be pretty hard for even experienced programmers to master because of all the magic. Point being, if you’ve having trouble (especially if you’re not understanding things as thoroughly as you might like), you could still make a great programmer, and I’d recommend programming some command line games in Ruby, using Sinatra instead of Rails, and mastering technologies one at a time without shortcuts.
Project Euler is a really good tool for getting the hang of a new language, imo. Strongly recommend it to anyone who wants an interesting project that will teach basic skills.
I actually did mean does :) Sinatra is definitely easier to understand than Rails and I agree that if the first code I had worked on with ruby was Rails instead of Sinatra I would have been pretty fucking confused (note that, at least in App Academy’s case, the precourse work involves a fair amount of pure ruby). The real benefit of the bootcamps (I hope, anyway) is taking someone from saying, “okay, I can comfortably write a program, but what else do I have to know to do a real job?” and teaching the rest of the production environment and techniques, not just concepts of programming.
I think I agree with your core point, if I’m reading it correctly, that that if you aren’t in a huge hurry (and ideally, even if you are), taking the time to really master the basics and understand your toolchain one piece at a time is very valuable.
The fact that most bootcamps focus on webdev is probably not for any theoretical reason, but just that the practical uses of what you do are very apparent and you will see visible evidence of skills for which there is market demand very quickly and very often.
What would your ideal of a good place to start learning programming conceptually? I think phone app dev tends to be less elegant than webdev. While understanding C and pointers has value, imo, being able to do something useful with it is not within the reach of a bootcamp and learning it just for theory is nice, but only if you can afford to spend essentially several unproductive months on it.
I am probably a bit biased though (I’m planning on doing a coding bootcamp, and prefer ruby syntax to python), and what you’ve provided does seem like real alternatives for anyone who doesn’t want to go the web dev route.
Solving Project Euler problems, writing command line apps, creating games using Pygame or some JavaScript game development framework (or just a command-line hangman)? Or, even better, some programming project you are interested in for its own sake.
You mean doesn’t? Yeah, I agree, my suggestions are not nearly as fleshed out as Peter’s. I certainly don’t mean to discourage folks like you. I think learning Ruby on Rails is a great idea. I wouldn’t suggest that someone who’s partway through the path Peter outlined retool for a different set of skills. And once you’ve mastered one model of programming that will give you a leg up for learning others. It may be that learning Ruby on Rails is currently the best way to master programming just because of the existence of beginner guides like Peter’s and coding bootcamps.
If someone is having significant trouble following the route Peter outlined, however, I think I might have something useful to say. If you’re using Ruby on Rails to write apps, you’ll be using a lot of different technologies (HTML, CSS, HTTP, a database, maybe JavaScript, and Ruby) that interface with each other in weird ways. And Rails is full of magic and shortcuts that make things faster when you know what you’re doing but make it harder to form a mental model as a beginner. I think I remember reading that Sinatra was used instead of Rails by at least one of the major coding bootcamps for the majority of the course because it’s better for developing a mental model. Rails can be pretty hard for even experienced programmers to master because of all the magic. Point being, if you’ve having trouble (especially if you’re not understanding things as thoroughly as you might like), you could still make a great programmer, and I’d recommend programming some command line games in Ruby, using Sinatra instead of Rails, and mastering technologies one at a time without shortcuts.
Project Euler is a really good tool for getting the hang of a new language, imo. Strongly recommend it to anyone who wants an interesting project that will teach basic skills.
I actually did mean does :) Sinatra is definitely easier to understand than Rails and I agree that if the first code I had worked on with ruby was Rails instead of Sinatra I would have been pretty fucking confused (note that, at least in App Academy’s case, the precourse work involves a fair amount of pure ruby). The real benefit of the bootcamps (I hope, anyway) is taking someone from saying, “okay, I can comfortably write a program, but what else do I have to know to do a real job?” and teaching the rest of the production environment and techniques, not just concepts of programming.
I think I agree with your core point, if I’m reading it correctly, that that if you aren’t in a huge hurry (and ideally, even if you are), taking the time to really master the basics and understand your toolchain one piece at a time is very valuable.