Computer Programmer (Java)
Pay Level: Negotiable
The Computer Programmer (Java) will work with a team of other programmers to perform software design, development and maintenance activities. This will include configuring, customizing and developing our Java applications. He/she will leverage the following Java technologies: Servlets, JSF, JDBC, JPA, Seam Framework, JUnit, Eclipse IDE, Maven, and Ant. He/she will work to contribute to the overall objective of delivering functioning, well-designed and maintainable applications.
ESSENTIAL DUTIES AND RESPONSIBILITIES:
- Participate in all phases of the software life cycle development.
- Participate as a member of a development team.
- Research and participate in fact-finding to gather user and system requirements.
- Produce maintainable code that meets technical specifications
- Unit and system test his/her own code as well as the code of co-workers
- Debug programs, identify source of issues, and propose and implement appropriate solutions
- Document usage instructions & processes for both developers and users.
OTHER DUTIES AND RESPONSIBILITIES:
- Respond to and resolve service requests from users.
- Provide technical training and assistance to users and other technical personnel regarding usage of newly developed or enhanced software
- Participate in technical problem solving discussions with his/her team or other teams
- Performs other work-related duties and special projects as assigned
To perform this job successfully, an individual must be able to perform each essential duty satisfactorily. The requirements listed below are representative of the knowledge, skill, and/or ability desired. Reasonable accommodations may be made to enable individuals with disabilities to perform essential functions.
KNOWLEDGE, SKILLS AND ABILITIES:
- Knowledge of:
- Version Control Systems (especially Subversion)
- Object oriented programming concepts
- Software configuration and testing (especially automated testing tools)
- Composition of detailed end-user documentation and provision of end-user support
- Usage of Oracle RDBMS
- Principles and techniques of systems analysis, design and programming
- Software Development Lifecycle
- Ability to:
- Analyze and solve problems
- Communicate clearly both verbally and in writing
- Read, understand, and write computer code
- Learn new programming technologies
- Troubleshoot errors in data and program logic
- Assist other programmers
- Research and learn third-party software and APIs
- Write clear and concise programming documentation
- Notice areas needing improvement and offer suggestions
- Maintain a strong team mentality
- Multitask and prioritize assignments with a focus on meeting deadlines
- Apply technical standards, principles, theories and techniques such as change and release management. o Prepare flow charts and diagrams for technical solutions
- Compile, organize, analyze and present statistical and technical data
EDUCATION AND/OR EXPERIENCE:
Bachelor's degree in computer science, information technology, mathematics or related field or equivalent years of professional work experience, and at least 1 year experience in computer programming positions of increasing complexity, or equivalent combination of education and experience. Experience can be met through internships (paid or unpaid).