We are looking for an Android Software Engineer to join our team at the Braga office!
This is a great opportunity to join Smith Micro Software, a NASDAQ company that creates software products and services to simplify, secure, and enhance the mobile experience. We have offices in Braga, Aliso Viejo, Pittsburgh, Emeryville, Stockholm and Belgrade
The Braga engineering team is primarily engaged in the development of family location and protection services technology that is currently live in multiple carriers around the globe with focus on safety and protection of children, the elderly, and other family members requiring extra care.
Working with agile methodologies and with a team of software engineers developing products and projects on different technologies that are shipped worldwide (iOS, Android, web single page apps, cloud based backend solutions), your primary focus will be the development of mobile applications, with opportunities currently available in our main product line, SafePath.
Main Responsibilities:- Design, develop and test Android based applications.
- Collaborate with agile cross-functional teams to define, estimate, design, and ship new features.
- Interact with internal stakeholders and other teams to clarify technical requirements.
- Analyze functional requirements and propose suitable technical solutions and technologies.
- Mentor less experienced software 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.
- Help ensure performance, scalability, quality and responsiveness of our products.
- Proactively search, evaluate and propose the adoption of new frameworks, technologies and processes.
- Contribute to continuous integration, test automation and deploy processes and activities.
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