A Michigan Jobs and Career Portal service.
Java Developers plan, develop, test, and document computer programs, applying knowledge of programming techniques such as Java, JAVA 2 Platform Enterprise Edition (J2EE), and Structured Query Language (SQL) codes. They also analyze, review, and alter programs to increase operating efficiency.
A Glossary of Terms is contained in a section that follows and should be referred to for clarity.
JOB DUTIES
Java Developers may:
Design, develop and implement new applications using Object Oriented Programming fundamentals and techniques as well as structured analytical, design and testing techniques
Work with other software developers to ensure coordination and consistency of development efforts and standards
Work on the complete lifecycle of platform development, including migration issues
Use programming languages such as Visual Basic Script, JavaScript, Active Server Pages (ASP), Java Server Pages (JSP), XML and DTD Schemas
Fix defects in code and participate in peer reviews and program testing
Perform business analysis on existing processes and design solutions aimed at streamlining those processes, eliminating non-value add steps, increasing speed of throughput, and improving quality
Maintain and update technical documentation
Write specifications for client-specific functionality
Identify and evaluate new technologies/techniques and recommend new software, technology, and services as needed
Monitor applications and perform in depth analysis of performance at all levels including transactional, middleware and hardware
Act as a point of contact for clients on technical matters and provide support as necessary
Develop web-based applications for application server environments and architectures
Present and describe the computer system orally to technical and/or non-technical staff
Work effectively as a part of a team
Have excellent organizational, communication and interpersonal skills
Mentor developers with best practices, procedures and concepts
Click here to see a video interview from a current Java Developer!
The tools and equipment used may include:
| * Computers (with Internet access) |
* Operating manuals |
| * Computer networks |
* High speed printers |
| * Personal Data Assistants (PDA's) |
* Reference materials |
| * CD and DVD drives |
* Facsimile machines |
| * Printers |
* Web Software and Servers |
| * Cellular Phones |
* Language Dictionaries |
| * Flow charts and schematic diagrams |
|
GLOSSARY OF TERMS
Cascading style Sheet ( CSS ): is a web page derived from multiple sources with a defined order of precedence where the definitions of any style element conflict.
JAVA 2 Platform Enterprise Edition (J2EE): is Java-based software infrastructure. This is a standardized set of infrastructure software components written in the 'run-anywhere' Java programming language.
JavaBeans: is an object-oriented programming interface from Sun Microsystems that lets you build re-useable applications or program building blocks called components that can be deployed in a network on any major operating system platform.
Hypertext Transfer Protocol: provides a standard for Web browsers and servers to communicate.
SQL (Structured Query Language): is a standardized query language for requesting information from a database.
XML (Extensible Markup Language): is a flexible way to create common information formats and share both the format and the data on the World Wide Web, intranets, and elsewhere.
XSL (Extensible stylesheet Language): formerly called Extensible style Language, is a language for creating a style sheet that describes how data sent over the Web using the Extensible Markup Language (XML) is to be presented to the user.
Weblogic: is a server software application that runs on a middle tier, between back-end databases and related applications and browser-based thin clients.
Java 2 Platform, Enterprise Edition (J2EE) : a platform from Sun for building distributed enterprise applications by performing services in the middle tier between the user's machine and the enterprise's databases and legacy systems.
Structured Query Language (pronounced SQL or Sequel): A language used to create, maintain, and query relational databases.
DTD (Document Type Definition): states what tags and attributes are used to describe content in an SGML, XML or HTML document, where each tag is allowed, and which tags can appear within other tags.
Object Oriented Programming (OOP): type of programming in which Java Developers define not only the data type of a data structure, but also the types of operations (functions) that can be applied to the data structure.
SGML (S tandard Generalized Markup Language ): a system for organizing and tagging elements of a document.
PHP: H ypertext Preprocessor , an open source, server-side, HTML embedded scripting language used to create dynamic Web pages.
Open Source: refers to a program in which the source code is available to the general public for use and/or modification from its original design free of charge. Open source code is typically created as a collaborative effort in which programmers improve upon the code and share the changes within the community. Open source sprouted in the technological community as a response to proprietary software owned by corporations.
There are two definitions for ASP:
| Application Service Provider: generally provides software via a wide area network from a centralized data center. Allows companies to outsource and more efficiently upgrade software. |
| Active Server Page: is the specification for a Web page that is dynamically created by the Web server and contains both HTML and scripting code. |
JSP (J ava Server Page): A server-side technology that are an extension to the Java servlet technology that was developed by Sun.
Servlet: An applet that runs on a server, usually meaning a Java applet that runs on a Web server.
Server-side : residing on or taking place in the server computer of a client-server network.
Client-server: An architecture in which one computer can get information from another. The client is the computer that asks for access to data, software, or services. The server, which can be anything from a personal computer to a mainframe, supplies the requested data or services for the client.
There are two definitions for Multi-tier:
| Multi-tier client server: A form of client/server application that uses the multi-tiered architecture. |
| Multi-tiered architecture: Refers to 4-, 5-, or even higher-tiered architectures. It is the most complex type of architecture, splitting the application and database management tasks into many discrete components |
Visual Basic: an event-driven procedure that are called automatically when the end-user chooses menu items, clicks the mouse, moves objects on the screen, etc.
Scripts: a list of commands that can be executed without user interaction.
OCCUPATIONAL SPECIALTIES
Java Developer may have different roles and responsibilities depending on the size of the organization or firm. Java Developers may work as Web Site Developers, Java Software Engineers, Java System Architect, Java Tester/Documenters just to name a few.
In addition to leaning about this occupation, you may also find it helpful to explore the following Career Exploration Scripts:
[back to top]
WORKING CONDITIONS AND REQUIREMENTS
Java Developers may work alone or as a member of a programming team under the direction of a senior java developer or a supervisor, programming manager, or data processing manager. Java Developers generally work in clean, well lighted and well ventilated offices.
Most Java Developers work 8 hours a day, 5 days per week. Some Java Developers frequently work evenings and nights when computer time is most available. Java Developers who spend long periods of time at the computer terminal typing at a keyboard are subject to eyestrain, back discomfort, and hand and wrist problems such as carpal tunnel syndrome or arthritis.
Advancements through cutting edge technology provide Java Developers the opportunity to work from home through telecommuting. With improvements in technology and the expansion of various networks, Java Developers are able to utilize the e-mail, write and code various programs that will be used in web development using modems such as DSL or broadband to connect to their employer or customers' network systems.
Java Developers may join professional organizations such as the International Webmasters Association, Association of Information Technology Professionals, Association for Computing Machinery or the Institute for Certification of Computer Professionals. Members of such organizations pay periodic fees.
Java Developers may obtain additional training and certification from Sun Microsystems. Sun Microsystems offers additional training for certifications focusing on specialized Java Developer skills. Java Developers may be certified in the one of the following specialized classifications:
SCWCD: A Sun Certified Web Component Developer develops J2EE applications using web components.
SCBCD: A Sun Certified Business Component Developer develops business applications using EJBs and J2EE technologies.
SCMAD: A Sun Certified Mobile Application Developer is an experienced J2EE/J2SE programmer who has diversified into the mobile applications development arena.
SCDJWS: A Sun Certified Developer for Java Web Services has a standard level of proficiency with web services, as well as with the Java technologies that support web services.
Java Developers with these certifications will find employment opportunites more plentiful.
You should prefer:
- Activities of a logical, scientific and technical nature
- Activities which involve the use of math and statistics
- Activities which bring recognition or appreciation from others
- Activities which require self-motivation
You should be able to:
- Think logically in a clear and organized manner
- Understand and use high level mathematics
- Compare/see differences in size/shape/form of objects/lines/figures
- Perform a variety of duties which may change often
- Work within precise limits or standards of accuracy
- Rate information by using personal judgment or standards which can be measured or checked
- Plan/direct/control an entire activity and the activities of others
- Communicate effectively both orally and in writing
- Analyze and solve problems based on accurate information
Math Problem You Should Be Able to Solve:
Find the derivative of the following polynomial at the indicated point y=3x^8, x=3
Reading Example You Should Be Able to Read and Comprehend:
The top-down approach starts at the top of the structure and it then proceeds to test components at lower levels in the hierarchy. Bottom-up integration requires "drivers". Top-down requires "stubs".
Writing Example You Should Be Able to Produce:
Prepare a written analysis, proposal and definition of all user requirements and testing results.
Thinking Skill You Should Be Able to Produce:
Should be able to demonstrate excellent analytical skills and be a detail oriented problem solver when testing software applications.
[back to top]
EDUCATION AND PREPARATION OPPORTUNITIES
NOTE: An Associate Degree (two years of study beyond high school) or a Bachelor's Degree (four years of study beyond high school) may qualify a person for this occupation.
The following education and preparation opportunities are helpful in preparing for occupations in this Career Exploration Script:
***SCHOOL SUBJECTS***
1000 COMPUTERS , 2200 MATH
***VOCATIONAL EDUCATION PROGRAMS***
There are no Vocational Education Programs related to this Career Exploration Script.
***POSTSECONDARY PROGRAMS***
Listed below are schools located in the State of Michigan that offer Certificate, Associate, Baccalaureate, and Master Degree programs in Computer Information Systems and/or Computer Science (featuring courses in Java development and applications).
In addition, here is a list of the top ten schools throughout the United States that offer Certificate, Associate, Baccalaureate, and Master Degree programs in Computer Information Systems and/or Computer Science (featuring courses in Java development and applications).
214 COMPUTER SCIENCE
Programs in Computer Science, Electrical/Electronic Engineering, Mechanical Engineering, Management Information Systems, and Physics provide opportunities to gain the knowledge and skills needed for becoming a Java Developer.
Courses vary from school to school but may include:
|
Algebra/Calculus
|
Artificial Intelligence
|
|
Physics
|
Robotics
|
|
Programming
|
Human-computer Communication
|
|
Object-Oriented Systems
|
Databases/Information Retrieval
|
|
Operating Systems
|
Computer Architecture
|
|
Data Structures/Algorithms
|
Software Engineering
|
|
Microprocessor Systems
|
Computer Networks and Interfacing
|
214 COMPUTER INFORMATION SYSTEMS
Programs in Computer Information Systems provide opportunities to gain the knowledge and skills necessary for employment in information systems and management positions. Information systems involve the entire spectrum of organizational activities, technology, and people. Information systems support an organization's operations, management, and decision-making functions. Individuals who teach at the secondary school level must have a Michigan Teaching Certificate.
Courses vary from school to school but may include:
|
Economics
|
On-Line Programming
|
|
System Design
|
Financial Management
|
|
System Analysis
|
Management Accounting
|
|
Management Science
|
System Implementation
|
|
Data Base Concepts
|
Computer Operating System
|
|
Management Science
|
Introduction to Computers
|
|
Introduction to Computers Information Systems
|
Search for a College and/or Instructional Program
***APPRENTICESHIP OPPORTUNITIES***
There are no Apprenticeships related to this Career Exploration Script.
***MILITARY TRAINING PROGRAMS***
Please check the Military website at http://www.todaysmilitary.com/.
COMPUTER SYSTEMS OFFICERS
The military uses computers in almost every aspect of its operations. The services have about 24,000 computer systems specialists. Military computers are used to process payroll and personnel information, control the targeting and firing of weapons systems, account for money, and make it easier to communicate around the world. Computer systems officers direct the operations of computer centers and are involved in the planning and development of computer systems.
What They Do
Computer systems officers in the military perform some or all of the following duties:
- Prepare processing plans and budgets
- Develop and monitor contracts for data processing equipment and services
- Translate military objectives and needs into computer systems requirements
- Design and maintain computer software and data bases
- Plan and oversee the installation of new equipment
- Direct teams of computer systems specialists and computer programmers
Special Requirements
A 4-year college degree in computer science, computer engineering or related field is required to enter this occupation. Some specialties require a master's degree.
Help Attributes
Helpful attributes include:
- Interest in working with computers
- Interest in working with mathematical models and formulas
- Interest in technical work
Work Environment
Computer Systems officers in the military work in offices or at computer sites on military bases or aboard ships.
Training Provided
Job training consists of classroom instruction. Training length varies depending on specialty. Course content typically includes:
- Fiscal and contract management
- Assessment of computer equipment needs
- Computer systems development and project management
Civilian Counterparts
Civilian computer systems officers work for a wide variety of employers, such as banks, hospitals, manufacturers, financial firms, government agencies and firms that design and test computer systems. They perform duties similar to those performed by military computer systems officers. They may also be called information systems directors, ADP or EDP managers, computer systems engineers, software engineers, or systems analysts.
Opportunities
The exact number of building computer systems officers is unknown. After job training, computer systems officers are assigned to units where they work in teams of engineers, systems analysts, and computer programmers. With experience and demonstrated leadership, the may advance to senior management or command positions in the computer systems field.
E-Learning Courses and Programs
[back to top]
OPPORTUNITIES FOR EXPERIENCE AND METHODS OF ENTRY
Most employers require a bachelor's degree in computer science or computer engineering as the minimum level of education for a Java Developer. Internships and cooperative work/study programs are typically available through colleges or universities. Few opportunities for exploration exist without specific training. To enter this occupation once you have completed training, apply directly to employers, locate positions through college placement offices, and consult newspaper want ads. In addition, you should access and search the Internet's on-line employment services sites such as:
JavaJobs.com
JVsearch.com
Michigan Jobs & Career Portal
Michigan Talent Bank
simplyhired.com
Indeed | one search. all jobs.
MONSTER.COM
Yahoo!hotjobs
CareerBuilder
Dice
Jobs.com - Java Jobs
ComputerJobs.com
USAJOBS - United States Office of Personnel Management
You should also enter an electronic resume on these on-line services.
[back to top]
EARNINGS AND ADVANCEMENT
Earnings of Java Developers vary with the employer and the geographic location of the company. Smaller companies tend to pay less than larger firms. Earnings also vary with experience, ability and education. For example, Java Developers frequently are hired for their expertise in using coding programs on a J2EE platform.
Nationally, corporate Java Developers in mid 2009 earned:
|
Job Title
|
Annual Average Salary
|
Middle Salary Range
|
|
Java Developer
|
$70,400
|
$70,000 - $87,500
|
|
Senior Java Developer
|
$76,100
|
$78,600 - $101,200
|
In the Great Lakes Area, including Michigan, corporate Java Developers in mid 2009 earned:
|
Job Title
|
Annual Average Salary
|
Middle Salary Range
|
|
Java Developer
|
$80,400
|
$65,300 - $83,800
|
|
Senior Java Developer
|
$91,400
|
$76,300 - $103,200
|
Web Application Developers (which includes Java Developers) working in the Detroit Metro Area in early 2009 earned:
|
Job Title
|
Annual Average Salary
|
|
Web Application Developer Jr.
|
$57,900
|
|
Web Application Developer Mid.
|
$68,900
|
|
Web Application Developer Sr.
|
$90,000
|
Most Java Developers receive fringe benefits such as paid vacations; holidays and sick leave; life, health, accident and disability insurance; retirement plans; educational reimbursement plans; and stock purchase/saving plans. Benefits are usually paid for, at least in part, by the employer.
Most Java Developers start out as trainees, co-op students during college years or work as "interns" during summer months. They may advance to Senior or Lead Java Developers. Java Developers may also advance to higher positions through a combination of experience and further education and training. Being certified in specialties such as Sun Certified Assistant (SJCA), Sun Certified Programmer (SCJP), Sun Certified Developer (SCJD), Sun Certified Developer for Java Web Services (SCDJWS), Sun Certified Business Development Component (SBCDC), Sun Certified Developer for Java Web Services (SCDJWS), Sun Certified Mobile Application Developer (SCMAD), and Sun Certified Enterprise Architect (SCEA) will increase the earning potential for Java Developers. From these positions they may advance to management or consulting.
[back to top]
EMPLOYMENT AND OUTLOOK
Nationally, the number of Java Developers employed in 2009 is unknown. Employment is expected to increase as the demand for highly qualified computer professionals' increases.
Employment in data processing firms is not expected to rise as fast as in recent years. Technology has reduced both the size and cost of computer hardware, bringing computer systems within reach of small businesses. As more businesses install their own computers, reliance on data processing firms will decline. Opportunities will be best for individuals with 2- or 4-year college degrees.
The number of Java Developers employed in Michigan is unknown. The development of new and emerging technologies such as developing technology for mobile devices will spur growth in this occupation.
The best opportunities will be for those with a bachelor's degree in computer science or computer engineering, and those who are familiar with a variety of programming languages, particularly those that apply to object-oriented programming, CASE, fourth-generation languages, UNIX, open systems relational databases, and client/server architecture.
Those with "soft skills" in addition to technical skills are in demand as well as those with the ability to analyze business problems and develop comprehensive web-based applications to improve overall efficiency. Java Developers who are proficient in Sequel Query Languages (SQL) on an Oracle database platform, Cascading style Sheets ( CSS), JavaBeans, Perl, Weblogic Applications Server, XML (Extensible Markup Language) and XSL (Extensible stylesheet Language) will find employment opportunities more favorable in a highly competitive market.
[back to top]
SOURCES OF ADDITIONAL INFORMATION
|
Assn. for Computing Machinery
|
Institute of Electronics & Electrical Eng.
|
|
2 Penn Plaza
|
Computer Society
|
|
New York, N.Y. 10121-0701
|
2001 L. Street, N.W., Suite 700
|
|
(212) 626-0500 or (800) 342-6626
|
Washington, DC 20036
|
|
|
(202) 371-0101
|
|
|
|
|
Association of Information Technology Professionals
|
Institute for Certification of Computer
|
|
Attention: Computer Careers
|
Professionals (ICCP)
|
|
401 N. Michigan Ave Ste. 2400
|
2400 E. Devon Ave., Ste. 281
|
|
Chicago, IL 60611-4267
|
Des Plaines, IL 60018-4610
|
|
(312) 245-1070 or (800) 224-9371
|
(847) 299-4227 or (800) 843-8227
|
|
|
|
|
Software Information Industry Assn.
|
Assn. for the Advancement of Artificial
|
|
1090 Vermont Ave. N.W.
|
Intelligence
|
|
6th floor
|
445 Burgess Drive, Ste. 100
|
|
Washington, D.C. 20005
|
Menlo Park, CA 94025-3442
|
|
(202) 289-7442
|
(650) 328-3123
|
|
|
|
|
|
|
|
International Webmasters Association
|
Telephone Directory Yellow Pages:
|
|
119 E. Union Street, Suite #F
|
Computer Programming
|
|
Pasadena, CA 91103
|
Computer Software, Computer
|
|
(626) 449-3709
|
System Designers and Consultants,
|
|
|
Information Systems, Marketing
|
|
|
Research and Analysis
|
|
|
|
[back to top]
Copyright © 2010 Michigan Department of Energy, Labor & Economic Growth