I'm a graduate with an MSc in Physics and have been coding for about a year, mostly on my own. I started with HTML and CSS, then fell in love with JavaScript, which allowed me to create tools that help automate repetitive tasks. I've built a few small frontend applications and even a blog using technologies like AstroJS and Cloudflare. Now, I'm eager to take my skills to the next level. I want to learn about real-world tech stacks, backend services, and development workflows. I feel like I need to grasp the bigger picture regarding architecture, design patterns, and choosing the right stack for different scenarios. Since I don't have a CS degree, I would really appreciate any guidance and suggestions for resources on understanding coding better, especially when it comes to open-source licenses like MIT and Apache.
4 Answers
You don't need a computer science degree to learn programming! Many people, including myself, started coding long before college. For starters, check out MIT Scratch for visual programming; it's a fantastic way to understand coding fundamentals. Once you're comfortable with a major language like Java, you'll find it easier to pick up others since many concepts are similar. If you're looking at full-stack development, look into popular stacks like MERN (MongoDB, Express, React, Node.js) or MEAN (using Angular). Also, consider building a test environment to practice without the risk of breaking anything important. For open-source, the Open Source Initiative website is a great resource to get familiar with different licenses. Welcome to the coding community!
You’re actually in a solid spot already! Transitioning from HTML/CSS to JavaScript and deploying a blog shows you've got the basics down. The next big step is getting a handle on backend architecture, learning about APIs, databases, and how they all communicate. Try creating a small full-stack project—this will clear up a lot! Don't overlook the importance of Git, CI/CD, and methods like Kanban to streamline your workflow. For understanding open-source licenses, look for resources that break down the MIT and Apache licenses; they’re very common, and knowing when to use each can be super helpful.
Thank you for the reply, this is exactly what I needed.
Just knowing the difference between client-side and server-side puts you ahead of many in the field. Keep pushing your limits and you’ll get far!
You're already on a self-taught developer path! If you want to advance, focus on backend technologies and the basics of system design. It will make a huge difference in your understanding and skill set.

Thank you so much for the response, I will follow this.