Computer Programmer (Java)

Technology

Pay Level: Negotiable

SUMMARY:
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


QUALIFICATIONS:
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:
    • Computer science concepts, languages and technologies (especially Java, HTML, SQL, XML, and JavaScript)
    • 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).