Getting a job in Java dev.

Hi

I have worked as an engineer (-researcher) in computer science for 5 years and I have never used J2EE yet. I don’t need certifications. Java is popular is France but the economic situation is not very good, there are less job offers than 3 years ago. I had no difficulty to find my first job. The current one is the third one.

[quote=“Cero,post:19,topic:39971”]

Be aware that my code is allegedly extremely neat and tidy and understandable compared to most of the rest of the games industry as well…

Cas :slight_smile:

So you basically say that every code in industry games are, messy.

[quote=“princec,post:22,topic:39971”]

Way to keep my hopes up.
But it is true, I don’t understand other game codes either, but most of them are C++ anyway
Minecraft is also an unholy mess.

Whenever I go through a code like this, its always like, ok, ok, where does it happen, where is the actual code, all I’m seeing is abstractions, where are the actual lines
and if there are like 37456548 classes… yeah

By design, game code is probably not very nice code and has a lot of ugly hacks

Most important for the Java business application side:

  • Spring
  • one web framework, JSF more likely than Struts, anyway the basic understanding of information flow and rendering is most important
  • Hibernate and/or EJB
  • solid knowledge of databases and SQL
  • ability to suffer

Thanks for the replies.
For some reason soon after I talked in here, I got 3 somewhat good replies from recruiters (which one of you did this?)

At least everyone seems to agree with this. Reminded me that lots of people actually think that Java developpers love pain.

As certs go, hardly anyone needs a cert individually, it’s the contracting company itself that markets its people as being x% certified, usually bidding for contracts that require everyone to be certified if they’re to bill any hours on the project. I’ve never seen bid requirements like that for Java certs, but it’s pretty common for other software stacks like Oracle or SAP for instance.

I don’t know if the giant list of requirements is an actual strategy or if they don’t know what they are talking about. I’ve seen some really strange things.

  • Must have experience with Microsoft FrontPage ???
  • Must have experience with Perl based database programming ???
  • Must have experience with [proprietary software developed and only used internally to the company seeking employees] ???
  • Must have experience with C, C++, C#, Java, Objective C, Visual Basic 6, Visual Basic .NET, BASIC, Pascal, Delphi, Algol, Fortran, D, and… CSS! ???
  • etct.

If you’re lucky, the req is written by the hiring manager who actually knows something about the job … unfortunately, what happens a lot with contract hiring is a game of “telephone” where a recruiter basically collects every skill they’ve ever heard the employer talk about, then throw it onto their own req in order to cast a wide net and throw lots of CVs at the employer. Companies doing the hiring hate this kind of recruiter even more than you do.

Perl DB programming is a thing, it’s called DBI, and I guess was a thing a while ago when people were still doing major sites in perl. Still pretty good experience to have for any DB work. Did you seriously see someone asking for FrontPage within the last decade?

I think it was phrased in such a way that meant “Designing a database using Perl as a programming language.” It was not interfacing to something written in another language; at least not based on a literal interpretation of what they wrote. I have seen a lot of “experience in X using Y” with Y being a scripting language not suited for that type of development. Including Javascript (before the creepy-browser-API-to-everything gold rush), ActionScript (2), and PHP.

I’ve seen people asking for FrontPage experience as recently as late 2011. I would not be surprised if people still ask for it, but I haven’t looked at those types of notices other than one last Spring requesting that people know how to program HTML and Excel (but not FrontPage).

There are still contracts asking for Microsoft Access.
Hopefully I’ll not ever have to go back to contracting.

Cas :slight_smile:

That… doesnt seem right…

(Speaking about the Dutch job market here, won’t apply 100% to the rest of Europe or the rest of the world).

I’ve learned JEE5/JEE6 technology (Servlet/JSP, JSF, EJB 3+, JMS, JPA, webservices) on top of JBoss Application Server and I’m pretty much in hot demand where job offers are concerned (of course, 10 years of uninterrupted work experience helps). I learned most of that on the job with only core Java, C++ game development and PHP web development to start with, I was lucky enough to get a position as a junior developer under a very good senior who taught me the works very quickly indeed. That is what I would strongly advise: hunt for a junior position.

The thing is that knowing the frameworks and APIs is really just icing on the cake - what matters is that you know at least one of them thoroughly and you -understand- what its all about. Knowing one makes it easy to adopt another, it just takes a little time and a good book. That is however not something that most people want to accept as truth, its something you have to “work around” through a proper personal and convincing presentation.

Have faith in your intelligence and wisdom, not knowing a specific piece of tech is not a problem and that’s what you should be presenting to the outside world. You can do it, easy!

Yeah, I’m still working on and off on a Microsoft Access contract for a hospital department. I get occasional Access nibbles from recruiters.

I’m thinking I might aim at some technical writing contracts rather than go for serverside, given the long list of requirements. I’m working through the “CattleDrive” serverside set of exercises at JavaRanch, looking to get to the database parts, so as to be able to leverage my SQL experience gained from years of db work.

As bad as Java server-side might be, it can’t be as bad as Microsoft .net technology, can it? I really found that and SQLServer to be kind of an endless annoyance of arbitrary knowledge and continuous churning. Maybe it has gotten better since I exited that scene about 6 years ago.

Hey, about being 29 years old. Forget about it. Stop thinking about it. It will be much less of an issue if you don’t make it an issue. Just be yourself and show some competence, professional courtesy and ability to do what is asked and take the whole tribal “we are one big family” thing with some skepticism. The only places where I have seen this sort of tribal thing cultivated are places that use this emotional aspect as a source of peer pressure to eek more hours out of employees and routinely burn out their workers.

(The resulting high-turnover of such companies can lead to more foot-in-door opportunities though, if you can stand working in such a place while looking for the next job.)

Depends. .NET hasn’t been around as long, and there’s only one credible implementation of the server side technologies, so you’re likely to get some decent tooling and platforms to work with to support what you’ve got. Whereas with Java you could use the shiny fun JEE6 techs on Glassfish or JBoss, but you could also be stuck supporting J2EE on Java 1.3 on some godforsaken app server you’ve never heard of that kinda gets some parts of the spec right, writing XML deployment descriptors and remote and local interfaces for the rest of your miserable life without so much as a single annotation to brighten your day.

They’re the same really. Where is a vast difference (generally) is in the developers as both platforms have a totally different design philosophy. Java is open and broad and for that reason flexible but quite difficult to master, with many different solutions to the same problems that don’t really play nice with each other without help. Developers that prefer Java tend to prefer jobs where they are left to their own devices and are free to pick their own design solutions - which is great but can more easily lead to conflicts between developers because they each have their own ideas.

.NET on the other hand is designed more according to conventions (that Microsoft dictates). You SHOULD use SQL server, you SHOULD use the ORM layer that is part of .NET itself, you SHOULD use whatever other tech Microsoft throws at you. Doing it the MS way makes your life easier; that leads to (junior/medior) developers who are perhaps less capable to figure stuff out for themselves and be able to think out of the box, but it does have the benefit that when you hire a .NET developer, he/she is more likely to just know what to do and fit in a team easily when just doing it the .NET way.

Bit of a generalized view on things that does not apply to all people, but my main point is that I see pros and cons to each tech. Me - I enjoy the freedom of not being married to one company, Java just fits with me personally. Other people are more productive using .NET. Whatever gets the work done I say.

I’ve been working since more than 10 years as a java dev now, and I think what they want is that you have an idea what Struts, Spring and the other frameworks are about, and that you have some experience in working with them. You don’t need to know every detail of them.

SQL, Apache and such are just the tools of trade for server based applications, so if you get into business application development or anything that needs a web server and a database you need such knowledge regardless of the programming language (even for many sorts of browser games you need that knowledge).

Same for HTML (web frontends), XML (data exchange, storage, configuation) and such.

Except for JQUERY and JWIDGETS I actually was working with all of the mentioned things, and occasionally I had to do Perl coding, C/C++, various sorts of Basic and application specific languages. So yes, companies want/need people who know all that … not in depth, but a bit of all of it, as much that you can jump into a project and quickly start working with any of these technologies.