Skip to main content

Khronos Technology Job Board

Vulkan CTS Technical Lead

Company: Khronos Group
Location: Remote
Job Type: Remote, Contract, Part-time
Contact: .(JavaScript must be enabled to view this email address)

Conformance testing is a critical part of the Vulkan and OpenGL/OpenGL ES ecosystems, ensuring that implementations of the Vulkan and OpenGL/OpenGL ES APIs are held up to rigorous standards and will function correctly even in the corners. Comprehensive conformance testing is also a requirement to ratify or release new features. The Conformance Test Suite (CTS) task sub-group (TSG) delivers this critical component and you will be a key person in driving this activity. This position is a contractor role, remote, and part time (20 hours per week). Send resumes to Managing Director, Emily Stearns.

Your responsibilities include:

  • Assiting TSG Chair
  • Managing TSG operations
  • Maintaining CTS development process
  • Maintaining CTS private and public repositories
  • Maintaining CTS tools and other related repositories
  • Maintaining CTS continuous integration
  • Maintaining CTS documentation
  • Managing CTS releases and release schedule
  • Managing contractors

The main requirements for this position are:

  • Good English communication skills, both written and spoken
  • Capacity to work autonomously in a distributed environment
  • Capacity to technically manage a small team of software developers
  • Experience with Linux OS
  • Understanding of coding guidelines
  • Understanding of software development processes
  • Experience in source code management systems, preferably git and hosting/review services built around git, e.g. Gerrit, Github, Gitlab
  • Experience in issue tracking systems
  • Experience in maintenance in development of continuous integration based on Jenkins
  • Experience with scripting languages, preferably Python, Groovy, and Linux shell
  • Experience with software containers platforms, e.g. Docker
  • Experience with document markup languages, e.g. HTML and Markdown
  • Programming experience in C/C++ is an advantage

Detailed description of responsibilities

Assisting TSG Chair

TSG Chair is overall accountable for TSG operations and deliverables. Your responsibility is to assist the Chair in his tasks and help him to ensure timely deliveries.

Managing TSG operations

TSG meets regularly to discuss progress and issues. Your task is to ensure that issues are being updated, the status is being recorded, code reviews are happening and changes are being merged.

Maintaining CTS development process

TSG has a defined and rigorous development process which uses issue trackers, code reviews, continuous integration, etc. Your task is to support this process and ensure that it is being followed.

Maintaining CTS private and public repositories

CTS is developed in a private repository and then mirrored to a public repository. Your task is to ensure that both repositories are up to date, permissions are assigned correctly, changes are correctly propagated through release branches, and the branching strategy is being followed.

You should ensure that Khronos Gerrit server is being regularly upgraded. This is usually done by Khronos webmaster on request.

You will have administrator rights for Khronos Gerrit and maintainer rights for VK-GL-CTS repository on Github.

Maintaining CTS tools and other related repositories

TSG has a number of other repositories that include private and public CTS tools, e.g. continuous integration scripts and conformance submission verification scripts. These need to be maintained and kept up to date.

Maintaining CTS continuous integration

TSG has private Jenkins and Docker instances. These need to be monitored to ensure that there are no issues preventing CI jobs from running.

CTS CI is used to ensure that CTS can be built for a number of Linux distributions. It is also used to run automated conformance submission verification. It can and should be extended to execute other automatable tasks.

You should ensure that Jenkins, Jenkins plugins, and Docker are being regularly upgraded.

You will have administrator rights for both instances.

Maintaining CTS documentation

TSG maintains private and public wikis and README written in Markdown. These contain build instructions, description of internal process, meeting minutes, etc. These documents need to be kept up to date.

Managing CTS releases and release schedule

Typically, TSG publishes one major Vulkan CTS release every 3 months followed by a series of bug fix releases.

In addition, TSG publishes less frequent Vulkan SC, OpenGL, and OpenGL ES CTS releases using the same principle of a major release followed by a series of bug fix releases.

TSG will publish a major release for each new API version.

TSG will deprecate and withdraw certain releases according to the agreed policy.

Your task is to ensure that these schedules are maintained and publication/withdrawal of releases happens on time.

Managing contractors

In addition to members’ contributions, Khronos has a team of external software developers. Your task is to attend weekly project calls with this team, review progress and reports, assign tasks, resolve blocking issues, and interact with the team using email and/or Khronos chat.

Posted: March 14th, 2023