Musco Lighting Senior Software Engineer / Firmware Engineer in Oskaloosa, Iowa
The Senior Software / Firmware Engineer will be involved in all aspects of software and firmware development for a variety of lighting-related communication and control products, including concept development; firmware development, including generation of detailed design and test documentation; and product and system-level verification and validation, including oversight of field trials and associated data analysis. The ideal candidate will be a self-motivated team player, with a willingness to learn and displaying creative problem-solving skills.
Principal Duties and Responsibilities:
Assist in developing and writing specifications for new products and systems.
Independently perform software/firmware development for complete products:
Design and create all code required for a complete product or significant portions of code for large products/applications.
Conduct design/code reviews with peers, Test Engineering, and others to ensure designs meet functional requirements.
Develop and execute module, assembly, application, and system testing as appropriate to verify functionality. Develop methods for measuring and documenting functional performance. Work with technicians and junior engineers to execute and document tests when appropriate.
Work with hardware developers as needed to complete overall product development.
Lead efforts to install and test products at Beta sites, working with other departments as necessary. May require travel to sites.
Work with other groups to release code for use by vendors, Musco Manufacturing, and others as needed.
Assist in selecting new component families (e.g. microcontrollers), communication methods and protocols, hardware interfaces, and so on.
Assist in developing design methodologies, choosing development tools, and so on.
Mentor less experienced engineers in technical topics and development best practices.
Participate in product design reviews, recommend design changes, recommend test strategies, and provide technical support and direction as needed.
Support application engineers and project managers with product issues as needed.
Support Warranty, Field Service, and Manufacturing departments with product issues as needed.
Perform other related duties as assigned.
Education & Experience Requirements:
Bachelor’s Degree in Electrical Engineering, Electrical Engineering Technology, Computer Engineering, Computer Science, or equivalent.
Minimum of 10 years of experience in an R&D role performing software/firmware development, testing, and support.
Experience with control systems is strongly preferred.
Experience with real-time operating systems is strongly preferred.
Experience with desktop and embedded Windows or embedded Linux programming is preferred.
Experience with Microsoft Azure is preferred.
Experience with Access and/or SQL programming is preferred.
Demonstrated PC proficiency in Microsoft Office.
Comprehensive knowledge of software development tools and methods.
Comprehensive knowledge of C programming and C++ programming using object-oriented design.
A basic understanding of hardware concepts and development activities.
The ability to use common test and measurement equipment; oscilloscopes, multimeters, etc. is strongly preferred.
Other Special Requirements:
Up to 5% travel may be required. Travel includes trips to job sites, seminars, corporate and manufacturing facilities, and vendors.
Overtime is required as needed including weekends.
Equal Opportunity Employer/Protected Veterans/Individuals with Disabilities
The contractor will not discharge or in any other manner discriminate against employees or applicants because they have inquired about, discussed, or disclosed their own pay or the pay of another employee or applicant. However, employees who have access to the compensation information of other employees or applicants as a part of their essential job functions cannot disclose the pay of other employees or applicants to individuals who do not otherwise have access to compensation information, unless the disclosure is (a) in response to a formal complaint or charge, (b) in furtherance of an investigation, proceeding, hearing, or action, including an investigation conducted by the employer, or (c) consistent with the contractor’s legal duty to furnish information. 41 CFR 60-1.35(c)