Xtreme Consulting Group is currently recruiting for contract Shader Programmers (Direct3D HLSL and OpenGL). The development effort for this project will be based in Portland, Oregon (USA), but developers have the option of working remotely. This is an immediate start and an open ended contract.
- This effort requires very seasoned technical consultants with meticulous communication and documentation skills. One or more team “scribes” will be available to assist with documentation tasks.
- Team members must be experienced with coding in shader languages such as those used with Open GL or DirectX/Direct3D (e.g. familiar with coding techniques for the production of interactive 3D images such as those used in computer games, medical imaging visualizations, flight simulators, or similar interactive imaging applications).
- A strong knowledge techniques used for optimizing the rendering/display pipeline is a big plus for these candidates.
Minimum skill sets sought:
- 3 + years of experience with 3D math, including quaternions and Euler angles.
- 3 + years of experience with graphics APIs (Direct3d/OpenGL/Vulcan).
- Development for Windows or Android platforms.
- Experience in systems development.
- Bachelor’s degree or more in Computer Science, Mathematics, or related field
- 5 + years of experience with 3D math, including quaternions and Euler angles.
- 5 + years of experience with graphics APIs (Direct3d/OpenGL/Vulcan)
- Optimization skills.
- Windows or Android OS experience, including experience with hardware, drivers, or firmware.
- VR experience.
- Familiarity with 3D graphics hardware and driver stack.
GENERAL PROJECT DESCRIPTION
Develop new software components that will integrate with existing software and hardware.
- High-level functional specs will be provided, as well as interface requirements for integration with existing components.
- In addition to the functional specifications, the end client will specify minimum performance criteria for some aspects of the code, and meeting these performance requirements will be part of the acceptance criteria.
- The development team will be entirely responsible for design choices, implementation, and tuning to meet performance requirements. (Note: The end client will require a design review and approval prior to coding.)
- Project code will be written from scratch, but use of Open Source and/or 3rd party libraries will be allowed, providing their use is pre-approved by the Client.
- Team members are required to maintain an ‘engineering notebook’ to help document the development effort. For example, the engineering notebook might include notes about the design choices considered, reference materials consulted, selection criteria used to arrive at a final design, implementation options and choices, related ideas and theories, or problems encountered during development.
- The software components developed in this project will be required to interoperate with existing hardware and software. The existing software is primarily written in C++ and Shader code. The new code to be developed will also be written in C++, with some components also making use of Shader code.
- You will be provided with software to aid in integration testing for interactions with existing software and hardware.
- External teams will be involved for design review, QA, performance testing, and final acceptance testing. It is expected that all feedback and communications from these teams will be provided to the development team in written form (typically as electronic documents).
- Consultants can work from home, using workstations that are provided by the Client and preconfigured for use on this project.
- There will be periodic team meetings as needed to facilitate communication between members of the development team relating to design, coding, testing, and integration tasks. It is likely that these meetings will be conducted using electronic videoconferencing technology, and recorded so that they can be played back by any members who are unable to attend the live sessions.
- All candidates for a role on the development team must sign a Non-Disclosure Agreement before they can be given access to details of the project.