¿Comparación entre ingeniero de software e ingeniero de firmware (ingeniero de sistemas)?

Un ingeniero de firmware trabaja cerca del hardware en el que se ejecuta su software. Debido a esto, los ingenieros de firmware tienden a tener un conocimiento más íntimo del diseño de circuitos digitales, señales de reloj de hardware, diagramas de temporización y otras cosas similares. Un ingeniero de firmware a menudo se puede identificar por el tipo de herramientas que se encuentran a su alrededor, es decir, un osciloscopio, un analizador lógico, un BDM o ICE, etc.

Un ingeniero de software con un título en informática tiende a no tener la capacitación electrónica / eléctrica y, por lo tanto, es un paso eliminado del hardware en el que se ejecutará el software. Los ingenieros de software tienden a escribir software de aplicación que se ejecuta en sistemas operativos de PC o mainframe. Los desarrolladores web también pueden clasificarse como ingenieros de software que escriben aplicaciones web y crean sitios web complejos.

Los ingenieros de firmware no son más valiosos que los ingenieros de software, por el hecho de que sucede lo contrario. Hay muchas más oportunidades en negocios, industria, telecomunicaciones para ingenieros de software y, por lo tanto, mejores salarios y progresión profesional que los ingenieros de firmware.

Dicho esto, la demanda de ingenieros de firmware en todo el mundo está aumentando rápidamente impulsada por el Internet de las cosas y la informática M2M. En el futuro, los ingenieros de firmware estarán a la altura de los ingenieros de software.

La terminología difiere un poco por persona, pero principalmente un ingeniero de firmware programa un controlador que controla el hardware. Necesita conocer el mapa de registro y cómo configurar y controlar el hardware al que tiene acceso el controlador. El firmware conoce los registros específicos del hardware. El ingeniero de software se encuentra en una capa superior, no tiene conocimiento detallado del hardware. El ingeniero de firmware generalmente crea una capa de abstracción de hardware HAL que utiliza el ingeniero de software. Por encima de la capa HAL, llamaría software. Para sistemas más pequeños en chip, puede que no haya un HAL. Y dependiendo de la persona que tenga una interpretación ligeramente diferente del firmware frente al software. Porque todo es código.

He pasado la mayor parte de mi vida laboral en la industria del software integrado (principalmente automotriz y aeroespacial). Desde este contexto, tendería a llamar al rol de “Ingeniero de software incorporado” en lugar de “Ingeniero de firmware”.

En embebido, parece haber una “bomba demográfica demográfica”, en el sentido de que parece haber muchos más ingenieros de software embebido que tienen más de 40 años. Por lo tanto, es justo decir que habrá una creciente demanda y oportunidades en esta área. Encontramos que reclutar nuevos ingenieros para embebidos depende mucho de:

  • Los detalles del grado que obtuvieron (algunas universidades pasan algún tiempo mirando los “aspectos prácticos” de las computadoras), lo cual es esencial: debes entender lo que está sucediendo a nivel de CPU, en lugar de (por ejemplo) solo Nivel Java VM.
  • Interés personal. Si alguien ha pasado mucho tiempo en proyectos con PIC o juntas de desarrollo de Atmel, es probable que sea una buena señal para nosotros.

¿Te hará ganar más dinero? Depende. Si ingresa al mundo financiero, estoy seguro de que hay muchas personas que ganan mucho más que los ingenieros integrados. Por otro lado, sospecharía que, en promedio, los ingenieros integrados ganan más que los ingenieros de software “generales”.

Además, los proyectos integrados pueden ser increíbles: ¡escribir código para controlar cohetes, aviones y automóviles es genial!

More Interesting

¿Cómo es ser entrevistado en Google?

¿Cómo se ve la trayectoria profesional de un ingeniero front-end?

¿Cuál es la forma de ponerse en contacto con una agencia de contratación?

¿Cuáles son algunos consejos para conseguir un trabajo en IBM?

Cómo encontrar reclutadores para pasantías de ingeniería de software

¿Quiénes son los mejores desarrolladores de PHP en Los Ángeles?

¿Cuáles son las cualidades que el entrevistador ve de una manera más fresca para seleccionar un candidato?

¿Es más difícil pasar una nueva entrevista de ingeniería de software de posgrado en Google durante el semestre de primavera en comparación con el semestre de otoño?

Si me mudo justo antes de una entrevista en el sitio de Google (pero actualmente vivo cerca del sitio), ¿calificaría para el reembolso del viaje por la entrevista?

¿Me colocarán en un nuevo rol de ingeniero de software graduado si me cambio a Google solo un año después de unirme a mi empresa actual?

¿De dónde son reclutados los ingenieros de software la mayoría de las veces?

¿Los blogs de ingeniería ayudan a reclutar talentos de ingeniería de primer nivel?

Como estudiante con experiencia en ECE, ¿es correcto unirse a Ericsson como estudiante de primer año? Cuando recibí una carta de oferta de TCS y ERICSSON, ambas.

¿Existe una carrera profesional para los reclutadores de TI? Si es así, ¿dónde y cómo se hace la transición?

¿Cuál es la mejor manera de cerrar una posible contratación / contratación?