Java programmers are people who work with software applications that require the well known Java programming language. These can include software development - creating applications for the Web and other purposes, and other tasks like data analysis, managing and designing database applications, finding out the requirements for a new website, and unit testing - the process of making sure that tiny pieces of testable software behave as they should. Programmers may work under close supervision, or they may be mostly on their own. They may also be required to do quality testing, and to help document and deploy new programs.
People in Java programming positions may also be required to use their technical expertise and programming ability to support the business in other areas, too. This might include basic technical support for other users in small offices, creation of scripts to parse data from other sources, spreadsheet creation and maintenance, and many other tasks. In larger companies, a Java programmer may have a well defined, narrow job description. However, in smaller companies, a skilled computer professional is likely to need to wear more than one "hat". This means doing troubleshooting and maintenance for computer systems in some cases, and using scripting and programming languages outside the Java specialty.
The requirements for a Java programmer will vary by position, and will advance along with technology. However, almost every programmer should be expected to be familiar with the latest version of the Java programming language, as well as databases such as SQL. Proficiency in major office suites, such as those offered by Microsoft, is also likely to be desirable. Programmers with multi-platform experience, especially with Linux and UNIX systems, are usually considered more versatile, as are people with knowledge of scripting languages such as PERL and other important web applications like Apache Web Server.
Java programmers may work directly for companies, as a regular employee, or they may work as independent contractors on a freelance basis. Both styles of employment have their benefits and downsides. Directly employed programmers have steady work, and may enjoy benefits from the companies that employ them. They will generally pay lower taxes in the United States. However, they generally need to work on site, and must live in the area where they're being employed. Independent contractors will generally work for a specific length of time and may not have regular work. They will need to spend more time looking for work, and will receive no benefits as part of their employment. However, since they're usually paid by the project, independent contractors often have the ability to set their own work hours and schedule, and can work on many different projects for many different companies. This can give them a greater variety of work and make them more versatile.
The exact job description for a Java programmer will vary according to the employer and the type of work that needs to be done. Small companies will tend to have different requirements than larger companies, and each individual job will be a little different. However, expertise with Java and related programs, environments, and operating systems is a must. The more you know, the more employable you'll be. So take the time to find out everything you can about Java and related information. Get some hands on experience as an intern or part time programmer, and learn whenever you can. The end result will be a job that you can really enjoy.