Staff Software Engineer - Android
Skills
Software DevelopmentBluetooth Low EnergyDesign SpecificationsDocumentationInterpersonalKotlinProgramming
What the job involves
The main requirements, responsibilities and hiring steps.
Requirements
- Excellent interpersonal and communication skills.
- Ability to lead cross-team collaboration in the engineering organization.
- Focus on execution and mentoring team members.
- Commitment to trust and transparency within the working team.
- Ability to write software requirements and translate into design and implementation.
- Knowledge of basic Bluetooth Low Energy architecture and principles.
- Bachelor's degree in computer sciences, Engineering or Mathematics or related field or equivalent combination of education and applicable job experience.
- 8 years of software development experience.
- 5 years of native Android app development experience.
- 3 years developing in Kotlin.
- Proven experience building consumer-facing native Android apps.
- Experience with test-driven development and pair programming.
Nice to have
- Interpersonal skills
- Communication skills
- Team collaboration
- Mentoring
- Trust and transparency
- Continuous improvement
- Software requirements writing
- Design and implementation translation
- Knowledge of Bluetooth Low Energy architecture
- Knowledge of Bluetooth Low Energy principles
Day to day
- Leverage cutting-edge technology in a highly regulated industry to deliver life-sustaining systems.
- Own the design, development, and testing of multiple Android software features that support remote management of insulin therapy.
- Drive the refinement and implementation of features that can be worked on by a small team of engineers.
- Identify opportunities in software or processes, gain engineering alignment, and implement proposals.
- Stay current with Android standards and new technologies.
- Responsible for software design specifications, interface descriptions, and other software documentations.
- Guide software validation by communicating software changes effectively and reviewing test regression selection.
- Write testable, extensible code and consistently contribute unit tests.
- Contribute to the training, mentoring, and development of junior team members.
- Independently diagnose, replicate, and address bugs.
