"Hace" and "hacía" are both conjugations of the verb "hacer" in the third person singular. "Hace" is present and "hacía" is past. Now, when you say "it has been a long time since has been working here", clearly that means "up until now, it has been a long time..." since it is present, you have to use "hace"... "hace mucho tiempo que él trabaja aquí". But if you say "it had been a long time since he had been working here", that means "up until then ", a time in the past, "up until then, it had been a long time..." therefore, you have to use the past version "hacía mucho tiempo que...". So, you can say "aunque mi amigo gana mucho dinero en su trabajo, hace mucho tiempo que no es feliz", everything in present, or you can say "aunque mi amigo ganaba mucho dinero, hacía mucho tiempo que no era feliz", everything in past.
I hope that is helpful. If you still have any doubt, please, let me know.