Archive for March, 2015

Interview/Exam tips for Java developers in Australia

I have some modest experience in job searching in Australia as a Senior Java Developer. I would like to share some of my experiences which might help you within similar context. You will need some special considerations when you are trying to get jobs in Australia. Here, market is very much influenced by job agencies.

Within an organization, usually when someone leaves, or company has some new tasks to be done, it looks for the resource who has the specific skill sets. Now, problem is, in reality, you don’t get exactly what you want. And, so it should be OK if someone has most of the skill sets, but one or two is missing. In Australia, job agencies, will be looking for exact match, even though sometimes it is highly unlikely to be found!

This primary filtration which is done by these non-technical (they have no clue about the difference between java and javascript) agents, usually creates a special challenge for the job seekers in Australia. So, what you can do?

Cover Letter
Go through the job description very carefully. Pick ALL the keywords they used to describe the skill sets that they are looking for in prospective candidates. Prepare a cover letter where you will write separate paragraphs for each keyword explaining how much you know and your experience with the technology/tool.

You might also have to re-arrange your CV to highlight your experience on the required skill sets. Now, there is a format for CVs in Australia. Basically, it includes a section where you state your ‘Key Transferable Skills’ – that is something valuable and readily usable by your prospective employer. So, in one job, having experience with ‘Financial technologies’ might be very important to include, where as in another job you might highlight your experience and certifications as SCRUM Master.

Talk and impress
Another important thing is, talk to the agents and better be confident when you do it. It is very important that you impress them first. When they are impressed, only then they will send your CV to the actual clients, otherwise you are not even in competition.
But, if you are applying for jobs which are advertised by the company itself – equation is different. But, still I would suggest to follow the usual rules that I mentioned above.

Now, you got the call. How do you prepare?

1. You should have good understanding of most of the Design Patterns (GOF) and specific experience using a few by yourself. Should be able to explain where and how these patterns have been used in Java ecosystems (within JDK, Spring, Hibernate, etc.) Here is a relevant discussion > What design patterns are used in Spring Framework?

2. Should know some common best practices for OO development. Like SOLID principlesSOLID Principles in Wikipedia

3. Should be able to write code using at least with some common searching and sorting algorithms.

4. Should be able to code without internet but with reasonable references if needed to produce basic things that you claimed in your CV. Like, some crud with an ORM (jpa/hibernate), some rest/web service, etc. It could be some bug fixing as well in a given code base.

5. SQL queries. Like joining (inner or left outer, self-join, etc), performance tuning for SQL, etc.

6. Should be apt on most popular java frameworks like spring and hibernate (yes, I know, you know – these are basics, and that’s why everyone will try judging these skills and you better be prepared well on these). And, for web frameworks ideally you should have experience with Spring MVC, JSF and optionally with Struts.

7. Javascript. Yes, even Java developers should know Javascript. Do not assume you know this language. Do not depend on your copy-paste experience. You should learn it well. Try some advanced topics (i.e., Advanced JavaScript Fundamentals Video) and most importantly try to learn and work with AngularJS 🙂 – it’s a hot cake!

And then, there are some special skills like, Message Queues, JVM tuning, etc. Well, the list is actually endless 😦 ..But, all I wanted to do is to put together that is very common, and if you are prepared with these, you should be benefited almost surely 🙂