Constructing good quantum LDPC codes remains an important problem in quantum coding theory. We contribute to the ongoing discussion on this topic by proposing two approaches to constructing quantum LDPC codes. In the first, we rely on an algebraic method that uses a redundant description of the parity check matrix to overcome the problem of 4-cycles in the Tanner graph that degrade the performance of iterative decoding. In the second we use the fact that subsystem coding can simplify the decoding process. We show that if there exist classical LDPC codes with large error exponents, then we can construct degenerate subsystem LDPC codes with the stabilizer generators having low weight.