Principal Software Engineer - MATLAB Data Visualization

The Mathworks

Natick, MA • On-site

$160K - $257K/yr

Full-time

Re-posted 10 days ago


Job description

Job Summary
MathWorks has a hybrid work model that enables staff members to split their time between office and home. The hybrid model provides the advantage of having both in-person time with colleagues and flexible at-home life optimizations. Learn More: https://www.mathworks.com/company/jobs/resources/applying-and-interviewing.html#onboarding.
The MATLAB Graphics and Data Visualization team is responsible for the core visualization experience in MATLAB. We develop a broad range of plotting and charting capabilities, from foundational line and scatter plots to extensible tools for building advanced interactive data visualizations. Our work forms a critical bridge between interactive graphics, rendering, and export within the MATLAB ecosystem, and plays a central role in shaping the evolution of MATLAB's data visualization capabilities.
MathWorks nurtures growth, appreciates inclusivity, encourages initiative, values teamwork, shares success, and rewards excellence.
Responsibilities
As a member of the MATLAB Graphics and Data Visualization team, you will focus on developing web-based solutions spanning client, server, and cloud-hosted components that enable customers to access, share, and interact with their data visualizations in new and innovative ways.
  • Own and evolve architectural direction for web-based solutions that deliver MATLAB graphics to customers.
  • Drive cross-team modernization efforts, making informed tradeoffs around scalability, reliability, performance and consistency for interactive, data-first visualizations.
  • Provide technical leadership by guiding design reviews, influencing system-level decisions, and sharing best practices across teams.
  • Lead the development of shared, automated workflows for building, testing, and delivering web-based graphics software.
  • Champion software quality, including the definition and application of functional and non-functional testing strategies with a strong emphasis on automation.
  • Mentor and support other engineers through technical guidance, design feedback, and knowledge sharing.

Minimum Qualifications
  • A bachelor's degree and 10 years of professional work experience (or equivalent experience) is required.

Additional Qualifications
  • Experience designing and implementing web-based data visualization systems in production web applications.
  • Proficiency in C++ and JavaScript, applied to large, complex, production-quality software systems.
  • Experience designing, evolving, and maintaining large-scale software architectures, including cloud-based systems.
  • Demonstrated experience with automated testing strategies, including functional and non-functional testing, to ensure system correctness, performance, and reliability.
  • Ability to define technical direction and make architectural decisions for complex, cross-cutting systems.
  • Experience mentoring and developing engineers through technical guidance and design reviews.
  • Familiarity with web graphics or charting frameworks such as D3.js, Three.js, or similar technologies.
  • Experience with MATLAB or other scientific computing and data visualization software.



Frequently asked questions

Q: What skills or qualities help someone succeed as a Principal Software Engineer?

A: To succeed as a Principal Software Engineer, key technical skills include expertise in programming languages such as Java, Python, or C++, as well as proficiency in software development methodologies like Agile and DevOps. Additionally, strong problem-solving skills, experience with cloud computing platforms, and knowledge of database management systems are highly valued. Soft skills such as effective communication, leadership, and collaboration, along with traits like adaptability, creativity, and a growth mindset, are also essential for success in this role.\n\nThese strengths support career growth and effectiveness by enabling Principal Software Engineers to lead technical teams, drive innovation, and make strategic decisions that impact the organization's software development and delivery. They also foster a culture of collaboration, continuous learning, and improvement, ultimately driving business success and career advancement. By combining technical expertise with strong soft skills, Principal Software Engineers can excel in their roles and make significant contributions to their organizations.

Q: What is the career path for a Principal Software Engineer?

A: A Principal Software Engineer typically follows a career progression from entry-level roles such as Software Engineer or Junior Developer, to mid-level positions like Senior Software Engineer or Technical Lead, and eventually to senior leadership roles like Principal Software Engineer or Engineering Manager. Key opportunities for skill development and professional growth in this role include mastering advanced programming languages, architectures, and methodologies, as well as developing leadership, communication, and project management skills. Long-term career prospects for a Principal Software Engineer may include transitioning into technical leadership roles, such as CTO or VP of Engineering, or pursuing entrepreneurial ventures, like founding a startup or consulting firm.



The Mathworks job posting for a Principal Software Engineer - MATLAB Data Visualization in Natick, MA with a salary of $160,800.0 to $257,300.0 Annually, with a map of Natick location.