RESPONSIBILITIES
- Build a solid understanding of the code and the team’s software development processes.
- Diagnose and fix code problems.
- Deliver code that meets requirements on schedule. Ensure that code is efficient, scalable, maintainable, extensible, robust and easy to understand.
- Optimize code to improve tool run time and memory capacity.
- Create unit, regression and/or system-level tests to thoroughly validate new features or changes.
- Communicate clearly and work closely with manager, technical leads and other engineers to refine solutions and to describe changes that may affect others.
- Learn and follow best practices in software engineering.
- Expand depth and breadth of knowledge in specific electronic design and analysis areas.
MINIMUM QUALIFICATIONS
- BS degree in Electrical Engineering, Computer Science, Mechanical Engineering, or related field, with more than 2 years’ experience or MS in Electrical Engineering, Computer Science, Mechanical Engineering, or related field
- 2-year experience in C++ with broad and deep understanding of the language
- Working knowledge of the Linux operating system
- Strong background in data structures, algorithms, and debugging
- Ability to learn quickly, understand complex systems and to work closely with others
- Ability to complete high-quality work on time
PREFERRED QUALIFICATIONS
Demonstrated skills in the following areas are a plus:
- Strong development experience for physical design or analysis tools
- Master with computer graphics and geometry processing
- Multi-physics background, e.g. EM, CFD, thermal, stress analysis
- Successful large-scale commercial software development
- Development, debugging and optimization of systems using distributed processing
- Experience with the Python programming language
Apply now