Sr. Software Engineer
As a Senior Software Engineer for Rockwell Automation, you will have the opportunity 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.
- Collects, contributes to 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.
- Develops new subsystem designs or contributes to existing ones ensuring they meet the established requirements.
- Establishes a timeline and determines the resources needed to execute a design. Considers tradeoffs between requirements, speed, cost and reliability in the choice of a design approach. Provides progress reports, as needed.
- 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.
- Leads or participates in reviews of documents, designs, code, test cases and user documentation.
- Estimates, plans, develops, and executes test suites, test cases and automated tests to ensure appropriate functional test coverage is attained.
- Ensures documented test cases and specifications validate documented software requirements.
- Performs product testing, reporting on problems encountered and documenting test results for follow-up.
- Determines the origin and root cause of anomalies identified.
- Responsible for the maintenance and integrity of one or more software subsystems.
- Builds relationships and interacts with peers to ensure assigned tasks are prioritized appropriately.
- Takes the lead on identifying and recommending software development capability improvements in the areas of software development practices, development tools, and test automation.
- Thinks outside the box and is willing to research and explore new avenues to overcome obstacles by utilizing the latest technologies and standards.
- 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, ElectricalEngineering, or equivalent
- At least four years of experience in a software product development environment
- Proven application of C++, C#, or other relevant programming languages
- Proven application of data structures and algorithms
- Able to apply basic knowledge of object-oriented design
- Basic understanding of design patterns
- Basic understanding of the application of COM, MFC, WPF, .NET, or equivalent technologies
- Able to apply basic knowledge of automated test tools
- Able to apply basic knowledge of software test methodologies
- Legal authorization to work in the US is required. We will not sponsor individuals for employment visas, now or in the future, for this job opening.
- Excellent interpersonal, verbal and written communication skills
- Direct experience with the Industrial Automation industry
- Proven application of object-oriented designs
- Basic understanding of architecting modular software
- Able to apply basic knowledge of testing highly integrated software products
- Direct experience collaborating with local and global technical development teams