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.
Our requirements
Bachelor's 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
English B2/C1
Optional
Experience with motion control systems and/or industrial automation products and environments
Experience in collaborating with technical development teams in multiple global locations
Experience with automated testing
Experience leading project and mentoring less experienced engineers