3 ms·
As someone who is trying to learn to code on their own, I feel like I understand this. The first question of "which language/stack/etc should I learn first?"
by nemacol 10y ago
As someone who is trying to learn to code on their own, I feel like I understand this. The first question of "which language/stack/etc should I learn first?" has haunted me for the years I have been trying and getting nowhere.
Not EXACTLY the same problem as the author, because I am not building out scalable infrastructure. I just spent a ton of time learning the fundamentals of angular and node, then try to understand express, then grunt, and mocha and bower and... now I have weeks into this pile of stuff... nothing working and I am frustrated, disappointed, and oh look Overwatch patch notes.. time to try out the new hero.
- flxsrbr 10y agoBeing in the same position (trying to teach myself some web development in my spare time) I recently decided to focus on the absolute basics and work my way up from there. This was after I quit a beginner's course which started with bootstrap, jquery, meteor.js and mongoDB. This may be fine for others, but to me it felt frustrating because all the interesting stuff beneath was kept hidden from me. I just used some tools in a predefined way without really understanding what was happening. You are probably way past this level, but I really enjoyed the interneting is hard tutorial (https://internetingishard.com/html-and-css/ https://internetingishard.com/html-and-css/) and playing around with flexbox and media queries. At the moment I am looking into Free Code Camps JavaScript chapters. Seems like a very long road, but understanding the basics concepts first, learning a little more every day and just playing around with what I already know is what keeps me motivated. But of course YMMV and this may not be the best way if you are aiming for a quick change in career etc.
- nemacol 10y agoThis is my experience as well. Started with a boot camp that made me feel like I could actually get stuff done only to struggle with core concepts, debugging, and actually doing things on my own. I recently enrolled in FreeCodeCamp (2 weeks ago) and have been working through from the beginning. Thank you for you comment. Best of luck to you, fellow newbie. :D
- l_t 10y agoUnless you want to focus exclusively on Web development, I wouldn't recommend picking Javascript as your first programming language. The ecosystem is fragmented, and the language itself is probably not the best for teaching. Have you considered learning Python or Ruby first? On the other hand, if you're committed to Javascript, I think you should start at the most basic level. Angular is good, but it's a complicated system that takes time for even experienced Javascript coders to get used to. Same with Express, Mocha, Grunt, etc. These tools incorporate complexity to hide it from the programmer. But as a novice programmer, you DO NOT want that complexity hidden right off the bat. Assuming you've gotten past the very basics (syntax of programming language, executing Javascript in the browser, reasoning about simple scripts), I would recommend the following as an exercise for learning: Pick a fairly simple website and try to re-implement it, without looking at the original code. Don't start with angular, bower, or anything else. Just Javascript, HTML, and CSS. This is the fundamental language all browsers speak, and you have to be able to understand it for everything else to make sense. As you work on the project, you might start to find things annoying. Like, dynamically changing page content with Javascript requires a lot of code. How could you make it easier? Think about, and possibly even implement, a solution that makes sense to you. Then, once you don't need it, you can reach for a pre-baked solution (like Angular, Vue, or React in this case).
- nemacol 10y agoI have no intentions of dealing exclusively with web, but it seems to be the most accessible and it is easy to come up with projects to do. Where sitting down in front of visual studio trying to learn C# or similar is just way too big and harder to come up with things to do. I started programming by working with codeacademy.com and taking a MEAN stack bootcamp - which was a good experience but not a great way to learn to code. I took this specific class because it met my work schedule, was online, and not very expensive. Hell, it was better than nothing at least. I appreciate your feedback. I am at a point where I can build simple websites with html, css, java. I use bootstrap because css makes me angry. I take your point though, work with the fundamentals and progress from there. Thank you for your reply.
- sbov 10y agoAny of them. If this question has haunted you for literally years, the right question is "how do I get through my analysis paralysis", not "what is the right stack/language/etc."
- equalarrow 10y agoI've built (and continue to) a lot of companies using Rails. I also do Swift on iOS and have been playing around with Swift on the server since last year. I have some friends that have an idea and I'm going to help them build it. So what do I use? The fast, low memory footprint of Swift? No. I use Rails. I use bootstrap. I don't make a JS only frontend with api backend (Turbolinks works fine). I use what makes me productive and what's gets the first rev out the quickest. For hosting, I put it on my Mac Mini (in my living room) via VirtualBox, with the same Nginx proxy I use for all my projects. I have no problems with scaling because I don't need to. Cross that bridge IF I get there. I went through a number of years trying the latest and greatest frameworks, aws configs, etc. None it mattered to my projects. It did help with day jobs, but that was it. Some other poster here was right when he said tech is about 10% of your business. There is so much other stuff outside of building your app/site and having analysis paralysis is gonna stop you dead in your tracks. My advice (as many on HN have said before): go with what you know, don't over engineer, ship early and often.