Position Reports To: Manager, Embedded Software Engineering
Business Area: Control and Visualization Business Location: Katowice, Poland
Rockwell Automation is a global leader in industrial automation and information solutions, where innovation is critical. With our Integrated Architecture™ control and information system, Intelligent Motor Control portfolio and components offering, we bring together products and technologies that shape our future — and help organizations achieve Smart, Safe, and Sustainable Manufacturing.
Our culture:
- We are a highly ethical company, named by Ethisphere as one of the world’s most ethical companies for the last 11 years.
- Interested in volunteerism? Each year, hundreds of Rockwell Automation employees donate their time and talent to make their communities and the world a better place. The Rockwell Automation Volunteer Recognition Program acknowledges the outstanding achievement of those who reach out to others and celebrated their stellar service.
- We promote a culture of inclusion – with over 12 affinity groups; Rockwell Automation seeks to improve the careers and engagement of our employees by advocating for an inclusive workplace culture.
Here are a few exciting events that Rockwell Automation supports:
- Automation Fairs
- RSTechED (a week long software training event)
- Annual Software Contests
- STEM and FIRST (Initiatives promoting Science, Technology, Engineering and Mathematics)
- Leadership Development Programs
Come and be part of our tradition of excellence!
Rockwell Automation is an equal opportunity employer.
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.
- Design, develop, troubleshoot and debug software programs for software enhancements or new products. Determine hardware compatibility and/or influence of hardware design.
- Utilize wide-ranging experience of area of specialization; resolves wide range of issues in creative ways 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 to 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 technical information/project activities. Establish operational objectives and work plans. Network with senior internal/external personnel in 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 of a completed Bachelor of Science Degree in Electrical Engineering, Computer Engineering or similar Engineering discipline with a concentration in software.
- Minimum of 5 years of relevant work experience.
- Proven development experience with 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.
- 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.