Description
You will be part of the team responsible for the evolution of a high-complexity software platform, acting from architecture definition to the delivery of features that impact thousands of users. As a Senior Software Engineer, we expect you to be a technical reference for the team, contributing to the construction of scalable, resilient, and high-quality solutions, in addition to supporting the continuous evolution of software engineering.
### **Activities to be performed:**
* Develop high-complexity features and technical solutions, ensuring quality, performance, and security.
* Suggest and evolve architectures based on microservices, REST APIs, and cloud-native applications.
* Participate in the definition of technical solutions, supporting architectural decisions and the technological evolution of the product.
* Act in the investigation and resolution of critical incidents, performing root cause analysis and implementing permanent improvements.
* Develop reusable components, frameworks, and technical patterns that accelerate team development.
* Ensure the application of software engineering best practices, including automated testing, continuous integration, code review,
* versioning, and observability.
* Work together with Product, Architecture, and other areas in the definition and implementation of business solutions.
* Act as a technical reference for the team, supporting developers through mentorships, code reviews, and knowledge sharing.
* Participate in proofs of concept (PoCs), evaluation of new technologies, and innovation initiatives.
* Contribute to the continuous evolution of the platform, seeking greater reliability, scalability, and operational efficiency.
### **Mandatory Requirements:**
* Solid experience in software development.
* Completed higher education in Computer Science, Software Engineering, Information Systems, or related fields.
* Solid knowledge of Java, Spring Boot, Spring Cloud, and Hibernate (or equivalent ORM).
* Experience in developing REST APIs and system integration.
* Experience with software architecture, microservices, distributed systems, scalability, and resilience.
* Knowledge of relational databases (PostgreSQL or equivalent), NoSQL (MongoDB, Elasticsearch, or similar), and cache solutions (Redis).
* Experience with high data volume and cloud tools (Big Query GCP, Amazon Redshift, or Azure Synapse Analytics).
* Experience with modern software engineering practices, including Clean Code, Design Patterns, API First, automated testing, and continuous integration.
* Automated Testing (JUnit, Jest, Karma, or equivalents).
* Experience with Docker, Git, GitFlow, and CI/CD pipelines.
* Knowledge of messaging (RabbitMQ, Pub/Sub, Kafka, or equivalent).
* Experience with observability and troubleshooting of production applications (structured logs, metrics, and traces).
* Feature Flags and deployment strategies.
* Data/streaming pipelines (Apache Beam, Dataflow, Airflow)
* Asynchronous processing (Celery, Temporal IO)
* Knowledge of cloud providers (Google Cloud Platform, AWS, or Azure).
* Knowledge of security in development (DevSecOps, secrets, etc).
### **Desirable Requirements:**
* Knowledge of Kubernetes and Terraform.
* Knowledge of distributed processing (Spark, Hadoop, Apache Beam, Dataflow, or Airflow).
* Experience with asynchronous processing (Temporal IO, Celery, or similar).
* Knowledge of Feature Flags and progressive deployment strategies.
* Experience with GitHub Copilot or AI tools applied to development.
* Certifications in Java, Spring, Cloud (AWS, Azure, or GCP), or Kubernetes.
**We seek to provide our team with a welcoming, dynamic, and collaborative environment. To this end, we have several initiatives, such as:**
* 100% remote opportunities
* Home office allowance
* Periodic feedbacks
* Referral program
Psychological welcome * ️
* Workplace gymnastics ️
* Knowledge academy
* Agreement with an English school
* Monthly transparency meetings
* Online happy hour
* Welcome kit\-vindas