Senior SW Engineer

Visa Logo

Visa

πŸ“Remote - Brazil

Summary

Join Pismo, a technology company providing a comprehensive processing platform for banking and financial market infrastructure, as a key member of the Transactions team. You will design, develop, and maintain microservices using Java or Golang, leveraging reactive programming. Responsibilities include debugging complex systems, participating in the full software development lifecycle, and implementing comprehensive tests. You will also lead technical discussions, manage infrastructure as code, and deploy microservices using CI/CD pipelines. This remote position requires proficiency in English and experience with microservices development, reactive programming, and CI/CD. The role is based in Brazil.

Requirements

  • For this role, you must be based in Brazil
  • Proficiency in English at B2 level (Upper Intermediate)
  • 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

Responsibilities

  • 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

Preferred Qualifications

  • 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

Benefits

This is a remote position

Share this job:

Disclaimer: Please check that the job is real before you apply. Applying might take you to another website that we don't own. Please be aware that any actions taken during the application process are solely your responsibility, and we bear no responsibility for any outcomes.