Principal Software Engineer
Job Description
Description
CORPORATE SUMMARY
The Company
Beacon EmbeddedWorks is a full-service provider of embedded solutions. Its innovative System on Modules (SOMs) are backed by an extensive suite of customization, security, and support services and its dedicated team of experts provide in-house manufacturing and support to accelerate development and reduce risk.
All Beacon EmbeddedWorks SOMs are designed, manufactured, and supported in its US-based facility in Eden Prairie, MN. As dependable, pre-certified, and feature dense solutions, Beacon EmbeddedWorks SOMs serve the most strenuous applications, including medical, aerospace and defense, and industrial markets. Beacon EmbeddedWorks operates mostly in the US but also has a small customer base in continental Europe and the APAC.
Beacon EmbeddedWorks is part of the Design & Manufacturing division of discoverIE Group plc, a British company listed on the main London stock exchange where it is a member of the FTSE 250 index.
What does joining Beacon mean for you?
- We are a Top 200 Workplace as voted by our employees
- Multiple options for medical and dental coverages
- Paid life insurance and disability coverage
- 401k with match
- 128 hours of time off per year to start
- Paid holidays
- Working for a company that helps save lives with some of our products
POSITION SUMMARY
The Principal Software Engineer performs research, designs, tests, and implements application software on a variety of embedded and desktop platforms
Reports to: Senior Manager of Engineering
Location: Eden Prairie, MN office
Starting Salary Information: $120,000
Key Responsibilities: Supervisory Responsibilities
This role has no direct supervisory responsibilities but does serve as a coach and mentor for other positions in the department
Essential Duties & Responsibilities:
- Instruct, direct, and check the work of other design engineers
- Able to work with a team of engineers located in-house or offshore and manage partners as needed
- Translate product requirements into implementable designs and architectures
- Design and develop software for 8, 16, 32 and 64-bit processor platforms
- Design and develop software in assembly language, C, C++, Python, C#, Java and other languages
- Design and develop software for bare metal, RTOS, Linux, Android and QNX platforms.
- Very good understanding of the Linux and Android AOSP system architecture
- Design and develop device drivers for USB, ATA, Video, Audio, Ethernet, CAN, NAND flash, NOR flash, DDR3/4, SDRAM, HDMI, PCI Express, SPI, I2C, and other devices
- Experience developing software solutions for wireless technologies such as 802.11, WiFi, Bluetooth, GPS, and cell technologies.
- Conduct design analysis on software assets to assist in the development process by ensuring designs are maintainable, customer focused and reliable
- Prepare technical data such as design verification test documents, software development plan, software design specifications and software requirements specifications
- Analyze business requirements and document a suitable technical approach for internal and external (customer) 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 engages 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
Essential Responsibilities of all Beacon EmbeddedWorks employees
- Support, demonstrate and drive our core values
- Interact positively and professionally with all employees and customers
- Maintain reliable attendance
- Perform work safely and adhere to all safety requirements
- Perform other duties as assigned
Job Qualifications Required Qualifications:
- 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 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
- Experience with embedded Linux and Android, IOS device drivers, board support packages and application development is a required qualification. Similar experience with Windows CE and RTOS is highly desirable
- 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
- 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 MS Office products including MS Project
- Familiarity with TCP/IP, Internet protocols, Routing protocols and networking is desirable.
- Ability to work in a fast-paced environment with quickly changing priorities to ensure superior customer satisfaction
- Experience with Agile/Scrum Development
Other Considerations
Physical Demands
The physical demands and work environment described here are representative of those that must be met by an employee to successfully perform the essential functions of this job. Reasonable accommodation may be made to enable individuals with disabilities to perform the essential functions.
- While performing the duties of this job, the employee is regularly required to use hands and fingers to handle, feel, or operate objects, tools or controls, and reach with hands and arms
- Specific vision abilities required by this job include close vision, and ability to adjust focus
- The employee may occasionally lift and/or move up to 10 pounds
Work Environment
The work environment characteristics described here are representative of those an employee encounters while performing the essential functions of this job. Reasonable accommodation may be made to enable individuals with disabilities to perform the essential functions.
- The noise level in the manufacturing area is moderate
- The noise level in the manufacturing area is moderate
- Travel is infrequent
Position Type/Expected Hours of Work
- This is a full-time, on-site position
- Typical days and hours of work are Monday through Friday, 8am -5pm, but does allow for some flexibility
- It may be necessary to work more than 40 hours per week at times to produce the required results
Work Authorization
- The candidate must meet the definition of “US Person” under ITAR/EAR regulations
Beacon EmbeddedWorks is an Equal Employment Opportunity and Affirmative Action Employer
Please note: This position is not eligible for external recruiter or agency placement and is not open to placement remuneration of any kind. All applications must be submitted directly by the candidate, free from external representation, to be considered for the position.
Company Information
Location: Eden Prairie, MN
Type: Hybrid