1. Phone screening: About 30 mins, friendly interview
2. In person: talked again about similar things from the phone screening; about 1 hour
3. Two "programming" tests (not really programming): really tedious tests, badly formatted in which you often had to jump around throughout the test because some q's incorporated previous questions. Not programming: it was like typo and addition error detection and seeing if there were any mistakes in organization. About 1.5 hours each test. Tedious and felt unnecessary given I had demonstrated an advanced software project that consisted of actual programming. Also, the person who sent the test to me was about 15-20 minutes late both times. So add about 30 more minutes on top of my total time contributed to this process.
So, about 4 hours total for the entire process (which is a lot in my opinion for this type of job). The most negative part is that I received no update on my candidacy. Given the time and effort I put in, it would have been considerate to update me, even if I wasn't selected. Comes off as very disrespectful of my time.