Developers should learn Configuration over Convention FIRST
Why developers should learn Configuration over Convention FIRST
Yes, notice I said Configuration over Convention. You didn't read that wrong.
Now, before you cry "No! I love my Rails magic and I want to spread it all over the world", let me say that I love Rails. It is a brilliant system that allows extremely fast prototyping and development (so long as you want to use MVC). Everything is auto-magic, and it is brilliant for developers, so long as you aren't reliant on the magic solely.
I am a .NET developer by trade that happens to use Ruby and Rails on the side. I think Rails is brilliant and want to use it whenever I can. But as I learned it, I kept thinking to myself, "does it just name it that by itself? I'm sure that will cause a lot of confusion if done wrong"
Learning a configuration-over-convention framework (such as .NET) first can save you from these moments where you assume everything is supposed to just work like that, and then cry for help from the auto-magic gods when it doesn't. Teaching a developer fresh out of college how to set up a SQL server that their IIS website connects to through a Web.config will do loads better than have them type "rails generate model User etc etc" and let it do the work for them.
This is why most colleges teach Java, because even C# has shortcuts that I've taken for granted over many years. And when you learn without those rails (pun-intended), you are ready when it throws errors in your face. You know that there is a relational database under the hood, and how it works, and hopefully how to query it directly. You know that there is something akin to your Web.config, but that it's under the hood and all conventional, which saves you time. And most importantly, you question everything that looks like it's doing too much work for you, and what will happen when you have to customize anything.
Now, I realize you can't just change your company's development environment just to support new hires' learning experience. But if you are wanting to break into web development on your own, you owe it to yourself to learn the .NET framework first. The reason I say this framework is that you can always find a job as a .NET developer, and it's a really good configuration-over-convention framework with mountains of documentation and online support.
Once you have the deep dive into configuring a complex stack, you've learned C#, Javascript, SQL, and everything required to set it up; then you can go create a website in 20 minutes using Rails.