Java Developer III
Utilizing mature architectural principles, works from specifications to design and develop enterprise software using Java/Java EE. Appropriately applies object oriented principles and common software best practices. Demonstrates expertise in the full software development lifecycle, including designing, coding, debugging, documentation, testing, and benchmarking.
Development is generally web-based in-house applications in a complex healthcare environment. Competent to work on all phases of application development in an agile environment. Evaluates new and existing software products. Mentors other developers.
Key Functions and Expected Performances:
- Responsible for developing highly available enterprise-level integrated solutions using Java/Java EE as the key programming language for highly complex projects.
- Significant contributor of Java code. Consistently write, translate, refactor, and code software programs and applications according to specifications that are functional, robust, easy to use, maintainable and scalable.
- Collaborate with architects and senior developers in designing, developing and/or re-engineering customer facing highly available application components or new programs and applications.
- Responsible for developing prototype applications for verification and proof of concept development efforts.
- Responsible for development and deployment of innovative solutions consistent with team's design principles, programming standards, and best practices.
- Produce clearly written, logical application code with minimal errors. Code must be easily extensible following principles of object oriented design
- Adhere to internal software installation/backup
- Adhere to common design patterns
- Ensure the integrity and security of institutional data.
- Utilize common agile practices
- Translate business requirements into high level technical designs.
- Fully participates in and often leads development practices including planning, collaborative design, pair programming, test-driven development, releasing, retrospectives, etc.
- Participates in change management and other ITIL processes.
- Understand the business operations and processes on assigned projects
- Create clear and useful unit tests and collaborate in creation of clear and useful acceptance tests.
- Collaborates with QA Analysts on testing of code. Verifies and validates test results, providing feedback on best practices and root cause analysis
- Develops documentation of technical requirements, software designs, and system specifications.
- Create UML diagrams and other high-level documentation where appropriate.
- Create troubleshooting guides and other system support documentation.
- Provide expert technical assistance to users and others on the team.
- Work with colleagues and end users to assist in resolving complex problems with software applications or systems.
- Provide expert level support for problem determination and resolution
- Communicate effectively and collaboratively with colleagues and customers
- Diagnose performance bottlenecks and implement optimizations.
- Investigates and resolves matters of significance, leading root cause analysis to improve system performance and availability
- Mentor junior developers on software development and architecture principles and patterns
- Evaluates new and existing software products.
- Accountable for personal and professional growth and contributes to the advancement of the team.
- Participate in training, conferences, seminars, etc. to foster professional growth
- Meet annual professional goals which are established in collaboration with leader
- Utilize feedback from leader and colleagues regarding interpersonal and technical skills.
- Mentor team members on new technologies in area of expertise.
Job requires Bachelor's and 5 years of experience or the equivalent.
Job Information Technology
Primary Location TN-Nashville-3401 West End Ave
Organization Clnical Informatics Developmnt 108825