Sr Software Engineer – Mobile Platforms
Location: Pittsburgh, PA
Job Type: Full Time / Permanent
The Software Engineer – Senior, Mobile Platforms will work as part of a team to develop cutting-edge mobile solutions (iOS/Android) aimed at a range of devices including mobile phones and tablet computers. You will be working alongside other designers, engineers, and developers working on different layers of the product. Therefore, a commitment to collaborative problem solving, sophisticated design, and the creation of quality products is essential.
The Software Engineer – Senior will deliver native mobile software development R&D on one or more platforms (iOS/Android). Experience with augmented reality (ARKit, ARCore) required.
- Application Development Cycle – Demonstrate the understanding of multiple SDLCs.
- Communication – Responsible for demonstrating appropriate, clear, concise, and effective written and oral communications in all interactions to build relationships and accomplish day to day work and projects.
- Design – Implement the overall system design. Exhibit awareness of user experience standards.
- Documentation – Create detail-oriented documentation that outlines new and moderately complex processes. Responsible for quality and validity of documentation.
- Integration – Responsible for more complex integration between modules.
- Interactions with Others – Successfully completes projects, tasks, and initiatives by embracing a team-first approach. Works in collaboration with team and offers feedback, where appropriate, to complete individual and group efforts. Shows the ability to adjust and be flexible to change by adapting approach when necessary. Mentors less experienced staff.
- Project Management – Has ownership in success of projects. Responsible for estimating and delivering on individual task within project. Shows the ability to be responsible for project timelines.
- Quality – Demonstrate the ability to conduct code review of others.
- Security – Validate and review secure processes and protocols. Ensure that processes/protocols are followed by junior level staff.
- Self Development – Responsible for continuous self-study, trainings, partnering with more senior members of team, and/or seeking out opportunities to broaden scope to stay up to date with industry and organizational trends. Seeks feedback from senior team members for development and effectively incorporates feedback into work and behaviors.
- Software Solutions – Develop, validate and implement software solutions based on customer requirements, Enterprise architecture standards and defined project designs.
- Troubleshooting – Solve multiple issues concurrently. Coordinate, delegate, and mentor less experienced staff with issue resolution.
- Typically has 5+ years of related work experience
- Experience with complex development environments, taking abstract concepts and ideas and formulating a detailed software deliverable
- Experience in developing on cross-functional systems
- Deep knowledge of developing complete systems Mastery of the SDLC
- Highly driven and self-motivated to exceed expectations
- Ability to work independently and demonstrated ability to lead in a team based environment
- Proficient in both oral and written communication
- 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.
- Experience with computer vision, image processing, machine learning, and simultaneous localization and mapping (SLAM).