To provide system analysis,design, development, and implementation of applications anddatabases for mainframe-, client/server-, Web-, and/or PC-based systems, under supervision of a more seniordeveloper.
Ideal Technical Background
- Experience with developing Java REST services – Spring, Jersey
- Knowledge of ‘API-first’ design standards, patterns and best practices would be a plus
- Knowledge of API resiliency and cloud-based development/engineering best practices would be a plus
- Experience with test automation and test-driven development practices and frameworks – mutation testing, functional testing (JUnit, Cucumber), mock frameworks (Mockito, etc.), contract testing
- Knowledge of cloud-based data stores – Dynamo DB and/or Amazon RDS; experience migrating data from legacy repositories to cloud data architecture
- Familiarity with DevOps concepts, tools and continuous delivery pipelines – Bamboo, Jenkins, Maven, Bitbucket, Jira, etc.
- Ability to implement instrumentation to gather business-specific metrics around consumer usage patterns
Duties and Responsibilities:
- Provides senior-level expertise in an initiative to build or re-platform select business services as APIs for internal and external consumption
- Defines the bounded context for conceptual API models. Writes specifications for APIs.
- Designs, builds, and maintains APIs in a cloud-based micro-services architecture. Re-platforms existing applications to API, cloud, and micro-services architecture with minimal impact to consuming applications.
- Collaborates with other functions (architecture, business, etc.) to optimize API development and governance processes
- Evangelizes best practices for API design and development across project teams
- Provides leadership and guidance to a team on developing solutions that integrate with existing IT systems to satisfy business needs
- Develops automated tests for functional, performance, and security testing using TDD methodology
- Implements instrumentation for monitoring product health, business metrics, and consumption patterns
- Thoroughly understands and complies with IT policies and procedures, especially those for quality and productivity standards that enable the team to meet established milestones.
- Undergraduatedegree in a related field or the equivalent combination of training and experience.
- 2+ years software engineering experience.
- Strong written and oral communication skills.
- Strong, demonstrated analysis and problem solving skills.
- Strong planning and organizational skills.
- Advanced knowledge of the following software engineering practices and concepts:
*Production acceptance, including elevations and change management.
*Test/Quality assurance methodology
*Systems analysis and design techniques.
*Libraries, reusable code, and/or object oriented standards.