Senior Software Engineer, Developer Tools UI
NVIDIA
NVIDIA's products, hardware and software, are world leaders for performance and efficiency. We are continually innovating in creative ways to improve our ability to deliver outstanding solutions across a wide range of sectors. We are seeking System Software Engineers who are passionate about what they do and are committed to making a difference in the world through their inventions. In the Software Developer Tools Team, we enable 1st & 3rd-party developers to turn NVIDIA's hardware into groundbreaking cluster, server, professional, consumer, automotive, and embedded solutions.
What you will be doing:
Join the Developer Tools team as a senior software engineer to work on software such as Nsight Systems.
Extend the graphical user interface to implement new features that help our users understand the increasing amounts of complex data.
Design and implement product features that would help visualize and explain the performance data collected on clusters and in cloud environments.
Implement new pieces of user interface in HTML and JavaScript, migrate existing UI from C++ and Qt to web technologies, maintain and extend existing features.
Help introduce a new data-driven approach to UI development, and work with the team to help adopt it.
Communicate across multiple teams to collect and understand the requirements. Understand how the underlying hardware and software works, and use that knowledge to deliver valuable features to the users. Participate in all phases of the software feature development life cycle.
Collaborate with team members across multiple time zones in a dynamic, high-energy work environment.
Interact with internal and external users, help them get the maximum value out of our products, and deliver their feedback to the product team.
What we need to see:
BS or MS in EE, CE, CS, Systems Engineering.
4 years of experience in a related software position.
Excellent problem solving, collaborative, and interpersonal skills. Experience working in distributed teams is welcome.
Strong web frontend skills and experience with HTML, CSS, and JavaScript.
Attention to details, and ability to design and implement reasonable changes in user experience.
Strong understanding of algorithms and computer architecture.
Basic experience with C++ and its ecosystem.
Ways to stand out from the crowd:
Experience with Qt Widgets.
Practice with GPUs, CUDA, HPC, clusters, networking, and performance optimization in distributed environments.
Work experience with Python and data analysis, for example in Jupyter Notebook and with Pandas.
Experience with modern frontend development in TypeScript and frameworks such as React.
Ability in designing user interfaces and taking care of the user experience.