bb7 is looking for a Software Engineer for one of its clients, a leader in the outdoor sports industry, to contribute to the embedded software engineering on new electronic product development across a variety of brands and product categories. Develop innovative, industry leading solutions and play a key role as the company builds upon and grows their expertise developing high-performance and reliable systems.
- Design architectures and develop working software/firmware, targeting embedded systems, including communication with mobile devices and back-end services. Participate in full lifecycle software development for custom IoT software stack including device-side embedded C & server/test-side Python.
- Write well designed, testable, effective code. Develop software verification plans and quality assurance procedures. Conduct and contribute to code reviews for software and design reviews for embedded hardware.
- Contribute to the creation, use and adherence to evolving standards for design rigor and verification within the company’s growing software and electrical engineering team.
- Support projects from conception through product launch within a global team setting. Understand user needs and implementation strategy. Work closely with team leaders and product managers to understand and refine product concepts. Collaborate with embedded hardware engineers, test systems engineers and software quality assurance to develop jointly optimized, robust product architectures. Facilitate problem resolution within the design team, with suppliers and with customers.
- Own, estimate and track progress for tasks through all stages of a project to meet desired performance, cost and time-to-market goals.
- Participate in the selection, design and development of:
- digital architectures and firmware including microprocessors, clocks, memory and logic
- drivers and interfaces to ADCs, DACs, high performance low-noise data acquisition, sensors and electromechanical systems such as motors, motor controllers, strain gauges, accelerometers and hall effect sensors
- battery-powered systems, high efficiency power supplier
- unlicensed wireless/RF solutions including SoCs, transceivers, antennas and supporting circuitry
- embedded communications via UART, SPI, I2C and JTAG
- Provide supporting design documentation, including design specifications, design options, tradeoffs and choice rationale, experimental results and tuning procedures.
- B.S. degree in Computer Science, Electrical Engineering or equivalent.
- Minimum of 3 years of experience with C/C++ software development on one or more embedded platforms, with experience deploying a released-to-market product. Knowledge and mastery of managing MCU peripherals and interfacing to subsystems via UART, SPI, etc.
- Solid mastery of software development tools including build management, debuggers, version control and bug tracking.
- Python scripting and Linux/gcc/make development environment experience.
- Excellent verbal and written English communication skills. Strong interpersonal and team skills are required.
- Development within established agile software development methodologies and principles focusing on reusability, maintainability, minimized complexity, high cohesion and low coupling.
- Prior international cross-functional team experience. Ability to travel domestically and internationally to work with a global distributed team.
- Algorithm-level design contributions to signal processing & control systems.
- Design ownership involving one or more of the following technologies.
- 802.15.4 / Zigbee
- Bluetooth / BLE / Bluetooth Smart
- ANT personal network protocol
- Real-Time embedded operating systems (RTOS)
- ADC/DAC and sensors such as strain gauges, accelerometers, hall effect sensors, etc.
- Project experience having designed, analyzed and improved the security of a device communications network. Knowledge of security-related topics such as authentication, data protection, encryption & cryptography, hashing, software attack methodologies, threat analysis and secure data transfer & storage.
- Hardware design analysis and joint hardware/software debugging using oscilloscopes and logic analyzers.
- Hands-on experience interfacing embedded software with mobile devices or back-end web applications.
- Experience with test-driven development, continuous integration.
- Modeling designs using UML and associated development tools; develop use cases to model real-time systems behavior.
- Experience working in a quality-driven culture, where brand reputation is made or lost based on the reliability of new products.
bb7 offers a culture that values its talented staff members and rewards creativity. We understand that the quality of our staff’s lives is reflected in the quality of their work.
bb7 and its Clients are equal opportunity employers and do not discriminate in employment on the basis of race, color, religion, sex, national origin, political affiliation, sexual orientation, veteran status, marital status, disability, age, membership in an employee organization, or any other classification protected by federal, state, or local law. We participate in E-Verify.