> English is not really phonetic anymore, so this approach doesn't quite work well.

English pronunciation <-> spelling is actually pretty predictable as long as you aren't considering letters/phonemes in isolation.

1. recognize whether it's a compound word or a word with affixes, and if so break it down (e.g. shep-herd)

2. recognize the "origin" of the word - at a minimum, "native" (German/Norse) vs "foreign" (Greek/Latin/French mostly, though others come up) is usually obvious, though sometimes it becomes necessary to be more specific or even care about when it was borrowed.

3. recognize the stress pattern in the word, and how that will affect possible vowel sounds

4. recognize the letter pattern or sound pattern (depending on which you're starting with)

These are not independent recognitions; often one or two is enough to imply everything you'd need to know about the others (and this in fact reinforces the pattern recognition humans are so good at).

An informative example is "arch". "ar" fixes the pronunciation of the "a", and "r" is not ambiguous (ever, for rhotic accents; after syllable division for non-rhotic accents). The "ch" is pronounced "tsh" for most words (whether German or French), but when it is of Greek origin (or at least came via Greek) it is pronounced "k". Usually such words are compounds with other visible Greek components.

> English pronunciation <-> spelling is actually pretty predictable as long as you aren't considering letters/phonemes in isolation.

Yeah, and you also learn the etymology of each word. With plenty of exceptions.

I learned English mostly as a written language, by reading books. And for _years_ after moving to the US, I had a problem with pronouncing words that I knew perfectly well how to spell.

E.g. I was confused when a doctor told me that I had "neumonia", even though I knew the word "pneumonia" perfectly well. Or that "gearbox" is not pronounced "jearbox".

> but when it is of Greek origin (or at least came via Greek) it is pronounced "k"

Or Latin. I volunteer to teach English to refugees, so my rule of thumb: if a word is similar to a Russian/Ukrainian word then it's pronounced with a "k" sound. But there's also a bunch of French words where "ch" is pronounced as "sh".

But really, the main rule is to just memorize what the pronunciation is.