Senior Embedded Software Engineer - Seattle, United States - Product Creation Studio

    Product Creation Studio
    Product Creation Studio Seattle, United States

    1 month ago

    Default job background
    Technology / Internet
    Description

    Senior Embedded Software Engineer

    Product Creation Studio is an award-winning, fast-paced, full-service product development firm located in Seattle's booming South Lake Union tech center. We are searching for an exceptional Senior Embedded Software Engineer, to join our dynamic and talented team. Our diverse group moves ideas from sketch to reality with a wide range of clients. As an Embedded Software Engineer at Product Creation Studio, you will work closely with a multidisciplinary team of engineers and designers from our team, our clients, as well as engage third party suppliers to drive key aspects of product definition, design, optimization, implementation and test. We are obsessed with creating inspiring products that enhance people's lives for consumer, research, industrial and medical applications and we have fun doing it

    PCS is a collaborative environment where good ideas can come from anyone. We work in an open studio where we fuse passion and expertise in strategic design and precision engineering to create, innovate, and solve complex challenges for our clients across the consumer, medical, and industrial fields.

    PRINCIPAL RESPONSIBILITIES:

    • Develop/modify BSP code with production intent: this can include bootloaders, device drivers, kernel and device tree support
    • Practice proper software version control and documentation practices
    • Authoring design documents and software/firmware test plans
    • Interact with internal and external customers with professionalism
    • Performs analyses to optimize total system architecture for affordability, safety, reliability, maintainability, testability, regulatory, and certification
    • Design and implement software for execution on custom embedded platforms, including drivers and board support packages and participate in system architecture design, including RTOS and processor, microcontroller, and peripheral selection decisions
    • Collaborate closely and drive the resolution of technical issues by working with cross-functional teams such as industrial design, mechanical, electrical, systems architecture, product design, NPI, and supply chain
    • Participate and lead collaborative design reviews of HW+SW designs to ensure the system functions as designed prior to prototype fabrication
    • Perform lab measurements and testing as needed to validate the HW+SW system design and resolve any issues
    • Track test progress, bugs, and fixes and produce regular written and verbal progress reports
    • Design, implement, debug, and characterize embedded systems with end-to-end ownership of software system design from concept to production
    • Applicable areas of technical expertise include register level interfacing, RTOS integration, version control systems and configuration management, unit test, C, C++, C# programming languages, Bluetooth and BLE, I2C, SPI, single wire and multi wire serial and parallel interfaces, IoT security considerations, power management, low power considerations, real-time coding, implementation on resource constrained 8-bit microcontrollers up to high performance memory rich 32-bit systems, implementations with hardware timers, PWMs, ADCs, DACs, and IMUs.

    BASIC QUALIFICATIONS:

    • BS in Computer Science, Electrical or Computer Engineering
    • 8+ years professional experience as an Embedded Software Engineer developing production software.
    • Strong proficiency across multiple embedded development languages, including C/C++, embedded Linux and Windows OS and assorted scripting languages such as Python, microPython
    • Expertise with common embedded tool chains (e.g. GCC, Keil, IAR, CCS) and version control systems (e.g. Git, etc)
    • Able to read and understand digital system schematics along with peripheral and processor datasheets in order to develop drivers and hardware specific features.
    • Working knowledge of I2C, SPI and UART serial communications
    • Experienced with low latency and high data throughput architectures
    • Experience in developing, modifying, and debugging drivers, bootloaders, or board support packages (BSPs).
    • Strong electronics knowledge with the ability to debug digital subsystems using electronic test equipment such as logic analyzers and oscilloscopes.
    • Experience with interpreting datasheets and developing device drivers for sensors and ICs
    • Experience with Bluetooth Low Energy (BLE) and associated vendor SDKs
    • Experience with ARM-CortexM and ARM-CortexA based processors, GNU toolchains/IDEs
    • Excellent written and verbal communication skills as well as analytical and problem-solving skills
    • Comprehensive understanding of the product development, validation, and support life cycle for a complex vertical product
    • Ability to meet Product Creation Studio, customer and/or government security screening and background check requirements are required for this role.

    PREFERRED QUALIFICATIONS:

    • Advanced degree in CS, CE, EE or related
    • Experience with software development targeted for embedded software systems
    • Familiarity with multi-processor systems and communications
    • Experience managing a product from early design all the way through being shipped and supported to a real world customer
    • Knowledge of Linux kernel internals (scheduling, memory management, IPC, file systems, etc), as well as the 'systemd' suite
    • Knowledge of networking and associated network protocols
    • Creating unit tests and user-interfaces for hardware bring-up
    • Understanding schematics, experience with logic analyzers, JTAG, oscilloscopes, spectrum analyzers
    • Familiarity with CMake
    • Software Security experience: authentication/encryption, hardware accelerators, security fundamentals
    • Bare metal and Embedded RTOS application architecture
    • Demonstrated experience bringing new products to market
    • Experience running signal integrity simulations