Are Java Developers Still Needed?

Hello dear monkeys,

this is not related to jMonkeyEngine but more a general question: Are Java Developers Still Needed? Do enterprises still look for people with Java skills?

The thing is, I recently had my last exams at school and now I’m pretty much done and want/have to apply for several universities.

During my school time we learned the basics of programming. Our teacher used Java. I really liked the language - okay it was my very first one - and wanted to learn more and more. Pretty fast I knew most even before we discussed it in class. After 1½ years of “basic” programming I discovered this place. jMonkeyEngine is the only engine I have ever worked with. I just wanted to keep programming in Java. I just wanted to stick with one language to really learn this one. Furthermore, I just enjoyed programming in this language. So much for me.

However, is Java still relevant in modern industry? I frequently hear that Java is going to be replaced by C# step by step.

Since many of you guys work as software developer or something similar (I assume so at least) I thought you could tell me some real work experience and opinions about this topic.

Best regards
Domenic

1 Like

I have written and sold many applications written in C# and actually changed to java because of it’s multi-os support. Yeah you can use wine, but it’s not “native” support. Javafx is a huge boost in the right direction for java. GUI’s are modern looking now, whereas swing was a bit 90’s. Java has come a long way. And let’s not forget android is java-based - that’s a huge customer-base right there.

In terms of “getting a job” - web-based languages are “all the rage” these days. Javascript, typescript, sass, php, sql, etc… are where it’s at right now if you are looking to the future. It certainly wouldn’t harm you to invest time in these areas.

In terms of “making money from software development” - java is a very solid foundation to work from. I certainly would not discourage it. If I am trying to write a program that makes money I would choose a language that suited the job. Java is just about as capable as c# in any area I can think of from the top of my head.

Money making, though, is an interesting game in itself. I take an active interest in these things, and right now it seems to be trending toward “free” applications with adverts or micro-transactions or subscriptions.

To answer your question directly, I’d say that right now java is in the strongest position it’s ever been.

5 Likes

Especially in Germany, Java is still very popular. There are websites aboute the popularity of the Language in different countries.

That being said, if you write Java code, you can almost compile that code as C#. imports is called using, HashMap is called Hashtable and doesn’t care about the type. Another thing is that you have to mark methods virtual to override them using the override keyword.
Now you are a C# Developer :stuck_out_tongue:

But joking aside, the real thing you need as Developer are the, well, Development Skills: You need to be good at google/reading docs, you have to abstract a big problem into smaller parts (classes) etc.

Technically Software Design and “Programming” are two different Jobs, so as pure Coder you don’t need it that much but most jobs require you to do both (unless you are working on a really big project).

What I wanted to say is: When you are good in Java and genereally have a good understanding of what you are doing, a language won’t stop you.

On the other hand I would definately try multiple languages. Just like take two weeks and do something with them. Take Sinatra and Ruby to realize a simple Webserver which Displays the current date and switches the template at night (dark instead of bright). Ruby isn’t probably the first priority but seeing how easy such a project is, is fun^^

Python is also much used nowadays in Germany, especially for scientific things, also worth coding something.
And you could also work with javascript/nodeJS (e.g. I used that for a IoT Project, since node-red uses nodeJS. The “Thing” only supported Lua using NodeMCU. That’s how I try out those languages).

In the end you should know if you rather like to be a web or an app dev, though. If you wanted to become a WebDev, my recommendations above aren’t that good. PHP, nodeJS/JavaScript and the like are the way to go.
C++ is also widely used but you should give it an extensive learning time, same for c, since the langauge is “like java” but being fluent at the stdlib and especially pointer stuff, destructors, etc is important (something you don’t know as a java developer).

Moreover I once read a c code:
a = !!b + 2 which essentially is if b is > 0 then a=3, else a=2
So it’s also about getting used to it (in c, a boolean is true when >0, hence !!b = 0 or 1)

2 Likes

First of all, thank you very much @jayfella and @Darkchaos for your answers. I really appreciate it!

In school we also started to use C for microcontroller programming. And I once started to learn a bit about C++ but stopped when school made me very busy.

But yeah, @Darkchaos I am not only interested in coding but also in planning projects (apps, games, whatsover) and problem solving. (I live in Germany too, by the way.)

I have a little bit more time now since I am done with my exams, so I will partly invest my vacations in learning about other languages.

And if you want to be a programmer, it really doesn’t matter. It takes only few weeks to master the basics on different language, given that it falls to the common languages section :slight_smile: Like @Darkchaos just gave you a lesson how to turn your JAVA mastery to C# mastery…

JAVA is still strong. I started with Pascal, moved on to C# and then to JAVA (with brief C & C++ in the middle). Recently changed job to code VB .NET without ~any prior experience. In recruitment situations they might not even ask that what languages you know. It doesn’t matter. Other attributes count more. “Can you do programming & design?” far outweighs “Can you language x” :slight_smile:

1 Like

I hope AVR8 (AtMega etc)^^
Actually I am having a µC project lying on my desk right now. It’s also a fun hobby which teaches you some electronics.

At least for Germany there was a guy from Hamburg(?) writing about the job situation in the games industry, but I guess it applies worldwide.
Many developers want to be working on games. It’s more fun, it’s prestige. You can tell your friends about it, which you can’t do if you do some enterprise backend dev.

This leads to a rather worse situation for those jobs because they are badly paid, hard to get and these things. Just so you are aware of that.

Which is why I said that :wink:

Funny, that’s what I did as well :smiley: It was Delphi though and before it did some extensive php development before starting app dev.

1 Like

Delphi for me as well, so Object Pascal really :slight_smile: With Delphi 1 in glorious Windows 3.11 I started. I think I was 10 years old at the time. Oh, how the time flies… Delphi was a superb IDE, Visual Studio pales in comparison…

I think Java is still relevant in the modern industry.

Where I see that Java is mostly used is for:

  • Android Development.
  • Back-end server applications.

I still think that Java is a solid career option.

C# is also gaining more ground, but Java is also widely used. I think that Oracle has done good things with Java, so I don’t it’s going away very soon.

1 Like

For learning purposes is ok but at the end, when you have a job (in my case Electronic Engineer) you will need to use the right tools for each problem. In my case I use C/C++ for micro controllers, LabView for testing, VHDL (when working with FPGAs) and java (jMonkey) for videogames (as a hobby). The real problem once you know the basics of probraming is know how to structure you software (state machines, event driven, entity systems, ask someone else to do the work, …).

A real work experience as software developer or similar, you are going to be learning different stuff about programming along your life, so at vacations rest, do some sport and chat with girls. If you are old enough, drink a couple of beers, no more…

I prefer a cortex-m based microconroler (32 bits) like TM4C, ST32, LPC…

2 Likes

Couple… No more…? Or go full Finnish while you are young :slight_smile: The hangovers will get much worse :smiley:

1 Like

Yes, you are right. I just don’t want to be a bad influence… well, I go out, I’ve a meet with my friends to drink a couple of beers, or more… :grinning:

Absolutely, 100% yes it is relevant. It may not be what the hipster millennials are talking about, but what do they know anyway? :laughing: I do not worry about Microsoft or hipster propaganda and FUD. C# is doing well, and maybe in a decade or two Java will be in a different state, but you have to remember the sheer magnitude of Java’s dominance and popularity. It can shrink a lot and still be huge. I can think of no reason that C# would replace Java, but I can think of reasons why it won’t.

One thing to remember is that what you’re seeing on the Internet isn’t the complete picture. Corporations (“enterprise”) and governments don’t advertise their non-public software tool sets unless they’re putting out a job post. So it’s easy to see what is common on the Internet among the public-facing developer and open source developer community and believe that’s all there is, but it’s deceptive. (Personally I think this is particularly bad with web front end tech because it’s so publically visible.)

Most Java work isn’t going to be considered “cool” or uniquely interesting, unless you consider cloud dev interesting. Lately I work in JavaFX, which will never be a popular/trending technology (impossible when it isn’t brand new and due to some trends), but the work itself can be interesting.

JavaOne (actually I’ll probably be going this year) has had a repeat presenter, a contractor for NASA, doing some awesome 3D visualization work and he loved to make fun of the “web guys” back then who couldn’t compete with the JavaFX tool he built for them. :stuck_out_tongue_closed_eyes: Such jobs aren’t the norm, of course. Web dev jobs (and people…) and mobile stuff are all over. A Java guy working for a web dev project is going to be a mid-tier guy that deals with data persistence, business rules, security and so on, not front end (unless you find that rare FX job). Java guy on a mobile project (Android) will work in front and mid tiers. I’d probably focus on mobile/Android if I were starting out.

So yeah, that’s one admittedly biased viewpoint.

/Out before the millennials* come in to flame :smile:

(*Actually some of y’all are cool, especially if you’re here. But I do commonly notice what I feel is a bit of naivety nowadays which I’m guessing is driven by the younger crowd.)

1 Like

Here in Australia I would say its probably 80-90% .NET dev and 10-20% Java, when looking for employment. I would say this is mostly due to industry laziness in uneducated decision makers… “We use Microsoft Windows, and Microsoft Word, we may as well stick with a MS development environment”, which is probably due to advertising and marketing… MS push their stuff, nobody really pushes Java.

As others have eluded to, a talented programmer with a strong base will have little trouble becoming fluent in other languages, I think of programming being a mindset… similar to how a good oil painter can still create great art using chalk, pencil, water colour etc… The medium is far less important than the core skill set.

That’s actually a little surprising. Not the lazy/incompetent decision makers, but the ratio.
It’s a shame Oracle doesn’t market Java more (other than at JavaOne), but maybe it’s because in the US they don’t feel they need to.

This is a fun page to play with, they’re supposed to be aggregating job postings so you can search on job trends here. Don’t read too much into it though, it’s just doing an unintelligent text search. Query below is an apples-oranges comparison. I started trying to find something that would top Java, since .NET didn’t, and I didn’t find anything. So I guess that’s good for us.
http://www.indeed.com/jobtrends/q-java-q-.net-q-asp.net-q-C%23-q-C++-q-javascript-q-angular.html

Again, thank you all for your answers. It’s really helpful.

I decided to just let things happen. I use my vacation for other things than learning a new language. I anyway will learn them at university. And yes guys, I am still young (19), so I should do things which make (a lot of) fun! :stuck_out_tongue_winking_eye:

Thanks!

I was looking at the Stack Overflow survey the other week. The trend for Java and .net had been pretty consistent and connected over the last couple of years ( slightly dropping) , but in the last (if I remember correctly, and to my surprise) there was a significant discrepancy between the two, to Java’s advantage. In general, popularity was high for Java. Which is for users, of course, not necessarily enterprises. But it should still be an indicator.

as java developer, I can say that industry needs much more java developers, actually there is a lack of java devs, I don’t know why, maybe because other languajes are famous, but that doesn’t mean they are better, java is evolving diferent, every time is not the same java we used to know.

Java developers are needed for either web applications, Android development or for automation. However I do see a scarcity of Java devs almost as much as Python in some industries)