Careers
Position: Senior Software Engineer
Position ID: SSE-100
Department: Engineering
Location: San Jose, CA
Job Description:
The Software Engineer will be responsible for design, development, optimization, testing, implementation and support of multi-tiered C#/C++/C/VB (SELECT) software applications for real-time, in-situ, and on-board measurement devices used for process monitoring and closed loop control in high-demand, industrial equipment. Development environment is MS Visual Studio with peripheral PLCs.
Desired Skills & Experience:
- Creation of medium-sized complex software systems in C#, C++, .NET that reflects consideration of safety, scalability, performance, maintainability, reliability, and security
- Design of intuitive user interfaces based on extensive user feedback collection
- Writing software APIs for controlling electronic components including PLCs and embedded controllers
- Machine vision design involving pattern finding and edge detection utilizing 3rd party libraries
- Trace and understand existing code and make necessary design changes
- Design and debug in a multidisciplinary environment including electrical, mechanical, test, and manufacturing engineering
- Working with customers and engineering teams to define equipment requirements
- Managing schedule for medium to large scale engineering projects
- Scoping of new projects
- Occasional domestic and international travel as necessary
- BS/MS in Computer Science or related field (Physics, Math, EE). Experience working on R&D projects and experience in a production environment is highly desirable
- 5 years experience in software design and development in Windows XP environment
- Familiarity with Win32 API, multithreading, and Windows GUI/HMI design
- Knowledge and experience with various real-time data acquisition/processing techniques and with basic image processing
- Expert level with C++/C or any other object oriented language (Java, C#) with accompanying proficient knowledge in C/C++
- Experience with any source control system (CVS, SVN, MS VSS, etc)
- Hands-on experience with any software deployment packages (MS InstallShield, Inno Setup)
- Experience in device control protocols (RS-232/485, DeviceNET, TCP/IP, CANBus, EtherCAT)
- Ability to draft and communicate software system architecture
- Extensive experience in complex user interface design
- Experience with machine control and machine vision systems
- Experience with modern software development practices (e.g. version control, issue tracking, testing, code review, agile practices)
- XML & database knowledge
- Experience in effective collaboration methods for team development, particularly across geographical distances
- Knowledge of design patterns
- Good algorithm knowledge
- Strong oral and written communication skills with an orientation towards writing clean, well-commented code
- Very good team player, able to negotiate software specifications with internal & external customers
Candidate must be legally authorized to work in the United States.
Please submit resumes to
careers@solexant.com