Firmware Engineer

POSITION OVERVIEW
Our expanding, entrepreneurial technology company is seeking an innovative, engaged, and hands-on Firmware Engineer to help us develop our new line of intelligent devices and home connectivity solutions.

Candidates should be savvy and comfortable designing, programming, and troubleshooting electronic devices controlled by microprocessors and microcontrollers, and their associated peripherals. In particular, experience with wireless communication interfaces and protocols such as WLAN and Bluetooth will be advantageous.

The ideal candidate will feel at ease participating in a highly collaborative environment, and at the same time working with minimal supervision in assigned duties. This position will report to the VP of Product Development.

RESPONSIBILITIES
Responsibilities of the Firmware Engineer include, but are not limited to:

  • Demonstrate ability to select and develop the most
    feasible firmware architecture to best perform the required features and
    functionality of all products. 
  • Research, design, and implement highly reliable,
    scalable, extensible, maintainable, global, and operable products and
    platforms. 
  • Help identify the necessary hardware architectures and
    component selections to accommodate firmware 
  • functions and features. 
  • Build systems that balance resources, constraints,
    requirements, and complexity by analyzing all options for designing and
    deriving the best solution based on sound analytical judgment. 
  • Identify and implement appropriate design,
    development, and testing methodologies, best practices, coding standards,
    documentation, and tools to verify the functionality and performance of the
    selected architecture. 
  • Support customer service for any technical issues and
    problems. 
  • Research and identify causes of reported bugs, errors,
    and issues to initiate corrective actions to effectively resolve hem in a
    timely fashion. 
  • Remain abreast of technological advances in the field
    and be able to identify areas of use in the organization. 
  • Define complete algorithm and flow charts for each
    product to perform planned tasks over defined hardware architecture. 
  • Operate independently but work within the Product Development team to understand and be fully aligned with company goals and strategies. 


REQUIREMENTS

  • Bachelor of Science degree in Computer Science or
    related technical discipline; or, equivalent demonstrable experience 
  • Proficiency in Apple computers and software, the Mac
    OS and iOS for mobile devices 
  • Minimum of 3 years of experience in performing
    embedded system development 
  • Passion for working with technology and excitement
    designing for innovative, high-quality consumer technology 
  • products, along with proven technical abilities and a
    forward-thinking approach 
  • Experience coding for the ARM Cortex architecture (M
    and A cores), using the Keil MDK and GNU GCC development environments with
    Assembly, C and C++ 
  • Strong debugging and troubleshooting skills using
    scopes, probes, debuggers, and analyzers, and the capacity toidentify or
    develop any necessary testing software or tools 
  • Experience connecting with communication, sensor and
    controller peripherals through UART, SPI, I2C, SDIO, and USB interfaces, and
    developing drivers for them; expertise with imaging sensors for video
    streaming a plus 
  • Experience programming applications in both embedded
    Linux and compact RTOSes (e.g. Keil RTX, FreeRTOS, Micrium uC/OS) in
    resource-constrained systems; Linux driver development desired 
  • Deep understanding of wireless LAN networks (802.11)
    and TCP/IP communication protocols and stacks; acquaintance with message queue
    libraries (RabbitMQ, ZeroMQ) and zero-configurations frameworks (Apple
    Bonjour) a plus 
  • Previous exposure to Bluetooth protocols and BTLE
    devices (or competing RF technology) highly desirable 
  • Familiarity with SDLC processes, implementing unity
    and regression tests, and participating in peer code reviews; good code
    management practices using version control (SubVersion, Git) and documentation
    tools (Doxygen) 
  • Ability to quickly comprehend and adapt code developed
    by external third parties 
  • Understand functionality and control techniques for electronic hardware, and the capacity to interpret schematics 

Include a message to the recruiters.
Attach a resume file. Accepted file types are DOC, DOCX, PDF, HTML, and TXT.

We are uploading your application. It may take a few moments to read your resume. Please wait!