1. A computer-implemented method for controlling a driving mode of a self-driving vehicle (SDV), the computer-implemented method comprising: receiving, by one or more processors, sensor readings from a sensor, wherein the sensor readings describe a current condition of a roadway, wherein the roadway is part of a planned route of a self-driving vehicle (SDV), wherein the SDV is capable of being operated in autonomous mode by an on-board SDV control processor, wherein a driving mode module selectively controls whether the SDV is operated in the autonomous mode or in manual mode, and wherein the SDV is controlled by a human driver of the SDV if in the manual mode; determining, by one or more processors, a control processor competence level of the on-board SDV control processor, wherein the control processor competence level describes a competence level of the on-board SDV control processor in controlling the SDV under the current condition of the roadway; receiving, by one or more processors, a driver profile of the human driver of the SDV, wherein the driver profile describes a human driver competence level of the human driver in controlling the SDV under the current condition of the roadway; comparing, by one or more processors, the control processor competence level to the human driver competence level; and selectively assigning, by one or more processors, control of the SDV to the on-board SDV control processor or to the human driver based on which of the control processor competence level and the human driver competence level is relatively higher to one another.