The Project Software Engineer leads and participates in the software design and implementation activities for motion control features in a PC-based software tool used for configuring automation controllers and attached devices. Leadership assignments include requirements development, architectural design, effort estimation and overseeing the work of less-experienced engineers. Additional work assignments include requirements analysis, design, coding and testing of software. This role requires strong communications skills and the ability to work effectively in large project teams.
- Bachelors degree in Computer Science, Electrical Engineering, or Computer Engineering
- At least 10 years of experience in software design and implementation using C++ and object-oriented design methods
- Strong team-oriented interpersonal and communication skills
- Experience building Windows Desktop applications using Microsoft Visual Studio.
- Experience with COM, MFC, C++ 11, multithreading and .NET technologies (C#, C++/CLI, WPF)
- Experience with GIT.
- Experience of model design techniques such as UML.
- Thorough understanding of software development processes and principles, including Agile/Scrum and CI/CD.
- Demonstrated leadership abilities, including collaboration and influencing skills across geographic boundaries.
- Self-motivated and with strong working ethics.
- Solid understanding of software design principles.
- Proven proficiency in code quality and performance.
- Intellectually curious and detail oriented with outstanding problem-solving skills.
- Fluent in English.
- Experience with motion control systems and/or industrial automation products and environments.
- Experience in collaborating with technical development teams in multiple global locations.
- Understanding continuous integration practice.
- Experience with automated testing.
- Experience leading project and mentoring less experienced engineers.
- Experience with embedded software systems.