Evaluate requirements and propose solutions with careful consideration to cost and impact with other systems as well as develop and execute implementation plan for delivery of requested functionality.
- Review, create, and alter existing software and software artifacts to implement new requirements.
- Actively participates in software design and peer code reviews.
Mentors and coaches team members related to analysis, architecture, design, development, build, deployment, and maintenance of systems.
- May provide training on how to use new or enhanced system.
- Provides technical assistance and partners with end users to understand and resolve problems.
- May oversee installation of hardware and software.
- Position requires occasional 24/7 Level 2/3 on-call support.
**Qualifications**:
- Must possess a bachelor's degree in Computer Science/Engineering or related discipline; advanced degree is preferred; experience with operations research optimization techniques is a plus
- Must be well-versed in software development life cycle methodologies with emphasis on Agile product development including incorporation of Quality Assurance & Testing techniques
- Strong knowledge of object-oriented design principles, design patterns, and UML is preferred
- Requires strong working knowledge of Java, Spring, Hibernate, Oracle, HTML, XML, JavaScript, UNIX/Linux and object-oriented methodologies; familiarity and/ or working experience with Cloud technologies is a plus
- Must have an in-depth knowledge of the JEE platform and supporting technologies such as JSP, JNDI, JAXP, JMS, JDBC
- Must be familiar with Relational Databases such as Oracle or SQL Server; strong working knowledge of SQL preferred
- Must have experience consuming Web Services and implementing Web Services; should be familiar with messaging and SOA technologies; require knowledge of general architecture principles
- Experience with UI technologies and frameworks (e.g., HTML5, CSS, LESS, AngularJS ) is a plus
- Familiarity with software configuration management/build processes is a plus
- Must have strong interpersonal skills to provide coaching to junior team members
- Must possess excellent oral and written communication skills including strong presentation skills
- Must be a strong communicator with the ability to lead technical and nontechnical discussions
- Demonstrate technical problem solving and analytical skills
- Proven ability to multitask