

Ask HN: Can you provide a Roadmap+Tools for a Beginner? - joshfenmore

How would you learn programming if you were to start now?There are so many tutorials these days, that i find myself overwhelmed by it.I started with HTML and CSS but each tutorial&#x2F;website&#x2F;course is offering a different view&#x2F;different style of coding&#x2F;different tools. How do I know which is the best way?<p>Can Professional Developers offer some advice on this eternal topic?Like, if you were to start now, how would you do it and what would you use?An example would be:<p>Learn : A B C first. Then go X Y Z.<p>Use: Tutorials&#x2F;Websites X Y Z + Books 1 2 3.<p>Tools To use&#x2F;Using: X Y Z.<p>My goal is to get enough knowledge in the next months to build demo&#x2F;basic websites.<p>Also if anyone has 10 min to talk to me about this on gmail I would really appreciate it. Thank you.<p>Josh
======
samirmenon
For me, when I was starting out with this stuff (and by the way, I'm not an
expert now), I learned one lesson the hard way:

Just pick something.

It honestly doesn't matter what, you just have to choose something. There is
so much time to be wasted agonizing over whether you have chosen the right
framework, tool, platform etc. The best strategy is to just choose something
and run with it. Once you learn and feel comfortable in one language/area (for
me it was python), you'll be able to transition easier.

Perhaps this strategy will take more time than if you pick the "correct" path
now... I really didn't see time as a consideration when I learned.
Nevertheless, it's probably better than spending time dillydallying. Good
luck!

~~~
joshfenmore
The reason I'm asking is because I see people building apps after learning
rails in 4-6 months which to me translates to skipping and/or poor quality
coding. I might as well be wrong about it but it seems too easy judging by how
hard it looks like...

------
mgingras
Hey Josh,

Here is a good link to a project that popped up on HN a while back
[http://www.bentobox.io](http://www.bentobox.io) , basically pick one of the
topics and click toggle what to learn next, and it will show you a sort of
progression.

As far as tutorials, just google the technologies name + for beginners or
something similar. (there are also links to instructions in the site I posted)

As far as where to go for what it really depends on your end goal and who
you're working with.

I.E. for web development, some people swear by Django or Rails or some PHP
framework, all depending on their use case and the expertise of the people
they're working with.

Figure out what you want to make, research what tool would be best to make it,
then learn that tool and the languages/frameworks that compose it.

If you're just looking to make a basic web app, I would recommend using
Sinatra (Ruby), Flask (Python), or Express(NodeJS). All provide a very simple
configuration to get to the "Hello, world" point, however are extensible
enough that you can use them to learn more advanced tools, technologies, etc.

If you want to chat more feel free to shoot me an email at martin@mgingras.ca

Cheers,

Martin

~~~
joshfenmore
Thank you for your adivce, I will definitely email you some questions I have.
I wanted to learn PHP but it was not recommended by other people.

------
clubhi
I have a co-worker that came out of school with an economics degree. In a
couple of years he went from having no programming experience to cranking out
pretty impressive apps with elasticsearch/django. (*I should clarify.. He
started making apps right away. It took him a few years to make them what I'd
consider professional quality).

I've been programming for about 20 year so really don't think I realize how
difficult it is to pick things up.

~~~
joshfenmore
A few years seems reasonable but when people go straight into rails and build
apps in a few months without any prior knowledge I'm starting to think if i
should go on that path as well.

------
ziyadb
Hi Josh. I'm actually working on a book that is intended to provide you with
the basic principles and how to actually build applications, which is
something I've personally struggled with, considering the language-centricity
of the majority of tutorials out there.

It's far from done, however, email me (email in profile) and I'd be happy to
send you a draft.

Good luck with your journey!

~~~
joshfenmore
Thanks, I'll definitely email you about the book.Perhaps I will even make some
suggestions.

