I think I shot myself in the foot by choosing JS as my first programming language

Hello!

So, I’m guessing you already read the title. I started programming about 5 months ago, and naturally, I chose JavaScript as my first language to learn. Well, had I known what I know now, I do not think I would start with JS again.

I am more interested in web backend, I do not like styling with CSS at all. But then again, you would say that you do not necessarily have to write CSS 24/7 if you are a front-end developer, and you can concentrate on JS. Well, the thing is, I took a look at the job market for front-end development, and there is indeed a large number of jobs, but there is also a large number of candidates for each one of them. And that is true even for jobs that require frontend frameworks knowledge.

And so, I thought about going forward with JS and eventually study Node.js and SQL. But, there is a problem: most Node.js jobs are actually full-stack positions, which means that I have to come in contact with the frontend, and I am also afraid of being overwhelmed. And those that only require you to know Node.js and some database skills are not many.

That’s my dilemma right now. My objective, for now, is to raise my chances of landing a job, and I am afraid starting with JS was actually a mistake. I am now on the fence about continuing with JS and then Node.js, or starting anew with PHP or Java.

Note: the job market I am talking about is Europe, specifically Germany.

Note 2: I am aware developers should not be language independent, but I only started 6 months ago, and cannot spread myself too thin by learning 3 different programming languages at once

The backend is easy. But you will never get a job as a full stack or just backend without experience. Most of those jobs are given to senior within the company or outsider with lots of experience.

You need to be able to at least create some projects in the frontend, and dive right into the backend with Node, Express, or Python Django, or Net Core with MySQL.

You won’t get a job as a full stack or solely backend developer, but the junior front end developer will get you there.

1 Like

Hello anghelpaul99,

While I cannot personally speak to the area of jobs as I am more of a hobbyist when it comes to programming, I would just like to encourage you. Because you have spent time learning JavaScript, the transition to a language like PHP will be a lot smoother. There is some difference in syntax between JS and PHP, but the building blocks of the languages are quite similar. Do not feel like your time learning JavaScript has been wasted or in vain. You will retain your programming skills even if you transition between languages.

1 Like

In our country or region knowing node.js or react.js is not mandatory although its nice to have having both. Usually the job posts contains backend developer (Node.JS) and then nice to have React.Js vice versa.

If you want to be on a job as fast as possible you can try Database developer like Oracle although you need to spend some bucks for training. You dont have to learn so many stuff on Database developing just sql, optimization or tuning and tableaue and its transferrable or complimentary skill for the web.

1 Like

Hello there,

I just want to ensure there is no confusion here: JavaScript is a programming language; Node.js is not - it is a runtime for JavaScript. This is just my personal interpretation, but I would say, unless you are a developer working on Node.js, you do not learn Node.js.

What you have said about the JS market having a large developer pool has also been my experience, but it is a very large ecosystem with very many job opportunities. I would say, if you want to work in web development, JavaScript is the must-learn language. The end. So, I cannot see why you believe you have shot yourself in the foot. As others have mentioned:
a) Learning a programming language always helps - even if you are never paid to develop in it - provided you plan on being a software developer.
b) If a job application has two applicants - one who has only worked on backend technologies, and one who has worked on both backend and frontend. Who do you think is likely to be the stronger applicant?

Personally, I feel there are too many languages/frameworks/libraries to get fixated on calculating the “best” language for the “greatest job opportunities”. If I did that, I would burn out. So, I learn what interests me.

Question for you: What do you want to work on? When you say “backend”, do you mean in terms of web development, or something more FaaS?

3 Likes

Thanks for the answer! It helped.

Thanks for clearing that up.

I’m referring to web development.

Developers do not get paid for knowing a language (or ten), but for their ability to solve problems. Programming language is a tool for creating solutions for those problems. Front-end problem set is different than back-end problem set and one is not a stepping stone to other. One could be competent in both, but (much) more common is a specialized role.

It is absolutely normal expectation to find a job as a junior back-end developer. Mostly it depends on the company workflow and traditions. Some hire juniors often, others almost never. It might be true that you can find more full stack openings for JS developers, because for some companies, using a single language for their entire stack is a selling argument. In practice though, problem sets are still different, and work is weighed towards one side or the other, even if some overlap is expected. Full-stack developers are more common in small projects and start-ups, where is important to get their prototype out quickly and complexity is relatively small. When project grows larger, these problem sets (FE & BE) grow further and further apart and specialized roles are needed, even if the stack consists only (or mostly) of JavaScript.

In big picture, it does not matter what language you learn first, because if we allow a little simplification, they are all the same. Loop is always a loop and conditional is always a conditional. If and where to place a semicolon or parentheses is trivial. After you get your head around common programming concepts and data structures, switching to another language is not that hard. In that regard, JS is a good first language because it is flexible and allows for different programming paradigms.

If you change the language now, you are not starting from zero. After the initial scare, you would probably get comfortable quicker than you’d expect. If you made your research and see that, for example, Java has overwhelmingly more junior openings for what you want to do, just go for it. That short HTML, CSS & JS experience will still look really nice on your CV.

Sry for long post :confused:

5 Likes

Just remember that theres a lot of IT fields that you can take the path not only web development. If you think you willl be overwhelmed in web development you can try other field. Not really sure why other members on freecodecamp not suggesting other IT fields beside web development

1 Like