3 ms·
Ask HN: Your advise wanted for how to get into programming
What's up everybody?
I suppose threads like this come twice a day but I only found dated and less relevant content through search.
Would definitely appreciate your thoughts if you could spare a few mins to me.
Here'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.
So what got me started is the 'android development for beginners' course at Udacity.
So I have been going through stuff like XML and now focusing on HTML/CSS, which should always be handy for basic webpages. So next step for android dev is to learn some java of course.
My goal is to get solid skills at web dev (full-stack), but not like aim to 'master' it.
Plus, that I would like to become a good android dev.
Currently I am going to approach this by learning the HTML/CSS/JavaScript thing for front end and Ruby/Rails for back end. Learn Java as my main/core programming language.
So questions:
1. How does my 'roadmap' sound to you, would you recommend something different about how to go into webdev (perhaps Python/Django?)
2. Is javascript as the programming element of a webpage being replaced? Or should I learn it plus libraries like jQuery?
3. Is it feasible for someone that doesn'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's best to get good at one than mediocre at multiple?
4. What would you share as tips for learning more about CS (I would love to get a good grasp of it).
Thanks so much for reading!
And please pitch in, even if it's a sentence!
All best,
Deyan
- officialchicken 11y agoIf 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 11y agoThanks 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?
- spudsilo 11y agoJust 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 11y agoThanks 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!
- lollipop25 11y ago1. 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 11y agoThanks for addressing my questions! Appreciated.
- nomadictribe 11y agoHi, 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