Improve SolidWorks PDM Tools, Automation, and API. Create infrastructure to support automated testing, migration needs, and general product improvements.
What will your role be?
Candidate will join SolidWorks PDM development team within R&D division of SolidWorks. The SolidWorks PDM team is responsible for very popular Data Management software used for managing SolidWorks Data/files called "SOLIDWORKS PDM".
The challenges ahead
Candidate will be responsible for tools, API, and automation infrastructure needed to support better automated testing, customer migration needs, and performance improvements for SolidWorks PDM.
Candidate will design and implement tools, infrastructure, and features in SOLIDWORKS PDM.
Candidate will improve quality of SOLIDWORKS PDM through architectural improvements, better infrastructure for automated testing, fixing quality issues, refactoring, and through general improvement of the application.
Projects will be vertical in nature and include work needed from user interface to backend servers.
This individual will work closely with other team members, QA, and product definition in creating solutions.
The work is heavily dependent upon effective programming capabilities, knowledge of windows programming, as well as understanding of a complex architecture.
The individual will be part of a highly qualified and successful goal oriented team.
Your key success factors?
Bachelor's, or Master's degree with 2 to 3 years of experience
Must have good understanding and experience of working with data management software like SolidWorks PDM, Enovia, Source control systems like Git/TFS
Must have very good knowledge of SQL programming and extensive experience of working with Microsoft SQL server, and ability to tune SQL code for high performance
Must have strong working knowledge of computer science and professional work experience with all Windows OS development environments including MS Visual Studio, C++, MFC, .NET, COM, STL
Must have good knowledge of C#, .NET
Any Web development experience is a definite plus
Experience with multi-threaded and parallel programming is essential
Experience of working on database performance tuning, query optimization is essential
Familiarity with agile development is preferred
Must have ability to design and implement software algorithms as a part of an overall complex software system
Individual should demonstrate an awareness and understanding of achieving goals and meeting milestones with an ability to work individually or as a part of a team with good communication and interpersonal skills