Most of the time, I use good and well interchangeably. However, on many occasions I would find well or good a misfit. Please suggest the proper usage.
Formally speaking, good is an adjective and well is an adverb. So in formal speech or writing, you would want to maintain this distinction.
Informally, English speakers can often use an adjective in place of an adverb. This is especially clear for words that take an -ly suffix to form an adverb. For example: "that guy walks strange".
Even informally, this does not go the other way. We can't use words that are clearly adverbs as adjectives: "he's a strangely guy."
This is the same for good and well:
- This thing works pretty good. (Informally fine)
- This thing works pretty well. (Informally and formally fine)
- He is a good speaker. (Informally and formally fine)
- *He is a well speaker. (Bad anytime)
There is also a certain special situation, namely talking about health, where well and good have different nuances, but both can be used as adjectives.
- I am well. (=healthy)
- I am good. (can mean healthy, also "not evil", skilled, etc.)
Good is an adjective. It is used with nouns, e.g. "He is a good dog".
Well is the adverb form of good. It is used with verbs, e.g. "He plays the piano well".
Confusingly, well can also be an adjective, meaning in good health, e.g. "a well person" (someone who is not sick).
There are examples where exceptions to these may be used informally, e.g. "I'm doing good" (good with a verb).
"Good" usually refers to qualitative aspect. For example: "She is a good woman."
"Well" refers to physical well-being. "She is well today."
If someone says, "she is good today", it may also imply that "she was bad yesterday"! Again, if we analyze antonyms of both the words, we find: good - bad ; well - unwell. "Good woman" means "not a bad woman," while "well woman" means "not a sick woman."