I'm diving into full-stack development after spending the summer self-studying and will be starting my Computer Science classes soon. Initially, I was undecided about the specific role I wanted in software engineering and picked a stack a bit prematurely. Over the past couple of months using JavaScript, I've discovered my passion for problem-solving, even if I sometimes need to look up solutions to grasp certain challenges. My original plan was to focus on JavaScript, gain some experience, and then pivot to AI/ML or AWS. However, I'm starting to reconsider whether I should have specialized more instead of going full-stack. It seems companies value specialization nowadays, and I'm open to learning backend development with Python or Java since my classes will focus on those languages. I enjoy backend work but want to ensure I'm using a tool I'm passionate about. Here's where I'm at so far with my learning: variables & data types, conditionals, functions, and I'm currently working on control flow and data structures.
3 Answers
Java or JavaScript? Well, I lean towards Java if that's what your classes focus on. Its object-oriented nature and strong typing can benefit you. Just make sure to pair learning it with some JavaScript for full-stack knowledge!
I think the key is to stay engaged and enjoy what you're learning. If JavaScript excites you, keep at it! Plus, with Node.js, you can easily use JavaScript for backend work too. You might also want to explore TypeScript; it’s similar to JavaScript but with stricter rules, helping catch errors early on. Just keep it fun as you learn!
Luckily, I have a lot of time to figure this out since I'm just starting, so I'll definitely check out TypeScript!
Both languages have their strengths. JavaScript can be extremely efficient, especially if you use frameworks like NestJS, which also introduces static typing through TypeScript. On the other hand, Python with FastAPI is user-friendly and offers great performance. In the end, go with what you find more fulfilling right now! Once you've built a solid foundation, switching gears later will be easier.
I’ve tried both languages; I didn't vibe with Java much, but I enjoyed making a number guessing game in Python. I think my long-term path will be Python, with a little front-end on the side later!
I think I'll aim to learn both. Starting with Java for programming, then supplementing with JavaScript sounds like a solid plan.