Huffman coding is a data compression technique that reduces file size without losing detail by using variable length encoding based on character frequency. Developed by David Huffman, it constructs a binary tree where characters that appear more frequently receive shorter codes. The two major steps in Huffman coding involve building this tree from input characters and assigning codes based on the tree's structure.