Job Description:
The Senior Software Engineer applies practical knowledge of development and engineering principles to conceive, design, develop, test, and implement new software applications, features, enhancements, fixes of moderate to high complexity. The Senior Software Engineer owns, design and development and drives development of components through their own individual contribution or being part of a team. The Senior Software Engineer provides technical guidance to the team as a technical expert and acts as a point of escalation. In this role, this person is expected to be able to act autonomously to perform their day-to-day activities and duties.
Location: REMOTE EST hours
Responsibilities:
- Owns the design and development of software fixes, enhancements, components, and/or new software systems and applications.
- Drives development of components through own and working with the team.
- Develops technical solutions that meet specifications and that impact future developments.
- Executes assigned component level software development projects and major fixes using new or existing technologies.
- Develops specifications for assigned components, projects or fixes.
- Reviews or writes code.
- Leads programming, testing and debugging of applications or fixes to existing applications.
- Creates protocols, documentation and tools for installation and maintenance.
- Participates in setting the architectural direction for software development projects.
Required Skills:
Bachelor’s Degree in Computer Science or similar field or related work experience. Five to eight years of progressively related experience in design, development, and implementation of highly scalable, high-volume software systems and components, client-facing web applications, and major Internet-oriented applications and systems.
- Thorough understanding of Dagger DI (dependency injection).
- Understands Gradle and how dependencies are resolved in Android. Able to debug build issues due to transitive dependencies without difficulty.
- Understands MVVM app UI architecture.
- Understands modern OO practices / design patterns.
- Thorough understanding of Android UI (Especially RecyclerView / Delegate Adapter Pattern for handling different View Types).
Preferred Qualifications
BLE / Location experience in Android (Understands OS limitations and working with the low level apis)
Experience with CICD solutions in Android such as Jenkins, AppCenter, etc.
Has practiced with Compose UI (similar to SwiftUI in iOS)
Please upload your CV.
Thank You