Job Description As a Senior Software Engineer, you will be a team member of the research and development center responsible for developing innovative software products and solutions for Rockwell Automation control system product line. We are passionate about technology, innovation, and continuous learning. We want you to join our team as a software engineer, not as a programmer. Our software teams understand how important it is to see the larger system picture. They have a working understanding of the full software development lifecycle and how their efforts contribute to the overall success of our products and our customers. In this position you will design and develop new software products and features, focusing on prototyping new functionality and developing proof-of-concept applications for the system level Namespace service. Development is performed in a team environment utilizing state-of-the-art engineering and software development practices and technology. You will gain vast knowledge of our industrial automation and remote monitoring products, virtual design, simulation and cloud computing technology. We look for a creative and technically skilled candidate who enjoys being part of a dynamic team with a lot of responsibility and the opportunity for personal development. Essential Functions - 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.
- Develops and documents code, according to the development process, that satisfies the software design. Develops and executes thorough unit test plans. Reports, analyzes, debugs and corrects anomalies. Integrates with other components, solving problems across subsystems and products, 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.
- Provides work estimates and status reports as requested. Maintains adequate interaction to ensure assigned tasks are prioritized appropriately.
- Keeps informed of new developments in the software engineering and computer engineering fields and disseminates appropriately through the organization. Identifies and participates in technical and developmental training opportunities.
- Researches, considers, and explores new possibilities utilizing the latest technologies and standards. May function as a go-to person for a technology, software methodology or other area of expertise.
- May function as a technical lead of a small to mid-sized development team. Initiates or contributes to software development capability improvement in the areas of software development practices and development tools.
- Clearly communicates and conveys design concepts, both verbally and written. Also able to learn and understand complex control system concepts.
- Effectively teams with others throughout mutually supportive professional relationships, open and direct communications, honesty and respect. Able to cope with and leverage stylistic differences and differences of opinion.
Basic Qualifications - Bachelor's degree in Computer Science, Computer Engineering, Electrical Engineering, or equivalent.
- 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.
Preferred Qualifications - Demonstrates proficient knowledge and utilization of engineering tools necessary for successful performance of the essential functions of this job description
- Typically requires 5 years of experience in a software product development environment.
- Solid technical proficiency with SQL Server with advanced knowledge of performance tuning and refactoring
- Hands-on Database Performance and Scalability experience with design knowledge of physical and logical database schemas and tables
- Familiar with NoSQL databases
- Proven application experience of Node.js environment, TypeScript
- Proven application in at least two of the following languages C++, C#, Java, Python
- Proven application of data structures and algorithms.
- Proven application of object-oriented designs
- Knowledge of multithreading, concurrent system, real-time systems, industrial automation and simulation systems is a plus.
- Working knowledge of cloud computing and Microsoft Azure technology or related system is a plus
- Direct experience with the Industrial Automation industry.
- Experienced in both local and global technical development team environments.
#LI-MM1 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 (844) 404-7427. |