Questions are formed by inverting the word order from the usual Subject-Verb ("I am", "I do") to Verb-Subject ("am I", "do I").

**Auxiliaries** - If the verb is a form of an auxiliary verb such as "be", "have", "shall", "will", "may", "must", you simply perform the inversion on the original sentence.  (An auxiliary is a helping verb that combines with another verb to express tense, aspect or mood.)

So:

 - "I am going there" becomes "Am I going there?".  
 - "She will be there" becomes "Will she be there?".  
 - "I have seen it" becomes "Have I seen it?"

If the verb is "**be**" then you still perform the inversion in this way even if "be" isn't acting as an auxiliary.  So:

 -  "She is sad" becomes "Is she sad?"
 -  "He is there" becomes "Is he there?"

If the verb is "**have**" acting as a main verb (not as an auxiliary) then this is possible too (though not mandatory).  So, optionally:

 -  "She has a car" can become "Has she a car?"

**The dummy auxiliary 'do'** - For all other verbs (and optionally for "have" as a main verb), the dummy verb "**do**" is introduced.  In an ordinary declarative (S-V) sentence, "do" is a marker of emphasis, whereas in a Verb-Subject sentence, "do" is purely a question-marker.  ("I do see it", "she does know", "he does drive".)

It is important to note that "**do**" is an auxiliary.  

**Non-finiteness of main verb as part of a complex tense etc.** - Where there is a complex verb (auxiliary plus main verb), the main verb takes a non-finite form, either a participle (where the auxiliary is "be" or "have") or an infinitive (so the 3rd person singular, or he/she/it, form *lacks* an '**-s**' ending).  Hence:

 - "She must go" (*not* "goes")
 - "He might know" (*not* "knows").
 - "It does work" (*not* "works").
 - "It will fly" (*not* "flies").

Similarly, once inverted, the main verb must remain non-finite.  So:

 - "It is working" --> "Is it working?"
 - "I have eaten" --> "Have I eaten?"
 - "She must go" -->" Must she go?"
 - "It will fly" --> "Will it fly?"
 - "It works" ("It does work) --> "Does it work?"

Hence, "**Does your company work on PHP?**"  (*not* "works").  "Does" is an auxiliary.  The sentence is formally the inverted form of "your company does work on PHP".

"**Is your company working on PHP**?"  (*not* "works").

"**Do your company work on PHP**?" (*not* "works") - if you regard "company" as a collective noun (being treated as a plural).

"Does" is the 3rd person singular form (he does, she does, it does).  "Do" is used for the other persons and in all plural persons.

See also: https://learnenglish.britishcouncil.org/en/english-grammar/clause-phrase-and-sentence/verb-patterns/verbs-questions-and-negatives
and https://www.englishgrammarsecrets.com/questions1/menu.php