| I've only interviewed at one place that used homework. They had two homework assignments with follow up phone interviews to talk about it. The next round was going to fly me out for an in-person pair programming interview. We then parted ways because my circumstances changed and I wasn't going to be able to work in one of their set locations. I might be more ok with it if it was meant to replace the in-person interview but otherwise it took up significantly more of my time. It was nice that they gave me 2-3 $100 amazon gift cards but, like other posters, I'd rather have my time than extra compensation. The first assignment was supposed to take 4 hours but took me over 6. The second was supposed to be a whole day thing but I could only put in about 4 hours. It was useful to gain some insight into their culture. I'm still mixed about what I think of it. The short takeway is that they are continually learning and updating their practices (good) but they were koolaide drinkers (bad) and throwing around buzzwords from specific individuals' blogs as if that was everything without showing a deep understanding of those buzzwords (causing them to completely miss that I exercised those same principles, even if I had no clue what they were talking about). The longer version. They originally were going to turn me down for not using enough <buzzword>. They were also disappointed that I didn't use <buzzword>. Originally, they weren't even going to explain more than that but I pushed on it to see what I could do better and through the conversation they warmed back up to me. Later I looked up their buzzwords. The first was SOLID which appears to have limited use in the industry. First, they couldn't even break up which part of SOLID I was violating but instead were throwing the acronym of acronyms around like that was all that needed to be said. When I dug into their feedback more, I found out it was my main function that "wasn't SOLID enough" which did argument parsing and delegated the rest of the logic to other code that was so well designed that they had to throw out the main follow up question. I literally could only find one software development subcommunity that used the second buzzword and that was mostly limited to one consultant's blog. They also showed a lack of depth in it because I was actually using it, just at a different layer in the stack, solving the same problem they thought it would address. |