Senior Software Engineer
Job Summary
Will be responsible for designing and developing sophisticated software. Work alongside Senior engineers to drive projects from research, requirements gathering, creating and managing project plans, designing, to delivering the product. Design and develop installation, authorization, and package management technologies for both offline and online usage. Improve quality of existing code base through debugging, re-factoring, and improving unit and system tests. Apply sound engineering principles, state of the art, and leading-edge tools to support the needs of MathWorks engineering teams, UX, and ultimately customers. Collaborate with other engineers in Product Development as well as Business Applications. Mentor other engineers.
May telecommute up to 40%
Rate of Pay: $178,131.00 to $210,400.00
Responsibilities
Qualifications
Employer will accept a Master’s degree in Computer Science, Engineering [any], Information Systems, or related field and two [2] years of experience in the job offered or in a Senior Software Engineer-related occupation.
Alternatively, employer will accept a Bachelor’s degree in Computer Science, Engineering [any], Information Systems, or related field and five [5] years of experience in the job offered or in a Senior Software Engineer-related occupation or a PhD degree in Computer Science, Engineering [any], Information Systems, or related field and no experience.
Position requires demonstrable experience with the following:
- Demonstrated expertise performing object-oriented design and applying design patterns to architect, and develop scalable software applications using modern JavaScript frameworks.
- Demonstrated expertise in functional and architectural design of JavaScript based systems using modern ECMAScript (ES6+) features and asynchronous programming models, including Promises and async/await.
- Demonstrated expertise developing, testing, and delivering high performance JavaScript code, including implementation of unit testing frameworks including QUnit within a full software development life cycle (SDLC) following Scrum based Agile methodologies.
- Demonstrated expertise performing version control and continuous integration, including analysis and implementation of branching strategies using Git, Perforce, and other CI/CD tools.
- Demonstrated expertise in end-to-end requirement analysis and software development, including requirements gathering, functional analysis, prototyping, implementation, integration, and optimization of JavaScript based applications.
Experience may be gained during graduate program. Will accept any suitable combination of education, training, and/or experience. Multiple positions available.