From the course: Tech Career Skills: Interviewing Developers

Think back to a system from five years ago

From the course: Tech Career Skills: Interviewing Developers

Start my 1-month free trial

Think back to a system from five years ago

- Here is a good question for early in the interview. It's good because it can tell you a lot about whether a candidate is able to see the overall situation without getting bogged down in the details. It also probes for defensiveness. Think back to a system you worked on, oh, five years ago. If you were in charge of redeveloping that system today, what would you do differently? I want to hear an answer that is forthright about the flaws in the earlier system. Almost any application can be improved upon rewrite, especially with changes in technology since it was written. Here's what a good answer looks like. - We didn't realize that our service layer wasn't flexible enough, and we didn't do a good job of controlling versions. If I had to go back to the project, I'd work on designing a service layer that really solves the needs of the entire application. - This answer notes architectural flaws. That indicates that the candidate sees the big picture of the application, not just the narrow features. Here's another good answer. - So I would talk to the users a lot more. We didn't really understand their task flow, so there were a lot more iterations than there could have been, a lot of extra time wasted code. - This is another big picture answer, and it shows respect for users. That's two good points about it. Bad answers can indicate shallow thinking about their app. Here's an example of a bad answer. - Thinking back, I think the app was fine. There's nothing I can really think of that I would want to change at this point. - Even if the candidate thinks the app was a success, they should know that it's not perfect. Such an answer might mean the candidate didn't really work on complex parts of the app, or it might mean that their standard of success is more or less that no one complains much about the app. If you didn't get a satisfactory answer, you can ask followup questions such as are there any recent technological changes you think might affect the best way to do the app? A vague or superficial answer to that is a rather definite indication that either they didn't do complex work on the app or that they don't tend towards big picture thinking on app development. Also, be alert for possible defensiveness or evasiveness in the answer to this question. As we discussed earlier, some developers just don't like discussing their mistakes, and that has several bad potential outcomes.

Contents