A method executed by one or more processors of a server comprising: receiving a job request for accessing a quantum computing resource comprising a quantum processing unit configured for quantum-classical computation, the job request comprising a user id and a computer program comprising a computer instruction set, wherein the computer program is an uncompiled computer program, and wherein the QPU comprises a quantum processor for running quantum parts of a computation, a control module for operating the quantum processor, a classical processing module for running classical parts of the computation, and a shared memory connected to the control module and the classical processing module; and on authentication of a user associated with the job request, by operation of the one or more processors: selecting a particular quantum computing resource for the job request; individualizing the job request based on user permissions; pushing the job request onto a first queue to be processed for execution by the selected quantum computing resource; pulling, by a compiler, the job request from the first queue and compiling the computer program in the job request into a schedule of instructions according to the selected particular quantum computing resource; pushing the schedule of instructions to a second queue associated with the selected particular quantum computing resource; providing, by the second queue associated with the selected particular quantum computing resource, the schedule of instructions to the selected particular quantum computing resource; wherein compiling the computer program in the job request comprises: obtaining calibration data specific to the quantum processor of the QPU from a calibration database stored at the QPU; and using the calibration data in compiling the computer program, wherein the calibration data is collected by a calibration routine executed on the QPU, the calibration routine being a job in a queue associated with the QPU. receiving a job request for accessing a quantum computing resource comprising a quantum processing unit configured for quantum-classical computation, the job request comprising a user id and a computer program comprising a computer instruction set, wherein the computer program is an uncompiled computer program, and wherein the QPU comprises a quantum processor for running quantum parts of a computation, a control module for operating the quantum processor, a classical processing module for running classical parts of the computation, and a shared memory connected to the control module and the classical processing module; and on authentication of a user associated with the job request, by operation of the one or more processors: selecting a particular quantum computing resource for the job request; individualizing the job request based on user permissions; pushing the job request onto a first queue to be processed for execution by the selected quantum computing resource; pulling, by a compiler, the job request from the first queue and compiling the computer program in the job request into a schedule of instructions according to the selected particular quantum computing resource; pushing the schedule of instructions to a second queue associated with the selected particular quantum computing resource; providing, by the second queue associated with the selected particular quantum computing resource, the schedule of instructions to the selected particular quantum computing resource; wherein compiling the computer program in the job request comprises: obtaining calibration data specific to the quantum processor of the QPU from a calibration database stored at the QPU; and using the calibration data in compiling the computer program, wherein the calibration data is collected by a calibration routine executed on the QPU, the calibration routine being a job in a queue associated with the QPU. selecting a particular quantum computing resource for the job request; individualizing the job request based on user permissions; pushing the job request onto a first queue to be processed for execution by the selected quantum computing resource; pulling, by a compiler, the job request from the first queue and compiling the computer program in the job request into a schedule of instructions according to the selected particular quantum computing resource; pushing the schedule of instructions to a second queue associated with the selected particular quantum computing resource; providing, by the second queue associated with the selected particular quantum computing resource, the schedule of instructions to the selected particular quantum computing resource; wherein compiling the computer program in the job request comprises: obtaining calibration data specific to the quantum processor of the QPU from a calibration database stored at the QPU; and using the calibration data in compiling the computer program, wherein the calibration data is collected by a calibration routine executed on the QPU, the calibration routine being a job in a queue associated with the QPU. obtaining calibration data specific to the quantum processor of the QPU from a calibration database stored at the QPU; and using the calibration data in compiling the computer program, wherein the calibration data is collected by a calibration routine executed on the QPU, the calibration routine being a job in a queue associated with the QPU.