Hacker News new | ask | show | jobs
by ketiko 2810 days ago
Yes. But any modern web framework would also work. The patterns and practices you will learn from any of them will be mostly comparative.

What will really help you the most is learning a second tool chain after the first. This will introduce you to new and differing patterns that allow you to see the pros and cons so many here are stating.

You'll find most people have changed frameworks and languages throughout their careers. You have to with ever evolving technology. So X vs Y doesn't matter too much. At some point both could be obsolete.

The goal you seem to be after is learning web development in general. While there could be any number of paths, I would recommend whatever one you have the most resources for.

If you know developers that you can have help mentor you and they use X... then use X. Because nothing beats having a 10 minute explanation when you are learning compared to a blog post.

If you don't have in person mentors, then find X framework that has the most resources. You'll find the more stable frameworks tend to have the most documentation, go figure.

I'd also start out with a full stack framework. This is because you will already be learning so much that it can be overwhelming. Don't lose motivation to continue learning programming by trying to learn every little piece of web development. Just get something simple working. Then use libraries to add functionality. You'll get more excited having built something. Then go start to see how the library works internally and start your deep dives into core functionally apps have to have. Like authentication, authorization, validation, databases, etc.

The biggest problem I see with new or prospective developers is analysis paralysis. Pick anything and build something. If you aren't having fun you won't keep at it.

As far as employability... it's the principles you learn from building something that matter more than the framework. At lots of companies you won't even find language or framework in the job posting. This is because they understand someone who had learned the strengths and weaknesses of patterns will be more valuable. Those are harder and take longer to teach than a second language to someone. While already knowing the toolset never hurts, it often isn't a requirement.

P.S. I'm biased... use Ruby and Rails

Update: corrected protective to prospective.

1 comments

I would upvote this post twice if I could.

Rails is probably still the best implementation of a full-stack framework, and I agree that full-stack frameworks are are the best way to learn.

Despite working for a Rails shop for a long time, I would probably not recommend Rails itself for completely new programmers anymore, just because they would probably be better served learning Python than Ruby these days.