Location: Mayfield Heights - Ohio
Do you want to make a difference in the world? At Rockwell Automation you can do just that and more. Rockwell is a global leader in industrial automation and digital transformation. We connect the imaginations of people with the potential technology to expand what is humanly possible, making the world more productive and sustainable. Rockwell is recognized as one of the World's Most Ethical Companies in 2020. We place a high value on integrity which fosters an environment where all employees can and want to do their best work. To learn more about how we are bringing The Connected Enterprise to life across industrial enterprises, please visit www.rockwellautomation.com.
We are looking for a Senior Software Engineer to design and develop industry-leading commercial software known for its innovation and usability. You will also be responsible for performing intermediate level software testing tasks including, but not limited to, test development, planning, scheduling, and execution.
In this position, you will be a key player in subsystem design, implementation, and testing. You will play an active role in all the stages of the development lifecycle and support your team throughout the process. You will also help ensure that developed products meet requirements and are within total quality management standards. This position will allow you to collaborate with multiple global cross-functional teams and may also require you to be the technical lead of a small-scale feature or portion of a feature.
When you join our software engineering group, you become part of a team that believes in knowledge sharing and collaboration and that is committed to using reliable and well-thought-out engineering practices and technology to overcome any challenges.
We are looking for someone who will effectively leverage a diverse set of technical backgrounds and opinions by fostering a team-oriented environment and the use of open and direct communications, honesty and respect. The ideal candidate will also actively seek knowledge of new developments in the software engineering, computer engineering, and test automation fields and will identify and pursue career development and training opportunities.
- Independently gathers and documents requirements for a feature and its components, ensuring the information required for the development of software and corresponding test cases are contained in the specifications.
- Contributes to architectural design and independently develops system designs that meet the requirements. Provides estimates for the design. Considers tradeoffs between requirements, speed, cost and reliability in the choice of a design approach.
- Implements and documents code that meets the requirements of the software design.
- Develops and executes thorough unit test plans. Reports, analyzes, debugs and corrects anomalies. Takes the lead in the integration of other components by solving problems within and across subsystems to produce a final product. Responsibilities may extend to the technical management of the design, testing and integration of other engineers' work in related areas.
- Leads or participates in reviews of documents, designs, code, test cases and user documentation.
- Typically responsible for the ongoing maintenance and integrity of several software subsystems.
- Architects testing solutions at the project level.
- Estimates, plans, develops, and executes test suites, test cases and automated tests to ensure appropriate functional test coverage is attained.
- Leads the reviews of test plans and test cases, ensuring they validate documented software requirements.
- Performs complex product testing, reporting on problems encountered and documenting test results for follow-up.
- Builds relationships and interacts with peers to ensure assigned tasks are prioritized appropriately.
- Thinks outside the box and is willing to research and explore new avenues to overcome obstacles by utilizing the latest technologies and standards. May function as a go-to person for a technology, software methodology, test tools and methodologies, or other area of expertise.
- Takes the lead on identifying and recommending software development capability improvements in the areas of software development practices, development tools, and test automation.
- Clearly communicates and conveys design concepts, both verbally and in writing.
- Able to learn and understand complex control system concepts.
- Bachelor's degree in Computer Science, Computer Engineering, Electrical Engineering, or equivalent
- Typically requires a minimum of eight years of experience in a software product development environment
- Experience in large, scalable distributed systems and/or SaaS solutions
- Software development on Cloud and Mobile platforms
- Proven application of object orientated design using C++, C#, or Java
- Proficiency in TypeScript, Node.js, Angular framework, GraphQL
- Software development on both Windows and Linux
- Proven application of data structures and algorithms
- Direct experience with design patterns and architecting modular software
- Proven application of software test methodologies
- Direct experience developing test automation solutions
- Able to apply basic knowledge of testing highly integrated software products
- Direct experience with the Industrial Automation industry
- Previous technical team leadership
- Direct experience collaborating with local and global technical development teams
- Excellent interpersonal, verbal and written communication skills
We are an Equal Opportunity Employer including disability and veterans.
If you are an individual with a disability and you need assistance or a reasonable accommodation during the application process, please contact our services team at +1 (see application details).