I have seen both being used. But I don't know when to use which one.
1- You have done a good job on this (Context: Your teacher
saying this after he examines your homework)1a- You have done a good job in this
2- He did a good job on stealing the ball. (Context: Commentor
saying this during a basketball game.)2a- He did a good job in stealing the ball.
3- I think I did a good job on it (Context: You are saying this
after have finished writing a code.)3a- I think I did a good job in it
Best Answer
SHORT ANSWER
Use “on” 90% of the time.
“On” tells us what you did a good job on. “In” can tell us where or when you did a good job.
LONG ANSWER
(In this answer, I’ll treat “good job,” “good work,” “great job,” and “great work,” as the same word. They all mean pretty much the same exact thing.)
”On” is the most natural word almost all of the time. It connects the “Good job” to what you did a good job on.
“In” might be useful as in the following examples:
In these examples, you’re using “in” to describe where (or when) you did a good job, not to introduce what you did a good job on. You can use other words to describe this where or when as well:
Hope this helped! Comment any questions and I’ll get back to you.