Laird Careers Careers

Software Engineer

Cedarburg, Wisconsin

Job Description

Job Summary

Embedded Software Engineer with 8 years or greater experience that is responsible for embedded software development within the wireless technology device industry developing cutting edge solutions for the next generation of IoT platforms and devices.  Applied wireless technologies include; Bluetooth, BLE, Wi-Fi, LoRaWAN, Cellular IoT plus proprietary solutions predominately in the 900 MHz and 2.4 GHz bands. Cross discipline development experience is an added desired attribute. 

This is a senior integrated embedded software leadership position where system level design and development is coordinated within a team of additional alternate discipline design Engineers such as; Hardware/RF, Mobile Developer, CAD Engineer, Industrial Design Engineer, Mechanical Design Engineer, and EMC Engineer. Project management skills related to developing project proposals, managing project scope, budget, and schedule are essential.

  • Lead software development engineering projects following a formal process, including: requirement development and analysis, architecture design and optimization, communication protocol development, high and low-level software development, code reviews, use of software standards, and testing.
  • Prepare, review and approve documents, including requirements analysis, design, unit testing plans, release notes and user guides etc. while working closely with customers and other technical leaders.
  • Design, implement, test and debug complex embedded systems software.
  • Coordinate and participate in software design reviews and code reviews.
  • Develop test protocols and procedures for design verification.
  • Collaborate effectively with a team of other highly skilled interdisciplinary engineering professionals.
  • Effectively engage with Product Management to gather project scope & capture requirements.
  • Work with Product Management and Sales to accurately scope and estimate project efforts and provide technical support.
  • Work closely with Project Management to plan and track project milestones and project issues/risks.
  • Deliver training, supervision and mentoring to the software engineering team.
  • Investigate, recommend and implement new technologies and processes.
  • Ability to lead projects with little supervision and deliver results against milestones and deliverables
  • Solid knowledge on defining project scope, deliverables and team requirements
  • Able to work successfully in a deadline-driven, fast paced environment and effectively multi-task priorities in a team-oriented environment while being flexible and adapting to changing requirements and schedules
  • Strong knowledge and experience with the C language. Preferred experience in C++. Experience with any of the following is a plus: C#, JavaScript, Python.
  • Rich knowledge of MCU peripheral and interface drivers (e.g., SPI, I2C, UART, ADC, PWM)
  • Proven knowledge and experience with task schedulers and real-time operating systems on embedded systems. FreeRTOS and Zephyr are desirable.
  • Wireless industry knowledge or experience that includes one or more of the following wireless software protocols is strongly desired: Wi-Fi, Bluetooth, BLE, LoRaWAN, LTE-M, DSSS/FHSS proprietary
  • Working knowledge of the ARM Cortex architecture and a thorough understanding of interrupt handling
  • Experience with low-power designs, implementation and troubleshooting
  • Preferred experience with Keil, IAR Embedded Workbench, GCC, Make, Git
  • A working knowledge of embedded hardware (digital, analog, RF), ability to read and interpret schematics, debug common hardware issues, and generate power calculations.
  • Familiar with the use of HW/FW debugging tools (DVM, Oscilloscope, Logic Analyzer, Spectrum Analyzer)
  • Experience with the following is a plus: boot-loaders, networking protocols and extensions such as TLS/SSL, MQTT, HTTP, JSON-RPC, statistical methods for wireless system design
  • Excellent interpersonal, analytical, written and verbal communication skills with a strong attention to detail
Education & Experience Request
  • Bachelor's degree in Computer Science or related field preferred. Master’s degree is desirable.
  • Minimum of 8 years’ experience in software development
  • Experience may be substituted in lieu of degree

As an Equal Opportunity/Affirmative Action Employer, Laird Connectivity does not discriminate in hiring or in the terms and conditions of employment because of an individual's race, color, religion, gender, national origin, age, disability, sexual orientation, marital status, veteran status, gender identity, citizenship or other categories protected by federal, state or local laws. EOE/M/F/Vet/Disability/Sexual Orientation/Gender Identity.