Principal Software Engineer
Job DescriptionJob Description
We have partnered with a cutting-edge data company to make an important senior engineering hire.We are looking for a collaborative, customer-focused, and creative principal software engineer to develop a high-performance mobile application framework that powers on-device machine learning models, enabling advanced data processing on Android and iOS platforms.
Responsibilities:
As part of a small, fast-paced team, tackle complex problems and turn them into effective business solutions.
Analyze and convert business and functional specifications, as well as change requests, into actionable technical specifications for implementation.
Independently break down complex technical requirements into manageable, implementable components; develop high-performance software solutions that are maintainable, scalable, reliable, and testable.
Participate actively in code and design reviews to ensure quality and alignment with best practices.
Adhere to company-defined development and operational standards and processes.
Take on additional tasks as they arise, supporting team and project needs.
Requirements:
Experience developing platform-independent software libraries in modern C++ (C++11 or later dialects)
Experience optimizing code for CPU and memory efficiency
Excellent communication and collaboration skills
Customer obsessed, demonstrates initiative, has a learning mindset, takes ownership
Proven ability to deliver results
An analytical mindset
Experience with real-time streaming systems
Signal processing expertise
Python knowledge, especially with libraries used by data scientists (NumPy, Pandas, SciPy, etc.)
Familiarity with Machine-Learning libraries (PyTorch, CoreML, TensorFlow, etc.) a plus
Experience in Android development
Experience in iOS development: Swift, Objective-C a plus
Experience in Python extension development such as Pybind