¿Por qué un ingeniero mecánico no puede ganar más salario que un ingeniero de software? ¿Existe alguna empresa principal que ofrezca a los ingenieros mecánicos un salario igual al de los gigantes del software como Google, Microsoft?

Bueno, es matemática simple.
Para ganar dinero, tienes que hacer algo, alguien va a comprar y pagar por ello.
Veamos dos sucesos:
Un ingeniero mecánico diseña y construye un dispositivo que te permite hablar con los animales (ciencia ficción, lo sé). Todo el mundo lo quiere, pero tiene que ser asequible para que cualquiera lo compre. Así que el hardware cuesta digamos 100 dólares, y él cobra otros 100 por su trabajo en él. Así que cuesta 200 dólares. Bastante. Pero ahora, la verdad, se necesita poca gente para construir un dispositivo tan complicado, pruebas, certificados, testbuilds etc. y para el equipo de sólo 4 personas incluyendo los bajos costos en que las pruebas etc. nos deja con alrededor de 20-30 $ de beneficio puro por dispositivo. Y es una cosa muy deseada, diseñada por pocas personas realmente baratas!

Ahora digamos que tenemos un programador de java y él hace un juego simple pero atractivo para android. Lo programó él mismo (no es raro hoy en día para juegos simples), pagó 1000$ al diseñador gráfico por el arte y 1000$ por unos pocos sonidos para que no sea mudo. Ahora vende su juego por 5$ en android market. Sus costes son inexistentes: puede copiar el juego todas las veces que quiera de forma prácticamente gratuita, por lo que obtiene un beneficio del 100%. Normalmente no se necesita ninguna certificación, ningún hardware costoso, ninguna fabricación... nada. Y mucha gente querrá comprar ese juego porque es barato. Tener solo 10k personas comprando ese juego, trae ganancias de 50k$-2k para el artwork, dejando alucinantes 48k$ de pura ganancia.

Lo que estoy tratando de decir, es que el diseño de software es mucho menos costoso que cualquier cosa que tengas que construir y probar físicamente. El software puede ser duplicado más o menos gratis, por lo que las ganancias son simplemente mayores. Pero esto puede cambiar muy pronto. Cada vez hay menos gente interesada en la ingeniería clásica, todos quieren ser programadores y nadie quiere ensuciarse las manos. Así que pronto se buscarán buenos ingenieros y se les pagará mucho mejor. Yo mismo estoy buscando trabajadores. Puedo conseguir un puñado de programadores por un sueldo medio, pero no encuentro ningún ingeniero con talento por sueldos como 2-3 veces el de un programador así que... Concluye tú mismo.