Especialista de Desenvolvimento de Software
New
J
JobgetherSoftware Development
BrazilFull-TimeSenior
Salary not disclosed
Apply NowOpens the employer's application page
Job Details
- Languages
- Portuguese
- Required Skills
- AWSDockerGraphQLGitJavaKubernetesCI/CDRESTful APIsMicroservices
Requirements
- Proven experience in technical leadership roles within software development teams.
- Excellent communication skills and ability to collaborate with technical and business stakeholders.
- Strong planning, organization, negotiation, and teamwork capabilities.
- Advanced knowledge of Java 17+ development using Spring Framework, including Spring Boot, Spring Data, and Spring Batch.
- Experience designing and developing microservices architectures using REST APIs and GraphQL.
- Experience with unit testing practices and frameworks such as JUnit and Mockito.
- Experience working with relational and non-relational databases.
- Experience with containerized applications using Docker and orchestration platforms such as Kubernetes.
- Experience implementing application monitoring, instrumentation, and observability solutions using tools such as Dynatrace, Datadog, and Grafana.
- Knowledge of software architecture models and patterns, including DDD, BDD, Microfrontends, Design Patterns, SOLID, Service Mesh, and Enterprise Integration Patterns.
- Practical experience with cloud application solutions, especially AWS services such as EKS, EC2, S3, EMR, and SQS.
- Knowledge of messaging and event-driven architectures using technologies such as RabbitMQ and Kafka.
- Experience with CI/CD pipelines, particularly using Jenkins.
- Familiarity with Git workflows and development practices.
Responsibilities
- Collaborate with multidisciplinary teams, technical leadership, and business stakeholders to support decision-making, technical discussions, planning, and conflict resolution.
- Act as a technical reference for teams, providing guidance on complex challenges and helping resolve critical technical issues.
- Lead the complete software development lifecycle, from solution design and architecture definition to implementation, deployment, and operation.
- Analyze and design application architectures aligned with technical and strategic objectives.
- Define and document software development standards, architectural patterns, and reusable components.
- Identify opportunities to create reusable APIs, frameworks, and components that can be adopted across multiple development teams.
- Ensure solutions are secure, scalable, resilient, and reliable through the application of engineering best practices.
- Monitor architecture-related KPIs and promote improvements in software quality and reuse.
- Conduct Proofs of Concept (POCs) to evaluate new technologies and validate solutions for different business scenarios.
- Promote knowledge sharing through technical presentations, workshops, coding sessions, pair programming, documentation, and mentoring.
View Full Description & ApplyYou'll be redirected to the employer's site