Team Transactions is responsible for asynchronously processing all the financial transactions in response to authorization operations that clients can do in the platform. It includes the online flows and also migration flows. We are also responsible for managing the required transactions configurations used in this process.
What youll do
- Design develop and maintain microservices using Java or Golang leveraging advanced language features and reactive programming principles.
- Debug complex distributed systems by identifying root causes of issues even in features developed by peers.
- Participate in the full software development lifecycle including technical planning analysis hands-on coding testing deployment and support.
- Review code from peers suggest improvements and uphold high-quality engineering standards.
- Implement comprehensive unit and integration tests to ensure software reliability and maintainability.
- Lead and contribute to technical discussions helping to define the best solutions for complex problems.
- Develop and manage Infrastructure as Code (IaC) using Terraform understanding syntax and command interactions.
- Deploy and operate microservices using CI/CD pipelines and tools ensuring seamless delivery to production environments.
- Create and configure Docker environments including Docker Compose files for local development and testing.
- Utilize Kubernetes (kubectl) for managing microservices including scaling viewing logs and updating configurations.
- Build and maintain cloud-native solutions using AWS services such as SQS SNS DynamoDB S3 and EventBridge applying best practices for each.
- Monitor applications using logs and metrics to proactively detect and resolve issues.
- Identify and mitigate challenges in distributed systems including distributed transactions and race conditions.
- Understand and apply architectural principles for microservices including when to create new services and how to design them for scalability and maintainability.
- Serve as a technical reference in areas such as event-driven architecture distributed computing and cloud infrastructure.
- Maintain version control using Git including proficiency with branching merging and conflict resolution.
This is a remote position. A remote position does not require job duties be performed within proximity of a Visa office location. Remote positions may be required to be present at a Visa office with scheduled notice.
Qualifications :
- For this role you must be based in Brazil
Language Skills:
Technical Skills:
- Proven experience developing and maintaining microservices using Java or GoLang leveraging advanced language features
- Solid understanding of Reactive Programming and hands-on experience with Reactive Java
- Implementation of unit and integration tests following best practices
- Familiarity with version control workflows and proficient use of Git basic commands
- Experience deploying microservices through CI/CD pipelines and related tools
- Ability to configure and run applications locally including Docker setup and creation of Docker Compose files
- Familiarity with advanced architectural concepts such as Distributed Transactions and Event-Driven Architecture
Nice to have:
- Experience with non-relational databases (e.g. DynamoDB MongoDB)
- Knowledge of Swagger/OpenAPI for documenting APIs
- Hands-on experience with observability and monitoring tools such as Grafana and/or Honeycomb
- Familiarity with reactive frameworks like Vert.x and RxJava
Additional Information :
Visa is an EEO Employer. Qualified applicants will receive consideration for employment without regard to race color religion sex national origin sexual orientation gender identity disability or protected veteran status. Visa will also consider for employment qualified applicants with criminal histories in a manner consistent with EEOC guidelines and applicable local law.
Remote Work :
Yes
Employment Type :
Full-time