We are currently looking for a Sr. Graphics UI Tools Developer . The ideal candidate would be a strong C# developer with a very good understanding of WPF. The candidate would gain an understanding of how our hardware works and work with other members of the team to understand common performance and correctness pitfalls and how to present these pitfalls to developers in a clear way that can be acted on to resolve them.
Understanding graphics algorithms, experience with graphics APIs such as DirectX or OpenGL and experience in game development are all very strong pluses.
Principle Duties / Responsibilities:
- Develop and maintain tools to assist in the development, debugging, and analysis of games, with an emphasis on the GPU aspects.
- Work on the user interface / experience by integrating into data sources provided by the back-end graphics developers on the team.
- Coach other team members regarding good UI & UX choices and WPF development techniques.
- Provide second-level support to game developers; fixing bugs and giving advice as appropriate
- Work with the documentation team to create user documentation
- Work with the CPU PA/Debug team to ensure a strong integration between CPU and GPU tools
Required Knowledge / Skills:
- Strong C# and WPF development skills.
- A solid understanding on good user interface design
- Knowledge of graphics APIs and technologies (such as DirectX or OpenGL)
- Knowledge of game development, tools used, and the game development pipeline a strong positive
- Prior experience with debuggers or performance analysis tools a strong positive
Required Experience / Education:
- BS in Computer Science or related field
- 6 years experience working on user interface development
- 1 year experience using C# and WPF for production quality tools
Preferred Experience / Education:
- MS in Computer science or related field
- Formal training in UI / UX design
- 7+ years experience working on user interface development
- 2+ years experience using C# and WPF for production quality tools
Freedom to act:
- Engineer is expected to be able to prioritize own tasks but work within the context of a team.
- Engineer is expected to take ownership of tasks and seek clarification in areas that are unclear or may require interface to other parts of the system.
- Sometimes our priorities and deadlines are influenced externally; for instance, some requirements and deadlines do not come from within our group, but rather come from other parts of the company.
Level of impact:
- Engineer will often face inquiries from licensees urgently seeking a definitive answer in order to ship a title under deadline. Often this will result in discussion among engineers, which this engineer must facilitate toward conclusion.
- Engineer will gain a very deep understanding of the performance characteristics of our system. In some cases, implementing tools to debug or troubleshoot performance issues will be challenging due to the complexity of the system. Engineer will work with the team to discover solutions to these problems.
- Games are most often judged first by their visual appearance.
- Our GPU debugging tools are essential to developers targeting our platforms and are extremely frequently used.
- Our GPU performance analysis tools are essential to make sure that games that target our platform are competitive.
- Game developers have very high expectations of our graphics tools, just as gamers have very high expectations of our platforms.
- Engineer works in a cubicle or similar environment among other engineers.
- Hours are regularly predictable, though there will be strict deadlines from time to time.