Develop and customize Linux board support packages (BSP) for Beacon’s products. This position focuses on bootloaders including U-Boot and the Linux kernel (Yocto and Buildroot based distributions). This is NOT an IT or application development role.
Instruct, direct, and check the work of other design engineers
Translate product requirements into implementable architectures
Design and develop software for 32 and 64-bit processor platforms
Design and develop software for bare metal, RTOS, Linux, Android and QNX platforms
Design and develop device drivers for USB, Video, Audio, Ethernet, CAN, NAND flash, NOR flash, DDR, SDRAM, HDMI, PCI Express, SPI, I2C, and other devices
Experience developing software solutions for wireless technologies such as 802.11, Wi-Fi, Bluetooth, GPS, and cellular technologies
Prepare technical data such as design verification test documents, software development plan, software design specifications and software requirements specifications
Support electrical engineering/hardware engineering with board bring-up and overall system debugging
Experience reading electrical datasheets and schematics
Analyze business requirements and document a suitable technical approach for internal projects and proposals
Complete assigned engineering projects within budgetary and scheduling guidelines
Communicate with engineers and project managers to coordinate and assure project completion; may manage an entire customer project
Provides technical leadership and help in improving development process and procedure
Actively engage with external technical community through writing or talks to promote Beacon EmbeddedWorks Solutions for business development purposes
Lead a multi-discipline development project
Mentor other engineers as they work through day-to-day technical challenges
Support, demonstrate and drive our core values
Lead, don't follow
Consistently deliver
Never stand still
Create relationships not transactions
Interact positively and professionally with all employees and customers
Maintain reliable attendance
Perform work safely and adhere to all safety requirements
Complete required training as scheduled
Perform other duties as assigned
Bachelor of Science in Computer Science, Computer Engineering, Software Engineering or equivalent
12+ years’ experience developing software for embedded processor platforms
Experience with embedded systems and microprocessor-based (MPU) design
Experience with all aspects of product design including: requirements documentation, system architecture, design for manufacturing, design for test and design verification
Experience working in teams including engineers from multiple engineering disciplines
Experience with managing teams of engineers in-house and offshore, and working with partners
Capable of providing day-to-day technical design leadership and mentorship
Ability to analyze customer requirements for feasibility, cost and development timeline
Strong communication skills including the ability to write technical specifications and design documentation, create and author templates for engineering documents, create project proposals with technical details, present verbally in one-on-one or group settings
Thorough technical knowledge of application software methodologies including OOA/OOD and Design Patterns
Understanding of CPU functions such as L1/L2 cache, MMU, power states, bus arbiters & multiplexers, interrupts, and DMA
Understanding of coding for embedded peripherals including Ethernet, USB, I2C, CAN, Flash, SPI
Ability to work in a fast-paced environment with quickly changing priorities to ensure superior customer satisfaction
Experience with Agile/Scrum Development
The candidate must meet the definition of “US Person” under ITAR/EAR regulations
Experience using Spectrum analyzers, Oscilloscopes, and JTAG debuggers is highly desirable
Experience with ARM, PowerPC, MSP430, PIC 32, and x86 processor cores is highly desirable
Experience with embedded Linux, Android, and RTOSs at the application, device-driver and board support package level is highly desirable
Familiarity with TCP/IP, Internet protocols, Routing protocols and networking is desirable