Senior Android Software Engineer
We are looking for an experienced developer to join our team at our office in Braga. This is a great opportunity to work with us, creating software products and services that simplify, secure, and enhance the mobile experience.
The engineering team primarily engages in the development of family location and protection services technology, live in multiple carriers around the globe with focus on safety and protection of children, the elderly, and other family members requiring extra care.
Main Responsibilities:
* Design, develop and test Android based applications.
* Collaborate with cross-functional teams to define, estimate, design, and ship new features.
* Interact with stakeholders and other teams to clarify technical requirements.
* Analyze functional requirements and propose suitable technical solutions and technologies.
* Mentor less experienced developers in technology, architecture and patterns.
* Provide cross-project and cross-platform technical leadership.
* Participate in code and design reviews of the engineering team.
* Develop unit tests, update and run test plans and work on bug fixing.
* Help maintain code quality, organization, and automation.
* Ensure performance, scalability, quality and responsiveness of our products.
* Proactively search, evaluate and propose the adoption of new frameworks, technologies and processes.
Requirements:
* 5+ years of experience.
* Good English speaking and writing skills.
* University degree in Computer Science, Computer Engineering or a related subject.
* Excellent understanding of the Android SDK, Android development life cycle and associated patterns.
* Extensive experience supporting multiple versions of Android SDKs, screen resolutions and device types.
* Extensive experience with most commonly used Android frameworks and APIs.
* Extensive experience integrating with RESTful based back-end services APIs.
* Extensive experience with asynchronous communications.
* Experience using Coroutines/Flow.
* Experience using Jetpack Compose.
* Experience using Dependency Injection.
* Experience defining/developing unit tests.
* Experience using crash analysis and profiling tools.
* Experience with Gradle dependency management technology.
* Experience with enterprise level branching/merging strategies.
* Experience publishing apps through Google Play.
* Knowledge on security best practices for mobile application development/integration.
Preferred Experience:
* Experience on iOS, hybrid mobile development technology and/or other technologies is a plus.
* Experience with continuous integration and agile methodologies.
What We Offer:
* 3 extra vacation days
* Flexible work schedule that helps you balance your personal life with your professional life
* Life insurance
* Health insurance coverage for you and your family
* Coverflex card with monthly amount paid by the company
* Events throughout the year
* At the office: Free snacks and coffee