
Ask HN: Your advise wanted for how to get into programming - dbob
What&#x27;s up everybody?<p>I suppose threads like this come twice a day but I only found dated and less relevant content through search.<p>Would definitely appreciate your thoughts if you could spare a few mins to me.<p>Here&#x27;s the situation - me, a 27 year old, BSc and MSc in Entrepreneurship, tech savvy guy, just recently started to learn to do some dev stuff.<p>So what got me started is the &#x27;android development for beginners&#x27; course at Udacity. 
So I have been going through stuff like XML and now focusing on HTML&#x2F;CSS, which should always be handy for basic webpages. So next step for android dev is to learn some java of course.<p>My goal is to get solid skills at web dev (full-stack), but not like aim to &#x27;master&#x27; it. 
Plus, that I would like to become a good android dev.<p>Currently I am going to approach this by learning the HTML&#x2F;CSS&#x2F;JavaScript thing for front end and Ruby&#x2F;Rails for back end. Learn Java as my main&#x2F;core programming language.<p>So questions:<p>1. How does my &#x27;roadmap&#x27; sound to you, would you recommend something different about how to go into webdev (perhaps Python&#x2F;Django?)<p>2. Is javascript as the programming element of a webpage being replaced? Or should I learn it plus libraries like jQuery?<p>3. Is it feasible for someone that doesn&#x27;t intend to become a full-time programmer to get good at more than one core programming language like Python, Java, C, etc. Or are they so different that it&#x27;s best to get good at one than mediocre at multiple?<p>4. What would you share as tips for learning more about CS (I would love to get a good grasp of it).<p>Thanks so much for reading!
And please pitch in, even if it&#x27;s a sentence!<p>All best,<p>Deyan
======
officialchicken
If you were going to build a house, and could only pick one tool, which would
it be? You need several tools, but woodworking tools work best for 90% of all
houses whereas steelworking tools are limited to a much different type of
building. Stick with what's popular and common, some techs will have more open
and supportive communities than others.

I'd place a goal or milestone in your roadmap - you will learn the tech along
the way - make something that you want.

To be honest, you're trying to cram 5 years and 3+ complicated techs into a
beginner project; some languages and platforms are actually re-usable... e.g.
If you use React Native and MERN backend, you only need to learn Javascript.
Your proposal has 3+ langs, but they're wildly different in terms of
code/debug/deploy in the real world.

~~~
dbob
Thanks for pitching in. And yes, that's why I think I am placing safe bets
with popular stuff like Ruby/Rails and Java.

I am actually quite eager to work on it and am not scared of spending 5+ years
to get good at it. I just wanted to know whether my thinking of a good way to
get into coding sounds okay. For example, I read that starting programming
with C is not a very smart way to do it, as it is more complicated (low-level
is the right term I think).

Could you please elaborate on your last sentence - do you mean that if go with
Java, I should stick only with it, and not try to spread myself too widely
with other langs? In other words pick one generel purpose lang?

------
lollipop25
1\. I suggest you choose a Java-like language as secondary to avoid cognitive
burden. That way, similarities (semicolons, brackets, OOP, etc.) are closer.
PHP, C#, and Node are examples.

2\. Learn them both. Vanilla JS is good in Node and good enough in the
browser. But for things that are really hairy (AJAX, DOM manipulation), jQuery
will be your friend.

3\. Yes, it is possible. It's all about determination.

4\. Just do it. Going through a learning course does nothing if you don't
apply it.

~~~
dbob
Thanks for addressing my questions! Appreciated.

------
spudsilo
Just build your thing with whatever you've got. The important thing is to
finish. Once you finish it will be pretty obvious what you'd like to improve.
Start looking at other tools and languages from that perspective. Your goal
should be to know what different things are good for (and what they aren't)
and when to use them, rather than mastery of any single technology.

~~~
dbob
Thanks for posting. The hard thing for me as someone that does not understand
clearly what I am getting myself into is knowing that after X I do/learn Y.
And I was afraid that if I finish X I might be at a dead end, e.g., not
knowing what to do next. That's why I wanted have a clear idea of what would
be a good set of programming skills for me to aim for from the start. Thanks
again for the tip!

------
nomadictribe
Hi, id suggest starting with the codecademy courses they give you a pretty
good picture of whats used for webdevelopement. The execises are well
explained and the community is full of friendly helpful people.

codecademy.com

