API Design Expert
This is a pivotal role responsible for implementing API design principles to create scalable, secure, and consumer-centric APIs. The ideal candidate will focus on designing API specifications and frameworks that ensure seamless developer experiences while meeting customer's API standards and architectural guidelines.
Job Description
The API designer/engineer will be responsible for adopting an API design-first approach to leverage OpenAPI, SwaggerHub, or similar tools to define APIs before implementation, ensuring clarity and alignment across stakeholders.
Responsibilities
1. Adopt an API design-first approach: Leverage OpenAPI, SwaggerHub, or similar tools to define APIs before implementation, ensuring clarity and alignment across stakeholders.
2. Create API specifications: Design API specifications that adhere to customer's API standards, covering endpoints, data structures, error handling, and response codes.
3. Policy design and configuration: Define and configure API policies (security, routing, transformation, throttling, etc.) using tools such as Azure API Management (APIM).
4. Mock API development: Create mock APIs for early-stage validation and testing to facilitate integration and feedback before development.
5. API testing: Perform unit testing of API specifications to ensure functionality, reliability, and adherence to defined standards.
6. Environment configuration: Configure API backend settings within APIM (naming conventions, App Insights, Key Vault) in DEV, UAT, and PRD environments.
7. API deployment: Deploy draft APIs into the Azure APIM Dev instance and promote them across DEV, UAT, and PRD environments using the API DevOps framework.
8. Documentation: Create comprehensive API documentation, including references, developer guides, and examples, in line with customer's standards.
9. Metadata publishing: Publish API identity cards (metadata, usage information) to the Azure API Management Developer Portal to enable easy discovery and adoption by consumers.
API Consumer Onboarding
1. Secure authentication setup: Configure OAuth/OpenID Connect to ensure secure authentication and authorization for API consumers.
2. Subscription key management: Share API subscription keys securely with consumers and maintain robust tracking mechanisms.
3. Integration testing support: Collaborate with API consumers during integration testing to resolve issues and provide guidance on proper usage.
Testing & Validation
1. Functional testing: Conduct and support API functional, integration, and performance testing to validate API readiness and scalability.
2. Mock and staging environment management: Ensure availability of mock services and staging environments for API testing and feedback gathering.
Skills and Expertise
Required skills include proficiency in designing APIs using OpenAPI, SwaggerHub, or similar tools, experience in configuring and managing APIs using Azure API Management, strong knowledge of OAuth2, OpenID Connect, and API key management best practices, skilled in creating developer-friendly documentation, and familiarity with API testing frameworks and methodologies.