Software Engineer
Job Summary
Responsible for the full software life-cycle, including requirements gathering and high-level design, coding, testing, debugging and maintenance in the area of MATLAB language. Collaborate with team members to produce high-quality code that is correct, robust, efficient and easy to maintain and extend. Re-architect existing components to accommodate new requirements. Participate in, and contribute to, design reviews, code reviews and project planning. Coordinate work with cross-functional team members in engineering, quality engineering, user experience, and documentation. Increase productivity and bring quality features to market. Collaborate with subject matter experts in pursuit of continuous improvement of design strategies.
May telecommute up to 40%.
Rate of Pay: $131,082.00 to $175,000.00
Responsibilities
Qualifications
Employer will accept a Master’s degree in Engineering (any), Computer Science, or a closely related field and no experience.
Alternatively, employer will accept a Bachelor’s degree in Engineering (any), Computer Science, or a closely related field and three [3] years in the job offered or in a Software Engineer-related occupation.
Position requires demonstrable experience with each of the following:
- Programming in MATLAB and C++.
- Demonstrated expertise in object-oriented design and analysis, including application of Gang of Four design patterns, modern C++ features, and Boost libraries.
- Demonstrated expertise debugging C++ code using Visual Studio, and Linux and Mac debugging techniques.
- Developing and debugging MATLAB code and profiling MATLAB code for performance.
- Demonstrated expertise in analyzing, re-architecting and refactoring a large legacy code base in C++ and MATLAB for performance and scalability.
Experience may be gained during graduate program. Will accept any suitable combination of education, training, and/or experience. Multiple positions available