Networks and the devices that use them are evolving at a rapid pace. The large network operators and the device vendors are moving quickly to get ahead in this race as technology converges. Examples of such convergence include being able to send and receive email from mobile devices, to browse the Web from mobile phones, to browse the Web using a TV set–top box, etc. In short, more and more applications are being squeezed into smaller and smaller devices.
I was struck by how easy it is to get started with mobile Java development. The relevant toolkits bundle a range of applications that include source code that is well integrated with leading IDEs such as NetBeans. This ease of use helps to lower the cost of entry into this area of development. Even if you just want to learn about the mobile area, it's easy enough: You can just download one of the development tools and get started writing some code.
I think that over time programmers will increasingly have to face the challenge of migrating code from large desktop machines and servers into smaller devices. In this context, we may see new technologies evolve that mimic some of the DOS technologies from the nineties, such as DOS extenders. It remains to be seen whether mobile devices will be capable of hosting sufficient resources to allow such migration to occur without the need for special-purpose technologies.
In the meantime, it's probably not a bad investment for Java programmers to at least become familiar with mobile Java. Given the increasingly mobile workforce, this is an area that is here to stay. Also, keeping up with such technologies is a good way of moving up the value chain.