bash
Technology
This is the official technology community of Lemmy.ml for all news related to creation and use of technology, and to facilitate civil, meaningful discussion around it.
Ask in DM before posting product reviews or ads. All such posts otherwise are subject to removal.
Rules:
1: All Lemmy rules apply
2: Do not post low effort posts
3: NEVER post naziped*gore stuff
4: Always post article URLs or their archived version URLs as sources, NOT screenshots. Help the blind users.
5: personal rants of Big Tech CEOs like Elon Musk are unwelcome (does not include posts about their companies affecting wide range of people)
6: no advertisement posts unless verified as legitimate and non-exploitative/non-consumerist
7: crypto related posts, unless essential, are disallowed
I have to ask. What does it mean to have "learned" the languages you listed?
I've been a professional software engineer for 20 years. I've been writing in the Go programming language for 14 of those years. And not once have I touched a debugger... until a couple of nights ago. I bring that up to make the point that "learning" something like a programming language is an ongoing process. I sometimes forget things and have to relearn them. And I learn new things I never knew before about Go almost every day. I guarantee I have a ton left to learn. I can name several of them off the top of my head. And that's even without considering all the new things that will be added to Go in the future. Or to mention all the other languages I regularly write in. OpenSCAD, for instance, is a much simpler language than Go because of its narrow, niche focus. I've been writing OpenSCAD code for a good... 8 years or so, and I learn new things about it pretty much every time I use it as well.
I don't view things in terms of having "learned" a programming language. I've learned everything I needed to learn to accomplish each of the projects I've done. I've also learned things here and there just by watching a random YouTube video or reading a blog post. And I'll continue to do just that.
My recommendation: make something that you want to make. Learn what you need to learn to make it. It's fair to make it something relatively small; something that's only a little bit of a stretch. Or something that's a big stretch is fine as well. Don't do the project just to learn. Make your project something you genuinely want to see in the world. Learn by doing and do by learning. Think of the two as one and the same activity. Try to figure out the "right" way to do the thing rather than the "easy" way. And find the fun in thinking deeply about a problem and working through building it until you're happy with the result.
Did you learn CSS when you learned HTML and JavaScript? If not, go for that
Top priorities for marketable skills:
- Linux (most important)
- Python (most versatile)
- Rust. Especially embedded Rust (run your code on a microcontroller)
Seriously though, do that Linux upskill challenge thing that's been going on for the past few months on Lemmy. Also, read through the entire Python MotW series and you'll have two tech superpowers.
It depends on whats your aim? For frontend could be Typescript, for frameworks React, Angular.
Nowadays more important would be knowing architecture, concepts, terms than coding I guess... but if you are passionate about it then nobody stops you.
Learn SQL so your website can use a database like PostgreSQL.
Doesn't everyone just use an ORM nowadays?
If I'm using raw SQL, I'm probably doing something hacky/shady.
If you're just doing basic CRUD stuff that doesn't need to scale, sure. Even then IMO it's a good idea to understand the underlying database queries.
It depends on your goal. Considering that you seem to be on a web development path, perhaps the next step could be a frameworks such as React or Angular (my preference: React).
You might also want to look into TypeScript. It should be relatively easy to learn if you already know JavaScript, considering that TypeScript is a superset of JavaScript.
Obviously you also need to at least understand CSS, but that will come with time. I would say there is no hurry.
For frontend web development I would say Vue. For backend web development I would say Node and relevant libraries (which is just more JS).
If you want to branch out into scientific stuff, I would say Julia or the more boring Python.
If you want to get more hardcore, I would say Rust or some kind of C++.
While I agree with the other comments proposing TS or frameworks like React, it can also be useful to learn some networking concepts. Maybe starting from the basics requests, http/ip and moving to some specific front-end concepts(assuming you are aiming at that direction) like server side rendering.
If you are interested in web technology try svelte, it combines all you know into modern web tech stack
it's a framework for developing frontend and it uses html CSS and JS/TS, speaking of TS try it out as well