Quantum technology relies on using the quantum phenomena of superposition and entanglement to gain information processing and computational advantage. However, these quantum phenomena are easily destroyed by noise from the environment. Eventual successful application of quantum technology will therefore require efficient, active quantum error correction to protect the fragile quantum states. The standard procedure for quantum error correction is to delocalize quantum information over a many-body state of a large system. For example, a single logical qubit can be encoded in an entangled state of many physical qubits. Remarkably, natural errors from the environment affect the system only locally and the non locally encoded quantum information remains protected against these local errors. The small local errors are then corrected without affecting the logical information encoded in the system. This idea of building a reliable unit of quantum information from faulty parts is truly remarkable. However, fault-tolerant quantum error correction comes at the cost of debilitatingly large resource overheads. We are particularly interested in reducing these overhead costs for quantum error correction by using a combination of robust quantum circuit engineering, tailoring error correction codes for specific noise models, and engineering qubits with inherent noise protection.