Responsibilities:
You will design and build large-scale, distributed systems delivered as Enterprise-wide, global-facing PaaS or SaaS offerings.
Document designs using the modeling and diagramming techniques
Participate in deep architectural discussions to build confidence and ensure team success when building new and migrating existing applications, software, and services onto the Cloud platform
Drive Microservices style of architecture when applicable; apply Domain Driven Design concepts to model Microservices
Define and maintain Cloud Application Development Standards and Guidelines
Work closely with other individuals and groups in the execution of technology proof of concepts, deployment, and adoption of Cloud with the organization
Extend and maintain API schema models
Review design and code from an efficiency and best practice standpoint
Evaluate existing tools and recommend development tools for Cloud-based development
Provide DevOps reference implementation for the application
Use modern deployment techniques (containers, serverless computing) to deploy applications
Apply industry frameworks, patterns, and tools as necessary to help monitor and debug applications
Build application custom frameworks if needed to apply common themes like Authorization across the application
Be an advocate of an API-based IT group and test-driven development approach
Understand how to apply enterprise architecture guidelines
Secure and compliant data and messaging egress and ingress
Federated authentication and authorization models
Automated workload lifecycle management
Ensure application and information are encrypted in transit and the rest
Apply standards and policies for the application security, compliance, and governance of data and information stored or processed
Document and develop in-depth architecture and design patterns
Must have:
You have a Bachelor’s degree in Engineering, Computer Science, or equivalent.
10-12 years of development background, with a minimum of 2 to 4 years of strong cloud application development experience with any Cloud platform
Previous experience in Financial Services is a plus
Thinks creatively and proposes options/solutions to challenges
Excellent verbal and written communication skills with the ability to interact effectively
Required skills:
Webservices (REST) and messaging products
Polyglot programming skills in JavaScript and Python
Microservices architecture and domain-driven design
Cloud Application Design patterns and frameworks (e.g., service discovery, circuit breaker, and 12-factor)
API based Development and tools (Swagger, Postman, Blueprint, RAML)
Good understanding of different API design patterns, securing API concepts, API retry mechanism using Exponential Backoff, API Throttling, and API Rate Limiting
Experience with different Authorization and Authentication Protocols like OAuth 2.0, OpenID Connect, JWTs, SAML
Familiarity with GraphQL would be a plus
Container and Container Management frameworks (e.g., Docker, Kubernetes)
Container-based PaaS (e.g., Redhat Openshift, AWS ECS, Google Kubernetes Engine)
Hands-on technical experience in Cloud Computing environments (e.g., Google Cloud Platform, Microsoft Azure, Amazon AWS)
DevOps, Test Driven Development and software development methodologies
Deep understanding of auto-scalability and high-availability concepts in Cloud environments
Nice to have:
Good understanding of industry UI frameworks – node, react, Angular
Experience with CICD tools such as Jenkins, Bamboo or CodePipeline
Able to work with other Architects to design applications that meet defined requirements and standards
Familiarity with different performance testing tools like Locust/Rest Assured
Familiarity with API Gateway, Kong/Amazon API Gateway
Self-motivated, innovative, and analytical with strong attention to detail
Strong sense of responsibility and service-minded attitude
Willingness to learn new skills and to contribute to a team culture centered on continuous improvement
Organized, accurate, and self-motivated
Bachelor's degree in Computer Science