Learning Java alongside Freecodecamp curriculum

I frequently hear that Java is the most ideal language to use in coding interviews in particular for FAANG companies. What do you guys think? I have been working through freecodecamp curriculum and I already know some Python. (Also I took a college course in Java/ OOP ten years ago which I barely remember much from) . I am right now about to start the functional programming module on Freecodecamp and I wonder:

Should I start answering Leetcode problems in JS now then later switch to Java when I am capable of picking it up better?

Or should I start learning Java now while working my way through freecodecamp?

My goal is to just be as hireable as possible for a software role, although I tend to be more intersted in Data Engineering/ Data Science or Web Development,

Thanks for reading

FAANG and most other big companies were founded at least 10-15 years ago, meaning they used the tooling that existed back then. There was no big JavaScript community back then and you couldn’t do everything with it.

So now I would ask this question:
Why do you come up with FAANG, if your goals is “hireable as possible for a software role, although I tend to be more intersted in Data Engineering/ Data Science or Web Development”.

FAANG is a specific kind of company. Big company size, big user base, big customer base, big amount of applications.

If this is not your specific end goal, I wouldn’t care what they do.

This is not a ladder with FAANG at the top. It’s a whole different ladder.

1 Like

My interviews are usually in the language required for the job. When I was applying for entry level jobs at companies like that, the application was usually not specific to a certain role and I could often use my choice of language.

A few years ago I was interviewed for a JS job by primarily Java developers. They asked me if I could read and describe a Java function (it was something simple like a FizzBuzz). When I whiteboarded I did it in JS, which was fun because the interviewers didn’t know ES6 and I got to teach them a bit in the interview.

TL;DR - Get good at the language that you want to work in. Later, if you find yourself being asked for Java code, brush up on it and remind your interviewers that this isn’t your main development language and you don’t know all its quirks. Usually interview questions are more high concept than language tests.

2 Likes

Thanks for the insight, you make a good point that my goals are not really in line with optimizing to be only accepted at a FAANG company. It would make more sense to continue with the curriculum here and hold off on learning Java if my primary reason would only be to use it as a interviewing language.

Thanks for the anecdote and advice. I see what you mean, I guess unless I start finding myself needing to use Java for projects and work that interest me there really is no point in practicing a lot in it for interviews – particularly when I could be instead getting better at languages more relevant to my interests.

I’ve never heard of this. I also know FAANG companies aren’t more inclined to use/interview for a specific language over another. This is primarily because FAANG companies are massive, and use a multitude of languages. Usually it depends on where you’d be working within a company of that size for what kind of technology/languages are used. IE if your building an Android app you probably have more of a need for Java than if you were building front-end apps.

Look at the jobs you will be applying for and see what is sought after in your area. For example there might not be much need/want for Java developers but there is a high need for Python developers (as an example). If you want to be as hire-able as possible, focus on the job market you want to apply for and go from there.

Good luck keep learning, keep building!

1 Like

Thanks for the input! I have realized it would have largely been a waste of time to begin looking at Java right now just to solve Leetcode problems in that language, but I may eventually return to the language if a project requires it which I suppose is the correct way to go about it. Thanks again!

I’ve resolved to focus javascript and Python using FCC as I am interested in data analysis and web development most of all.

Yea I’d focus on JavaScript if your going into web dev, and Python if you interested in data analysis.

I just wanted to mention that for the most part you can use any language for a given problem, it isn’t that important. There are some situations where what language you pick is important, such as if you need a high performance high CPU app, you probably wouldn’t want to pick Python or JavaScript due to their “slowness” when compared to “lower level” languages like C or Rust. If your not building those kinds of apps then these languages might be better simply because you can “get going faster” due to available libraries and more abstractions built into the language itself.

Good luck! Keep learning, keep building!