Senior Software Engineer

QuintoAndar
Summary
Join Grupo QuintoAndar, Latin America's leading real estate tech company, as a Senior Software Engineer. Collaborate with cross-functional teams to solve complex software issues and contribute to product evolution. Employ Agile methodologies and participate in ceremonies to improve team processes. Take ownership of the entire software development lifecycle, from definition to maintenance. Maintain high code quality through code reviews and design reviews. Handle incidents, troubleshoot, and debug software issues, creating post-mortems to prevent future occurrences. Implement and maintain scalable and reliable software architecture. Mentor a team of software engineers, providing technical guidance and support. While seniority is preferred, applications from professionals at all levels are encouraged. The role offers a remote-first model with flexible work options in Brazil.
Requirements
- Proven experience with Agile development practices, including Scrum or Kanban
- Proficient in one or more programming languages, such as Java, Kotlin, or JavaScript
- Strong understanding of database design and evolution
- Experience designing and evolving software architecture from the ground up
- Skilled in creating RESTful APIs
- Experience with tools and practices for software monitoring, observability, and performance tracking
- Solid software engineering fundamentals, including version control, testing, and deployment automation, code reviews, design documentation
- Strong problem-solving skills and attention to detail; people that are seeking to learn and deliver real impact through high-quality data-driven and structured software, valuing work-life balance
- Fluency in Portuguese and advanced English - we usually use English to write our code, documentation, tools, reference materials and eventually talk to partners and co-workers from other countries
Responsibilities
- Collaborate with cross-functional teams to identify and solve complex software issues. Be part of the decision-making process for the evolution of our product and business
- Work with Agile methodologies and participate in ceremonies to contribute to team process improvements
- Be responsible for the entire software development lifecycle: definition, development, testing, production, and maintenance
- Be a guardian of your team's delivery quality by reinforcing the adoption of good software development practices, and proposing improvements to our processes; participate in code reviews and design reviews
- Succeed in a wide range of complex situations across multiple axes (scale, resilience, fault tolerance, etc.)
- Handle incidents, troubleshoot, and debug software issues with a learning mindset. Create post mortems and take actions to avoid similar incidents in the future
- Implement and maintain scalable and reliable software architecture, as well as design patterns
- Actively improve the way we build software and pave the road to solve new challenges
- Mentor a team of software engineers, providing technical guidance and support
- Participate in code reviews and ensure high code quality
Preferred Qualifications
- Has experience mentoring a team of software engineers
- Already developed scalable client-server mobile applications
- Have experience with cloud service platforms and its services (AWS, GCP, Azure, etc)
- Understand how modern CD/CI works
- Have some knowledge on containers and container-orchestration (eg. Kubernetes)
- Know how to test and tune scalability
- Know computer theory, including optimization of algorithms and distributed systems
- Understand the work is never done; we are always taking care and evolving our services
Benefits
- Competitive salary package
- Bonus
- Meal allowance ("Flash BenefΓcios")
- Health plan
- Dental plan (optional)
- Life insurance
- Daycare subsidy
- Subsidy to sports practicing (Gympass)
- Parental leave
- Language learning support