The hiring and interview process are rigorous which can be frustrating. However, the reason it is so long is to insure that they are hiring the right person - someone who not only has good technical skils, but is also a good fit for the culture they are trying to develop (good problemsolvers, good teamwork and communication)