I mean, if you're a novice, it
should be your first thought. If it isn't, I consider that a failure of education. Jumping into writing something from scratch when you're not part of the target user group or know the target industry already is a great way to produce horrible code that you (or someone else) will hate to maintain.
This is why it's so important to grill your interviewers about the reality of working at the company, although I'll admit that I learned which questions to ask from bad experience. Asking those questions also happens to serve as excellent signalling to your technical interviewers, much more effective than being able to solve some silly logic puzzle.
And to be perfectly fair, you do learn so much from working on poorly written projects that are a horror to maintain. Failure teaches you which mistakes to avoid next time.