Getting a job in Java dev.

I’ll post this here, since it’s related to Java but not about Java games only.

So here’s the thing. I’ve been recently labeled as a real Java developer (meh… just got my degree, but nvm).
I’ve been looking at the jobs and I seriously cannot pinpoint what the recruiters are looking for, if not EVERYTHING in a single person.

Most of the time, it’s :

  • Need Java dev
  • 1-3 years of experience
  • Must know STRUTS, SPRING, JAVA (rofl), SWING, JAVAEE [+ more]
  • Oh, must also know JQUERY, JQWIDGETS, SQL, APACHE.
  • oh, HTML, XML and [Add more] would be convenient !

So, like, unless I actually start to learn all of them, while probably starving and then die in the process, I’m just clueless about what to “learn” to be able to at least get a beginner job? Sure, I sort of know how are working all the previous things mentionned, but I seriously doubt that “I know this”, will work instead of a “I worked in this for X year”. Being 29 doesn’t help either.

I’m unfamiliar with Struts, Spring, some of JavaEE, JQuery, and JQWidgets.

Ehm…guess I need to rethink my life :S

Ok, first thing to keep in mind: virtually every single java req you see is for server side development,and usually some sort of web backend at that. This forum is, shall we say, a niche catering to hobbyists. If you want to get your finger on the pulse of industry standards, head over to theserverside.com or infoq.com and prepare for a deluge of buzzwords.

Now the first question you should ask yourself is “do I want to write business type apps?” For most people possessed of a soul, the answer is “hell no”, but if it does turn you on because you have ostentatious lifestyle demands like food and shelter, read on. I’m typing this on a tablet running low on battery, so I’m going to get more to the point and and just lob out some observations:

Struts is big in demand for two reasons: One, it’s been around forever so there are a lot of web interfaces that use it. Two, it pays a hefty sum because there is a constant need to replace those struts developers who have slit their wrists or were committed to mental asylums. Seriously, struts is nasty, making you write some three to five XML configs for every single page. Struts2 with Tiles isn’t so terrible, but it’s still deeply unsexy.

JavaEE (it hasn’t been J2EE for some 6 years now so be damn sure to look askance at reqs that still use the term) is actually a wide open field that includes all kinds of technologies, some of which are actually pretty cool now and not at all “enterprisey” in their current incarnations (and yes, some that are still very much so). Just google for “JavaEE tutorial” for the official oracle version, and READ IT. This is the foundation of everything you must know for server side java jobs.

Actually, I’m going to leave off there, the EE tutorial should occupy your attention for a while. Work through servlets and JSF and JPA and you’re good for a good chunk of experience right there.

JavaEE: java for server/enterprise app. it’s boring and you have to meet “bean”
Struts and Spring: framework that help you cross javaEE
jquery: javascript popular library
JQWidgets: dunno.

And I think for real java dev label you need to go certificated.

Java certs are a WASTE OF YOUR TIME AND MONEY. Just read the tutorials. Certs are for meeting contract requirements that specify that X% of contractors must have Y cert. If your employer pays for your cert, get it, otherwise forget it.

Oh yes, spring is another foundation technology to learn, but it’s falling out of favor lately. I would still recommend learning some of it, but better to learn Guice and the CDI stuff in JavaEE.

This stuff doesn’t seem fun at all… :frowning:

Wow, that was quite the answer sproingie (you don’t like “business app” I got that)

But more seriously, I actually know all of the above mentionned (Java + STRUTS & cie) mainly because I learned them as part of my last degree - Not really a cert but I wonder now if your “certs” work the same as ours (France), I’ll have to check this. Here I went this way mainly because I wanted to do it first, and also for the “Bac+X” status, really important to get a job in France. ( … and it sounded like a good idea at the time since I got the Webdesigner one too :confused: )

Sure, I’ve been working on (hobbyist) games a lot, but it’s pretty safe to assume that I won’t get any job in France without the mentionned [X years of experience + under 25 year old] especially in the video game industry. In any case I just need to get experience first, though I don’t really plan to stay too long in business apps minds you.

I was just surprised at all the requierements. It makes me wonder how are you supposed to get experience if no one hire you first. It’s kind of funny in a sad way.

[quote=“ra4king,post:6,topic:39971”]
Well… I don’t dislike it, it can be fun assuming the project you’re working on is too (which is not 90% of the time but meh)

It’s not as fun as hobby game programming, no. Never will be. But it’s not so soul-suckingly “enterprisey” as server-side java dev used to be back in the old days. Nowadays, you can write your app using JAX-RS or something even cooler like the Play! framework and never touch anything even like a JSP page, leaving it to client-side devs who have their own shiny JS frameworks where jquery is just the beginning of their fun. And you can do all of it with annotations and never have to touch XML configs, or if you do, they might be a few lines of YAML. To say nothing of being able to start projects in Groovy, JRuby, or Scala and actually be taken seriously.

Then make your own experience, like maintaining a quite big project (app/game). Then you can say “I am developer of XXX” when it’s quite already popular. Not all of them require formal work experience.

Haha. It made me laugh how you’re talking about JSP pages.
To be honest I was wondering a lot : “Just why the hell are we doing it that way?” most of the time. We lost a good month coding in Strut1, only to be told after : “Huho, don’t forget to switch to SPRING-MVC, it’s actually more used”, when I was already checking JQuery on internet.
Anyway, lots of industries are still working in the dino era let us say, and trust me they don’t want to have anything to do with updates and stuff, as long as “the thing is just working fine”. (… ok, i’m being a bit sarcastic, but it’s not that far from the truth)

I wish I could do that, but working on a “big project” would mean, since i’m working alone, lots of time. As I said, I’m already 29 and with no (programming) experience. Trust me, it’s bad here (I mean, real bad). Unlike the US working on your stuff doesn’t have that much value here, unless you’re younger OR your project is indeed a facebook big one. (No, this time I’m not sarcastic)

Going back to my wrist-slitting imagery, that’s like someone telling you it’d be more effective to off yourself with a shotgun. Spring MVC is one of the pieces of spring you can skip unless you’re into maintaining legacy code for the rest of your life.

And none of this is relevant for game programming, if you’re talking about the client side of game programming anyway. Learn LWJGL, learn jMonkeyEngine perhaps, learn the threerings.com libraries, study the puppygames ROTT code to see what battle-tested desktop game code looks like in java. The kind of code you see for server apps, the kind 99% of employers are looking for, is basically irrelevant to gaming. As for server side apps, like a MMO, I suppose there’s RedDwarf (successor to Project Darkstar) but I’ve never heard of a real-world deployment of it. I’d say there really isn’t much to draw on there, only general principles of system architecture that aren’t related to any one language or platform.

Yes, yes, my bad.

My main purpose for being here is the Java game developpement too don’t worry. Since it’s a Java oriented community I thought it would be a good idea to ask for rage tips in here, never expected that side of Java to be THAT hated though.

Let us forget about this ;D

Oh, I don’t hate java server side dev, I do it for a living, and I actually rather like it, with some qualifications; namely that I get to do it with the toolkits that I choose that make the job easier. When you’re the only Java guy on the team and you write one-developer apps, you’re the lead architect. Being in that position means I got to try out all kinds of cool techs like Seam, Camel, Akka, Dropwizard, Scalatra, and so on. There’s a huge variety to choose from in the server-side space, and I make it a habit to try something new and interesting at least once a year.

Sounds interesting. Well I just hope I won’t start with a silly toolkit for my 1st job. (… Hope, right)

Perhaps you’ll start with a toolkit you like, perhaps not … the best thing is just to know what your options are, so if you have the desire and opportunity to switch, you can take charge and do so.

Not really. Thanks to JGO I could find Play! so I didnt need to use Spring. I dont remember who suggested it though. It’s faster and straight.

I don’t have any certificates at all and I have no problem getting high end Java contracting jobs when I need them. I do have many years of experience though. I guess certificates might help you get your foot in the door if you don’t have that by giving you something another candidates doesn’t have.

As for the rest just remember to start small. Look for jobs advertising for graduates as they will be expecting to get bright people with limited experience and then train them up. Some people do it so they can get people without bad ideas and train them the right way and look after them. Some do it so they can feed bright people peanuts for a year or two until they get experience and move on.

Either way you win - you are getting experience, you have that vital first year or two under your belt. If you are in somewhere that looks after you then appreciate it and work with them, if not then stick it out long enough to get a few of those acronyms covered and a year or two of experience and then look to move on up.

And just remember technology changes all the time so a new acronym will always be joining the jumble.

Getting your first paying gig is the hardest. I did it through an internship program at my university. In the worst case it may require volunteering or very low pay.

After that, the networking counts.

The Java web stack isn’t as bad as some people make it sound like. In my opinion, what matters more is that you find a development shop where people are passionate about programming. You could be using the coolest technologies but if the executive view development as a cost-center then life is pretty much going to suck.

You should mention what country you’re from, can’t speak for everyone but in Europe, at least germany, programmers are looked after quite a lot, if you have a degree you get a job…

[quote=“sproingie,post:11,topic:39971”]
Just like to point out that while he did release that code its by no means meant to be understandable for others… its a mess =D

I’m on way to German now!