Sr Software Engineer – Android
Location: Pittsburgh, PA
Job Type: Full Time / Permanent
As a Senior Software Engineer, you will work as part of the team to develop innovative solutions aimed at improving patient experience and delivery of care. You will collaborate closely with engineers, designers, and product owners to take ideas from initial conception to final execution, using a human-centered approach to problem solving. You will have the opportunity to work in a fast-paced, startup-like environment to deliver a novel product. The ideal candidate will have a high level of creativity, a passion for prototyping, a knack for problem solving, and a strong desire to thrive in a cross-disciplinary, collaborative environment.
Your primary focus will be the development of Android applications and their integration with back-end services. You will be working along-side other engineers and developers working on different layers of the infrastructure. Therefore, commitment to collaborative problem solving, sophisticated design, and creating quality products is essential.
- Collaborate closely with user experience designers to execute visually polished, intuitive, and usable application interface designs
- Design and build Android mobile applications
- Collaborate with cross-functional teams to analyze, design, and ship new features
- Build and publish applications in app stores
- Implement new technologies to maximize application performance
- Collaborate with a small, autonomous team of developers, designers, and product owners to find end-to-end solutions to important problems
- Adhere to Android development best practices
- Continue to learn, grow, and help tackle brand new challenges
- Experience with the use of hardware sensors, including inertial sensors (accelerometer, gyroscope, etc.), camera, etc. Knowledge of basic signal processing and error filtering.
- Experience with internet of things (IoT) connected devices, using direct Bluetooth Low Energy (BLE) or WiFi communication.
- Knowledge of spatial math, positioning, and orientation systems.
- Strong knowledge of Android SDK, different versions of Android, and how to deal with different screen sizes
- Experience with Android drawables, graphics, and canvas drawing tools
- Experience with ARCore preferred
- Experience collaborating directly with UX designers and executing high-fidelity visual designs
- Strong empathy for end users, and passion for human-centered design
- Experience with offline storage, threading, and performance tuning
- Familiarity with RESTful APIs to connect Android applications to back-end services
- Strong knowledge of Android UI design principles, patterns, interface guidelines, and best practices
- Knowledge of the open-source Android ecosystem and the libraries available for common tasks
- Ability to understand business requirements and translate them into technical requirements
- Familiarity with cloud message APIs and push notifications
- A knack for benchmarking and optimization
- Proficient understanding of code versioning tools, such as Git
- Familiarity with continuous integration
- Experience tinkering with robotics and hardware such as inertial sensors, doing positioning or localization, or image processing