Character names often occur to me at the very beginning with the initial story idea, and they can be very hard to change once I see that maybe the assonance is off with the ensuing world, culture, etc. I sometimes chose based on meaning, in the case of Talion and Kenji in TTD. Kenji is Japanese for "second son." However, if I decide to rework TTD, I will probably do a bit of language creation based on the clinic I mention below. The MC of a future work has an English-word name, and that will not change because it is important to her character.
Of late, as was the case with Baxente, a POV in Witherwilds, I’ll create a language and other names based on one character so that I don’t have to change the name. That's how much I love Baxente's name. (The X is pronounced "sh" and the final E is é[ay], in case you were wondering.)
I’ve spoken of this before, but I’ve found Holly Lisle's Create a Culture Clinic very helpful for designing a language. In previous projects, I relied heavily on sites such as Behind the Name. I would find something I liked and then search for additional names with a shared root.
It's more fun creating my own character and place names, though. The meaning behind the name may not resonate with the reader in the same way that a word from an existing Earth language does, but it has a deeper meaning for me.