DESCRIPTION
Ring organization’s mission is — “Keeping people close to what’s important”. We innovate rapidly on behalf of our customers and deliver ambiguous and ambitious technical products.
As a Software Development Engineer – Dual Powered Devices (DPD) you will engage with an experienced cross-disciplinary team to conceive and design innovative consumer products. Vertically your ownership can span across application, device framework, platform, network stack, Over the Air updates (OTA), protocols, Set-up, drivers, Operating Systems/ bare metal and low-level wireless controllers. You are expected to have strong working knowledge of Linux and RTOS. Horizontally you will be given to opportunity to work and own firmware and platform across all Ring device categories.
You will work closely with the Engineering leaders from cross functional teams, product management, hardware, Technical Program managers, operations, application, firmware, platform, and quality assurance teams. You must be responsive, flexible, and able to succeed within an open and collaborative peer environment. The DPD Platform team is responsible for the complete device side software for DPD Ring devices. This includes delivery and maintenance of an evolving feature rich, high-performance, low-power, stable platform.
Key job responsibilities
•Work with cross functional teams to provide technical solutions for desired user experiences.
•Implement high-quality Core Platform, framework, network stack and application features.
•Knowledge of professional software engineering practices & best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations
•Implement the right metrics, debug tools and integrate with backend solutions to continuously measure and improve on our solutions.
•Implement power management features, resolve thermal issues & performance bottlenecks in resource (CPU, Memory) constrained Platforms and devices.
•Work with teams to improve and tailor existing firmware, drivers, stack, and applications to our needs. Improve memory footprint, optimize drive, stack and application code.
•Work with the hardware team to ensure correct exercising of hardware and RF architecture.
•Support compliance and certification activities.
A day in the life
Your work is very hands-on and multi-disciplinary. You will be defining and building firmware, platform, and network solutions and work closely with vendors, engineers, and product teams. You write documents, carry out experiments, demonstrate proof-of-concepts, build prototypes, and ship sophisticated systems.
About the team
Ring offers smart security solutions that are dependable and reliable to make neighborhoods safer. You will be part of a fast-paced team that is passionate about delivering innovative solutions to complex problems.
BASIC QUALIFICATIONS
– 5+ years of non-internship professional software development experience
– 2+ years of non-internship design or architecture (design patterns, reliability and scaling) of new and existing systems experience
– Experience programming with at least one software programming language
– Adept in Non-Functional Requirements (NFRs) – performance, Security, Reliability, Scalability and Automation of new and existing systems experience.
– Proficient in Real Time Embedded System domain and 16/32-bit Micro-controllers/ SoCs based firmware/ Software design & development.
– Working knowledge with RTOS (FreeRTOS and Embedded Linux) with understanding on kernel internals and multi-threaded programming.
– Proven track record of troubleshooting issues using debuggers/ emulators/ loggers , identifying the root cause and resolving development/ Quality Assurance/ Trials and Field issues.
– Experience in day-2-day usage of build & cross compilation tools – SCM with Pre-CI/CI/CD pipelines.
– Experience as a mentor, tech lead or leading an engineering team.
PREFERRED QUALIFICATIONS
– 3+ years of full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations experience
– Bachelor’s degree in computer science or equivalent
– Deep hands-on experience in event driven bare metal and real time operating systems (RTOS) based firmware design and platform development.
– Understanding of Board Schematics, Sensors (ALS, PIR, Radar, Cameras) and Peripherals (UART, SPI, I2C, SDIO) device/peripheral drivers and customizations.
– Practical Knowledge & customization experience on low level BSP, Device Drivers and HAL.
– Integration & customization experience in RTOS/Linux/BSP frameworks, OTA Frameworks and WiFi/Bluetooth Network Stacks from open source and/or semiconductor vendors.
– Multimedia & Streaming Framework knowledge (Audio/Video subsystem, DMIC, Speaker, Codecs) will be a plus.