In one of episode of temanmacet podcast there was discussion about working abroad. The discussion revealed that currently many IT resource from Indonesia that go to abroad instead develop domestic IT power. The main reason is very reasonable, there is no appreciation from their own country for their professional skill.
* Java, Linux & Oracle is a must.
* S1 Degree from related background and reputable university.
* Experience in using Java Web Programming Language.
* Experience in using Linux & Windows Server Operating System.
* Experience in C#, C++ and Visual Studio .NET.
* Good attitude, commitment to work and good team player.
* Adaptive to new environment.
* At least 5-7 years of working experience in software development.
* Good problem solving, analytical, and leadership skills.
* Deep understanding on database design, application design and architecture.
Of course there are reason why most of IT company do this (most but not all). IT industry in Indonesia can be considered still in infancy. Most company stand less than 5 years. So most of it still search appropriate form. The big mistake of most that company is, company tends to fulfill whatever clients need. Also from discussion in temanmacet podcast most IT company in Indonesia apply rule PALU GADA (apa lo mau gw ada , English: we can provide whatever you want). By applying this rule the company push developer as the main actor in producing their product. If client need application that will be built using PHP, the developer can build. When the client need other application that will be built using Java, same developer can code that. At the end the developer is dead.
From many Java’s book around, I found several that is must have. First thing to read in learning this language is Java Tutorial from Sun website. But for the first read the tutorial is about too heavy. For experienced learner, tutorial is important reference in learning and developing code. Of course Java API’s reference also have to always exist in the directory for main reference.
The first book that I recommend is Java How to Program written by Deitel. Really complete book with enjoyable colored text that good enough against boring in reading. The books consist all of fundamental material to mid advance material such as basic of thread, GUI and servlet. Enormous code sample is spread around the book that can be tried for learning and doing approach. The next book is Advanced Java How to Program that is consisted advance material continuing the former book.
Although Java How to Program is enough for learning about syntax and the characteristic of Java API, there is no more explanation about build real software. I found two book that accomplish those necessity. Beginning Java Object by Jacquie Barker from Apress and Object-Oriented Analysis and Design written by Mike O’Dochery from Wiley. Barker book explain Java from software development point of view. In that book, reader is guided to build real Java software step by step. O’Docherty more focus in Object-Oriented approach mainly discuss about UML although it is really intended for reader who want develop Java application. Same as Barker, O’Docherty book also consist real software development as example.