- Develops enterprise scale services on core technologies and analyzes business requirements and problems to deliver quality technical solutions.
- As part of full systems life cycle may be responsible for designing, coding, testing, implementing, maintaining and supporting technologies that are delivered on time and within budget.
- Analyzes system requirements, including identifying program interactions and appropriate interfaces between affected components and sub systems.
- Makes recommendations towards the development of new code or reuse of existing code.
- Within assigned projects, may assign tasks, coordinate efforts, and monitor performance across cross functional teams and multiple sites.
- Recommend new technologies and methodologies to management for meeting business needs, resolving problems and exploiting opportunities.
- Remains current with new technologies.
- Obtains and evaluates information on factors such as reporting formats required, costs, and security needs to determine hardware configuration.
- Participates in system testing and validation procedures, programming and documentation.
- Provides technical advice and assists in solving programming problems.
- Writes and/or reviews system specifications, including output requirements and flow charts.
- Assists in preparing project plans using project management tools.
- Reviews test results; documents test activities, and records remedial actions.
- Ensures proper analysis of problems and approaches to prevent rework and schedule slippage.
Bachelor's degree or foreign equivalent in Computer Science, Engineering, MIS, or related.
Five (5) years of required software development, or related experience with: designing and building high performance internet scale Java applications. Five (5) years of required software development or related experience must include: Spring, Hibernate, web services – SOAP/REST, JMS, JPA, MDB, CXF and SLF4J; Dependency injection and ORM frameworks; Distributed architectures, OO background, SOA, web services and messaging paradigms; Enterprise Java technology, Web Servers and Application Containers; Relational/non-relational data stores; Profiling and improving performance of Java applications from threading, memory management, and container optimization; Automated testing frameworks – unit and integration tests; and continuous delivery processes from automated build, test and deployment.