A computer-implemented method, comprising: receiving source code from a computer data storage device or input from a computer input device, the source code comprising: a lower-order function defining a data transformation job that comprises a sequence of computation instructions for a dataset transformation that generates an output dataset; and a decorator as a higher order function that corresponds to the lower-order function and identifies one or more dependent datasets that are necessary to execute the lower-order function and one or more expected input datasets for the lower-order function; digitally storing the received source code at a first code repository; building the source code into executable code comprising one or more machine executable computer program files; and digitally storing the executable code in a second repository; receiving, from a client device, a data transformation command that identifies the data transformation job using the lower-order function; and in response to receiving the data transformation command: retrieving the executable code associated with the lower-order function and the decorator from the second repository; based on the one or more expected input datasets for the lower-order function, analysing the decorator in the source code or the executable code to identify and retrieve the one or more dependent datasets and the one or more expected input datasets for the lower-order function; and executing the data transformation job, using the one or more expected input datasets and executable code associated with the lower-order function, to generate a particular output dataset. receiving source code from a computer data storage device or input from a computer input device, the source code comprising: a lower-order function defining a data transformation job that comprises a sequence of computation instructions for a dataset transformation that generates an output dataset; and a decorator as a higher order function that corresponds to the lower-order function and identifies one or more dependent datasets that are necessary to execute the lower-order function and one or more expected input datasets for the lower-order function; a lower-order function defining a data transformation job that comprises a sequence of computation instructions for a dataset transformation that generates an output dataset; and a decorator as a higher order function that corresponds to the lower-order function and identifies one or more dependent datasets that are necessary to execute the lower-order function and one or more expected input datasets for the lower-order function; digitally storing the received source code at a first code repository; building the source code into executable code comprising one or more machine executable computer program files; and digitally storing the executable code in a second repository; receiving, from a client device, a data transformation command that identifies the data transformation job using the lower-order function; and in response to receiving the data transformation command: retrieving the executable code associated with the lower-order function and the decorator from the second repository; based on the one or more expected input datasets for the lower-order function, analysing the decorator in the source code or the executable code to identify and retrieve the one or more dependent datasets and the one or more expected input datasets for the lower-order function; and executing the data transformation job, using the one or more expected input datasets and executable code associated with the lower-order function, to generate a particular output dataset.