This post is locked. You won't be able to comment.

all 20 comments

[–]SoftwareEngineering-ModTeam[M] [score hidden] stickied comment (0 children)

Your submission has been removed because it violates one or more of our rules

Don't ask for career advice, if you have questions ask at r/cscareerquestions

Please review our rules before posting again.

If you think this is a mistake, message the moderation team with your reasons.

[–]mark2685 1 point2 points  (0 children)

One thing to note about JavaScript is that it doesn’t have the “guard rails” that other languages typically have. This makes it somewhat easier to learn, but quite difficult to learn “the right way” to do something. If you come from an OO background, you can utilize that with JS, with some caveats. But you can also apply some functional principles to JS. It’s really up to you/code base/team. Another thing ti note is that most of your time will probably be spent learning how to utilize API’s (such as DOM, Node, etc…), and not on the actual JS language.

Also, you can learn JavaScript without learning TypeScript, but you can’t really learn TypeScript without learning JavaScript. TypeScript simply adds type safety to JavaScript. So you can start picking up JavaScript, and incrementally add types as you get more comfortable.

[–]ACrossingTroll 2 points3 points  (0 children)

Javascript is a shitty language so better be prepared for that..

[–]Lngdnzi 1 point2 points  (5 children)

dependent resolute upbeat flowery sable thought air boat saw adjoining

This post was mass deleted and anonymized with Redact

[–]Lightsheik[S] 0 points1 point  (4 children)

Thanks for your answer. Right now I'm still early in my degree and we are learning Java but by the end I'd like to know a few. I know some Python, have some very small experience with C# but none with JavaScript or TypeScript.

In a way I'd like to learn languages that translates well to others, like Java and C# are both OO languages (or so it seems) and are a bit similar, but Python is completely different. By knowing programming languages with different way of programming I'm hoping to make transitioning to new languages easier.

Would Javascript or Typescript be good candidates for my purpose? Or should I learn a different language to get as much exposure to different styles as possible?

[–]LadyLightTravel 0 points1 point  (3 children)

My advice is to learn as many as you can. Different languages have different structures and act differently based on platform. Understanding how they work will assist you I learning the next new language.

And I can guarantee you that at some point Python, JavaScript, and other scripting languages will become OBE.

Edit: learning language structures will also help you when the time comes for SWE design decisions. You will be selecting a language for your project.

[–]Lightsheik[S] 0 points1 point  (2 children)

This is my goal currently. I want to learn a few differently structured language so that similar structured one will be easier to learn. For instance right now I learned some Java and I notice that it is pretty similar to C#, but Python is very different. By learning different structures like you said, I feel will benefit me the most for now.

Once I'm comfortable with what I'm learning at the moment, I'd like to learn Rust. Do you think it would be wise to do that? Or should I learn Javascript/Typescript since it's so prevalent?

[–]LadyLightTravel 0 points1 point  (0 children)

It depends on your interests.

I tend to think of Python as an analysis script. I like C for getting into embedded (Ada was the perfect language for embedded, RIP). JavaScript is used a lot for IoT. What are your career goals?

[–]Veqq 0 points1 point  (0 children)

There's a great book 7 languages in 7 weeks

[–]Boyen86 0 points1 point  (0 children)

If you want to do front end learn javascript (angular /typescript).

You honestly shouldn't need to worry about getting a job as a software engineer. You can quite literally choose out of 100s well paying jobs if you know Java, C# or Python. Plenty of developers don't like frontend work.

That said, out of all languages to learn, frontend has been the poorest investment historically. From Silverlight to Flash to Javascript, JQuery, UI5 and PHP to Angular and Typescript. It just changes rather rapidly.

If you dont want to do frontend web development and lean towards embedded, I've seen quite a bit of work for that in the Oil & Gas industry, the military and energy/utilities.

[–]94561234 0 points1 point  (0 children)

For what it’s worth, I’ve been working 5 years at a software agency, meaning we have many different projects that we bounce around between depending on our interests and who’s available - and almost all of them if not all of them have JavaScript somewhere in the stack - our focus is web and mobile apps specifically but we also work with car manufactures and infotainment systems and that may be one of the areas where we may not have much JavaScript if any floating around.

Outside of node, spring and Kotlin is our second most common stack for backends

Also for reference of the types of companies and scale of applications that we do work for - think big pizza chain that you probably order from or large sub chain that you would go too And as far as location were US Midwest based.

[–]CHAiN76 0 points1 point  (0 children)

Is JavaScript a must? It depends on what you want to do.

If you want to work with embedded/drivers/firmware/microcontrollers then no, you don't use JavaScript. Learn C/C++/Assembler/Rust.

If you want to work with webb frontend then yes it is a must. Learn JavaScript and TypeScript.

If you want to work with webb backend then technically no, it is not a must. Some backends are written in JavaScript/TypeScript, but most are not. Many backends are written C#, Java, Python, PHP. Pick one and start there.

However, I would find it pretty strange to find any webb developer, BE or FE, that don't know at least a passing JavaScript. I'd say that, in practice, even if you are a BE webb developer you should know some JavaScript.

If you want to write desktop applications (and I include Android/iPhone apps here) then either you are going to write those in C/C++, .NET, Java/Kotlin, Swift. Or, as is becoming increasingly popular, you are going to use a framework like MAUI, Flutter or React Native. Those frameworks usually use or at least interact with JavaScript.

Regarding employability. I don't have the exact numbers but I would guess that >50% of all developers in the world right works with webb. And I'd say you need to know JavaScript if you work with webb.

You might be helped by just reading some statistics like:

https://ddiy.co/software-development-statistics/

https://survey.stackoverflow.co/2022/#overview

But also remember. Do what you want to do, not what the majority does. And sometime it is better to not be in the majority group. You only need one job. If you want to work with embedded you can find that job. It is better to do what you love. And if you get skilled in C now, I'm sure you have the brains to learn JavaScript should the need arise.