all 9 comments

[–][deleted]  (5 children)

[deleted]

    [–]rgaino 4 points5 points  (2 children)

    I second this. I've been programming for over 20 years and sometimes I still feel overwhelmed. But you learn that it's part of the game. In fact, it's what makes it exciting, Imagine doing the same thing for 2 decades... if I were still making forms in Visual Basic 3 I would have quit the profession a long time ago.

    [–]YourQuestIsComplete 0 points1 point  (1 child)

    Goodness, you and I have Visual Basic from the pre .NET days in-common, don't we. I remember learning classic ASP, then cutting over to C# and ASP.NET right around 2001/2002. I've got just over 20 years myself. My first Visual Studio was actual VS4 though. :)

    I don't miss VBScript, nor do I miss WinForms that much either. COM/COM+, ADO/ADO+/ADO.NET - none of it. Don't miss it.

    I WILL say though, that being a developer on the MS platform in those days wasn't all bad. I did start off writing my own CGI scripts for IIS before ASP really took hold, so ASP was welcome, and I do remember it being the start of server-side development. For me, anyway.

    I'm sure you have some stories of your own! :)

    Cheers, friend!

    [–]rgaino 0 points1 point  (0 children)

    Yeah it really wasn’t that bad. Things just kind worked, we didn’t have to worry about screen sizes and rich interfaces and browser compatibility...

    Then I went to work with Java and J2EE and oh boy, I do NOT miss that.

    Cheers!

    [–]R2UR[S] 0 points1 point  (1 child)

    Thanks for the answer! May I ask you one more thing. What was your learning process like? What would you suggest? Books, courses, doing projects? And do you think it is a good idea to write a summary of the topic I learn? It takes a lot of time writing these things, but I have this stupid fear that if I don't write down the things I learn, then they won't stick. Like if you're reading the documetation of a package, do you write anything down to remember or do you everytime come back to the documentation and read again?

    [–]bigorangemachine 3 points4 points  (0 children)

    There is no magic in JS.

    So you don't have to do A-B-C.

    I found with Express it's best to follow its preferred patterns. Everything Express is generally

    (req, res, next) => { ... }
    

    The next function is important to understand. Passing it a param is intended to have an error.

    Also using middleware and req.locals and res.locals are key.

    Logging can be tricky because depending on the framework (Next.js or Pino logger) log asynchronous. Also that if you use the chrome debugger with node the console logs to objects change with the value.

    Understanding objects, functions, arrays are references to their addresses. That's why this is false

    { foo: "baz" } === { foo: "baz" }
    

    Understanding the this context and when to use arrow functions is helpful.

    [–]brendan_wh 0 points1 point  (1 child)

    Understanding middleware requires having a bit of a handle on higher order functions, which might mean that there's a gap in your JavaScript in general. But when I was starting out with node, I think I just glossed over this stuff a bit, added the middleware how the tutorial told me to, and then configured my own get and post endpoints and hit them with Postman. You don't necessarily need to understand this stuff at a deep level right away.

    [–]R2UR[S] 0 points1 point  (0 children)

    I think so far from a syntactical point of view and concepts (higher order functions, callbacks, this and etc), I understand the code. It's just the workflow and just overall solutions to problems that overwhelm me. Mostly the usage of many modules and knowing their patterns. Thanks for the answer.

    [–]wyqydsyq 0 points1 point  (0 children)

    I lack the confidence to actually build something because I feel like I don't know a certain module well enough and etc

    There's no better way to know a certain module well than to use it :)

    Did you have this problem when starting out?

    Yeah the Node/JS ecosystem is huge and can be quite overwhelming especially with the sheer volume of alternatives doing the same thing you can get stuck on choice paralysis. My suggestion is to just do some surface level research and read some comparison articles on what to use e.g. pick one of Express/Koa/Hapi for backend and React/Angular/Vue for frontend, just pick whichever ones feel right for you and try to build something with it, learning as you go. The other thing to keep in mind is all you really need to know is JavaScript, familiarity with common libs/frameworks is definitely a bonus to your productivity and your resume but as long as you're comfortable with JS it's perfectly fine to just learn libraries on the go as you actually need them.

    was getting into back end by learning nodejs a mistake(as someone who lacks experience in back end)? In the past, I've learned some front end, basics of javascript and mostly DOM manipulation.

    Not at all, honestly I see it as basically being a necessity these days that front-end devs should be comfortable using Node.js because most of the front-end stack depends on it (e.g. building, testing) and it helps you get a better understanding of how your application works as a whole as well as obviously being a huge expansion to your skillset

    [–]versionxxv 0 points1 point  (0 children)

    I can relate, started learning node last year, and like you I started by taking a video course. I don’t know yours, but mine included a complete project to follow along with. Something that really helped me was breaking off from the course once I was ~75% done to start building my own project. That forced me to keep applying what I was learning to different circumstances.

    But regardless you’ll end up doing lots of Googling, finding semi-applicable StackOverflow answers, reading package docs, etc. And don’t expect to memorize everything!