What steps come after finding the gradients of the SIFT key points?
First of all, there are two distinct parts to SIFT.  The first part is interest point detection algorithm (aka key-point detection), which finds local extrema of the multi-scale difference-of-gaussians function.

The second part is computing the feature descriptor, which is a vector describing the image patch around each key point. SIFT computes this descriptor by taking a 16x16 block of pixels centered at a key point, dividing it into 4x4 cells, and computing an 8-bin histogram of gradient orientations within each cell.  This results in a 4*4*8=128-element vector, which is the descriptor.  

Finally, the SIFT algorithm normalizes the feature descriptor for rotation.  It finds the dominant gradient direction in the patch around the key point and shfits the gradient histograms such that the first orientation bin corresponds to that direction. This makes the descriptors invariant to in-plane rotation.