The difference is, in the job interview you’re writing it from scratch yourself. On the job you have to take over from the guy who left 10 years ago and that button was designed in such a way that resizing it will add garbage data to all tables in the database and also send an email to all your customers telling them to switch providers.
Yeah, the difficult bit is never writing new code. It’s maintaining what you have. The ones that bug me are the developers who only build prototypes, impress management, and move on to the next thing before they ever get dragged down into working on production systems. Management always thinks those are the talented ones because they build new stuff, then they never ask anyone but those people to build new stuff, and this confirms their belief that those people have a special talent. The rest of us are just busy translating their toy prototypes into actual production-ready systems and maintaining them.
The “job” panel is inaccurate. It doesn’t show the twenty-five meetings about the button size, the designer sketches on paper, the UX review, the corporate stakeholders sign-off, the Atlassian tickets, the back-and-forth email chain between the graphics person and the developer about generating the properly-sized button image, or the failed accessibility review.
A more honest code test:
interviewer: “see if you can get this project my nephew made in high school to run”
job: getting the next project their nephew made in high school to run