Laird Careers Careers
Embedded Software Engineer
Based in Eagan, MN; Raleigh/Durham, NC; Madison, WI or Cedarburg, WI (with 8+ years of experience) the Embedded Software Engineer will be focused on Cellular applications and responsible for embedded software development within the wireless technology device industry. This role will also be responsible for developing state of the art consumer, medical, and industrial products for a wide range of wireless device applications. Applied wireless technologies include; Cellular, Wi-Fi, Bluetooth, and proprietary solutions predominately in the 900MHz and 2.4GHz 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 are 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.Responsibilities
- Leads 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
- Prepares, reviews and approves documents, including requirements analysis, design, unit testing plans, release notes and user guides etc. while working closely with customers and other technical leaders.
- Designs, implements, tests and debugs complex embedded systems software.
- Coordinates and participates in software design reviews and code reviews.
- Develops test protocols and procedures for design verification.
- Collaborates effectively with a team of other highly skilled interdisciplinary engineering professionals
- Personally meet with customers to gather project scope & capture requirements
- Works with sales team and customers to accurately scope and estimate project efforts and provide technical support
- Works closely with Project Management to plan and track project milestones and project issues/risks
- Delivers training, supervision and mentoring to the software engineering team
- Investigates, recommends and implements new technologies
- Ability to lead projects with no direct supervision and deliver results against milestones and deliverables
- Rich 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
- Excellent interpersonal, analytical, written and verbal communication skills
- Strong knowledge and experience with the C language. Preferred experience in C++ and/or assembly and scripting languages (Python, PERL, etc.)
- Rich knowledge of common peripherals and interface drivers (e.g., SPI, I2C, UART, USB)
- Working knowledge of the ARM architecture including a thorough understanding of interrupts and interrupt handling
- Must have wireless industry knowledge and experience in Cellular based systems (GSM, WCDMA, CDMA, CDMA2000, HSPA, LTE, etc.) including familiarity with radio communication testers.
- Preferred experience with Linux based Cellular systems
- Preferred experience with Linux on ARM and/or x86 and basic understanding of Linux scheduling algorithms.
- Preferred experience developing Linux devices drivers and application development, cross-compiling toolchains for ARM and/or x86 and debugging system issues
- Preferred experience and understanding of the 802.11 stack, BlueZ and Android in Linux
- 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)
- Bachelor's degree in Computer Science or related field preferred. Master’s degree or PhD is desirable. Experience may be substituted in lieu of degree
- Minimum of 8 years’ experience in software development
As an Equal Opportunity/Affirmative Action Employer, Laird 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.