Software Engineer - Android
To Empower clinicians with the tools to break down barriers to patient-centred care.
Hypercare is a health-tech company located in Toronto, Ontario, Canada, that helps clinical teams coordinate patient care seamlessly and effectively. With the fast-paced environment in hospitals, clinicians are bombarded with dozens of pages per hour on the busiest services. Outdated methods of communication tethers clinicians to phones waiting for a page or waiting on hold while trying to get to the right person. Hypercare reclaims this time, allowing clinicians to spend more time at the bedside. Our solution has been adopted by clinical teams in more than 80 healthcare systems in North America from small community teams to entire hospitals with thousands of users. We are backed by incredible venture capitalists such as Wavemaker360 (Healthcare VC in Los Angeles, CA), FootHill Ventures (Los Altos, CA), Ramen Ventures (former Shopify executives), and Tom Williams (one of the most prolific angel investors). We also partnered with the largest telecom in Canada, Rogers telecommunications.
Hypercare is looking for a Android Software Engineer who is highly motivated and willing to work alongside frontend and backend engineers, designers, and healthcare professionals in a fast moving, high standard environment. You will be responsible for creating and modifying our production grade Android application. You will report directly to Umar Azhar, CTO.
- Add new features and enhance existing code to a production grade Android application
- Translate designs and wireframes into high quality code
- Design, build, and maintain high performance, reusable, and reliable code
- Work with backend engineers on integration with APIs under active development
- Work with product manager to meet specifications
- Setup and iterate on CI/CD pipeline
- Collaborate with other developers to design and optimize code
- Create flowcharts and user guides for new and existing features
- Provide ongoing maintenance, support and enhancements in existing systems and platforms
- Determines operational feasibility by evaluating analysis, problem definition, requirements, solution development, and proposed solutions.
- Document and demonstrate solutions by developing documentation, flowcharts, layouts, diagrams, charts, code comments and clear code.
- Writing unit and functional tests for code
- Ensure good user experience
- Knowledge of Kotlin as well as the Android ecosystem
- Proficiency in Kotlin coroutines & Flow
- An excellent understanding of best practices for concurrency and threading
- Experience with Android services and Android push notification system
- Hands-on experience with architectural design patterns such as MVVM, Clean Architecture
- Familiarity with TDD
- Familiarity writing test suites (unit tests, functional tests...)
- Familiarity with Firebase
- Familiarity with the Android tool ecosystem for development, debugging, testing and performance benchmarking
- Published Apps to the Play Store
- Deadline and detail-oriented
- Strong analytical and critical thinking skills
- Intermediate oral and written proficiency in English
- Ability to be self-motivated and self-directed
Nice to Have
- Familiarity with relational databases such as MySQL
- Experience with GraphQL
- Experience with Realm DB