Finding the best job has never been easier
Share
As a Software System Architect – Ring you will engage with an experienced cross-disciplinary team across multiple product line & platforms to conceive, architect 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. Horizontally you will be given to opportunity to work and own firmware and platform across all Ring device categories. Beyond technical skills, you have a strategic mindset with the ability to foresee long-term implications of architectural decisions, able to anticipate future trends in technology and adapt the system architecture accordingly.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.
- 5+ years of non-internship professional software development experience
- 5+ years of programming with at least one software programming language experience
- 5+ years of leading design or architecture (design patterns, reliability and scaling) of new and existing systems experience
- Experience as a mentor, tech lead or leading an engineering team
- Comprehensive understanding of micro-controller and microprocessor architectures (E.g. ARM Cortex, RISC-V), allowing the architect to make informed decisions about hardware software partitioning.
- Expertise in hardware-software co-design, ensuring that software is optimized for the hardware it runs on, and that hardware choices are made with software requirements in mind.
- Expertise in optimizing software for performance, memory foot print, thermal, power consumption, critical for embedded systems and resource constraints.
- Proficient in understanding the budget constraints (CPU, RAM, FLASH, I/O etc.) and designing the firmware & software for multi-SoC systems to exceed the performance.
- Strong and proven ability to perform risk management and trade-off analysis, balancing factors like cost, performance, power consumption, thermals and development time to arrive at the optimal system design.
- Proven track record of strong collaboration skills with the ability to work effectively with cross-functional teams (hardware/ Software engineers, product managers, project/program managers, Quality Assurance teams, Factory, Compliance etc.) and articulate complex technical concepts/ solutions to both technical and non-technical stakeholders.
- Deep understanding of power management techniques, including dynamic power scaling, sleep modes, and energy efficient software design, crucial for battery operated and/or energy harvesting systems (E.g. Solar panel etc.).
- Proficiency in integration various components (hardware, software, 3P modules) into a cohesive system ensuring compatibility and optimal performance.
- Proficient in cross-platform development in designing & maintaining software architectures that are portable across different hardware platforms, ensuring that the system can be scaled or adapted to new products.
- Proficiency in designing the overall system architecture, including defining software and hardware interfaces, selecting appropriate technologies, and ensuring all Non-Functional Requirements (NFRs) - performance, Security, Reliability, Scalability, Maintainability and Automation of new and existing systems experience.
- Advanced knowledge of embedded system security, including secure boot, encryption, authentication, and intrusion detection to design systems that protect against vulnerabilities – proficient in thread modeling & security certification.
- Strong foundation in embedded software development with a focus on Languages like Embedded C, Assembly, C++ and guiding the platform teams to make informed decisions about low level software implementations.
- Proficient in Real Time Embedded System domain and 16/32-bit Micro-controllers/ SoCs based firmware/ Software design & development for deterministic behavior.
- Working knowledge with RTOS (FreeRTOS, VxWorks 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 and management of SDLC including Agile methodologies, build & cross compilation tools - SCM with Pre-CI/CI/CD pipelines.
- Experience as a Leader, mentor, problem expert, technical solution architect who plays a key role in guiding and supporting the development team throughout the product life cycle and during sustenance
- 5+ 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.
- Proficiency with tools like MATLAB/ Simulink for model-based design, simulation, and auto-code generation allowing for early verification and validation of system behaviors.
- Deep knowledge and understanding of Board Schematics, Sensors (ALS, PIR, Radar, Cameras) , Peripherals with communication protocols (UART, SPI, I2C, SDIO, Ethernet), networking standards (TCP/UDP, IPv4/IPv6, MQTT) device/peripheral drivers and customization for efficient data communication pathways between embedded systems and to the Cloud .
- Practical Knowledge & customization experience on low level BSP, Device Drivers and HAL.
- Integration & customization experience in RTOS/Linux (including kernel configuration)/BSP frameworks, middleware Frameworks (OTA), device drivers, user-space applications and WiFi/Bluetooth Network Stacks from open source and/or semiconductor vendors.
- Familiarity with integrating ML models and AI algorithms into embedded systems especially for tasks like sensors data analysis, image recognition and/or predictive maintenance.
- Understanding of industry-specific standards and regulatory requirements (E.g FCC, ETSI, UL, ISO etc.) to ensure that the system meets all necessary certifications and safety requirements
- Multimedia & Streaming Framework knowledge (Audio/Video subsystem, DMIC, Speaker, Codecs) along with DSP techniques to design effective signal processing pipelines will be a plus.
These jobs might be a good fit