Roles & Responsibilities
Job Description
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.
Essential Functions
- 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, determines the origin and root cause of anomalies identified.
- 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.
- 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.
- Stays informed about relevant technology trends and developments complex control system concepts.
Desired Qualifications
Bachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, or equivalentTypically requires a minimum of five years of experience in a software product development environmentDirect experience with developing web-based applications using Angular and C# / .NET CoreDirect experience with Agile software development process, experience of Scrum Master is an advantageGood understanding of object-oriented design principles and common design patternsBasic knowledge or experience with micro service architecture and cloud technologiesProven application of data structures and algorithmsAble to apply basic knowledge of software test methodologiesAble to apply basic knowledge of testing web / cloud software productsDirect experience with the Industrial Automation industryDirect experience collaborating with local and global technical development teamsExcellent interpersonal, verbal and written communication skillsTell employers what skills you have
Design Patterns
Data Structures
Scrum
Software Engineering
Test Cases
Reliability
Writing
Total Quality Management
Software Design
Angular
Product Development
Test Development
Agile Software Development
Software Development