Rockwell Automation, the world's largest company dedicated to industrial automation and information. The company helps customers through leading technologies and a comprehensive portfolio of products, software and services. We are among 100 the most ethical companies globally.
Work collaboratively as a member of an Embedded Software Engineering team to perform diverse work tasks in software development for embedded systems. This development may involve Programmable Automation, Visualization, Communications, I/O systems or Industrial Automation Software. This will include modern embedded operating systems applied to custom in-house hardware.
Lead the design, development, troubleshooting and debuging of software programs for software enhancements or new products. Determine hardware compatibility and/or influence of hardware design.
Utilize wide-ranging experience, professional concepts and company objectives to resolve complex issues in creative and effective ways.
Lead or participate in creation of or reviews of; documents, designs, code, test cases and user documentation.
Perform unit or functional testing of developed software to ensure correct operation per functional requirements and compatibility with other components in the system.
Contribute and influence software development capability by keeping abreast of current trends in the areas of software development practices, technology utilization and development tools.
Frequently interact with peers and customers to gain cooperation of others or conduct presentations of complex technical information/project activities. Establish operational objectives and work plans. Network with key contacts outside own area of expertise.
Strong accountability to assignments, keeping in mind the guiding principles; Customer Focus, Sense of Urgency, Performance to schedule and Quality.
Minimum Qualifications
- Minimum of a completed Bachelor of Science Degree in Electrical Engineering, Computer Engineering or similar Engineering discipline with a concentration in software.
- Minimum of 8 years of relevant work experience.
- Proven technical leadership involving development of embedded systems involving software operating systems and digital hardware.
- Programming and development experience involving C and C++ is required.
- Proficiency in English language, both written and spoken.
Desired Qualifications
- Programming and development experience with multiple contemporary embedded operating systems is desired, such as; Microsoft Windows 10 kernel and driver development, Windows CE and embedded Linux (experience involving Linux kernel development, the Yocto Project/OpenEmbedded environment, Linux filesystems, Linux security hardening, and package management).
- Experience with the use of tools such as In-Circuit Emulators, Logic Analyzers, embedded monitors, Build tools (gcc, make, cmake, bitbake) and other such development tools.
- Board Support Package (BSP) development level experience with Intel x86 technologies and interfaces such as SPI, I2C, PCI/PCIe.
- DevOps experience, understanding of Jenkins and containers, Git source control proficiency, standard scripting languages (Python, Powershell, Bash, etc).
- Experience with Bootloader, PC-BIOS, ACPI, and UEFI development.
- Experience with Agile software development methodology.
- Advanced courses in engineering or computer science would be beneficial. Course work covering software requirements analysis, software design, software engineering and software testing is desired.