¿La ingeniería de software es más fácil que la ingeniería de hardware?

Hecho los dos. Software y luego hardware.

Sinceramente, no encuentro ninguno inherentemente más difícil que el otro, pero como ambos requieren una especialización profunda, eventualmente me especializaré en uno de ellos, el que tenga una mejor relación pago / estrés.

Como puede ver, el software generalmente requiere menos esfuerzo, más demanda y es más barato, mientras que el hardware es PODER .
Ok, es un poder que constantemente negocias contra la ley de la física, pero si consideras que los dispositivos son una extensión del cuerpo humano, constantemente logramos mover objetos más pesados ​​que nosotros con un mínimo esfuerzo, enviar mensajes a grandes distancias y enviar / escuchar señales en frecuencias lejanas por encima de la audición de cualquier animal.

El hardware inevitablemente le enseñará cómo pensar sobre el dinero, probablemente por eso los salarios más altos son más ricos. Adivina qué, ver que el dinero se quema indirectamente frente a tus ojos mientras conectas mal 2 cables te hará mucho más cuidadoso.

El software es cómo gobernar . Menos es más, para construir debes colapsar, nada se pierde realmente excepto el tiempo , oh espera, también podemos manipularlo, es una variable .
No saber está bien como puedes aprender, es un descubrimiento continuo.
Se estrella? Está bien, preguntémosle a la computadora qué no le gusta. Se recomienda hacer experimentos para destruir deliberadamente los sistemas.

Venta Hacer algo de dinero extra con hardware es mucho más fácil que el software; cualquiera le comprará una lámpara parpadeante o un objeto impreso en 3D por 10-20, mientras convence a un amigo de que pague 0,99 por una aplicación de juego es insistente. La mejor manera de ganar dinero extra con software es ayudar a las empresas locales a digitalizarse.

Hay diferentes tipos de cosas difíciles.

Hay mucho trabajo difícil, que muy pocas personas pueden hacer en cierto nivel, y muchos menos tendrán la oportunidad de hacerlo de manera impactante.

Luego está el trabajo duro, que requiere mucho esfuerzo constante y un compromiso con la excelencia y simplemente hacer una mierda.

Es como la diferencia entre saber que algo se puede probar y luego hacer una prueba sólida y de primer nivel para ello, y superar los límites de las matemáticas en sí, o descubrir un nuevo campo de estudio.

Ambos son difíciles, pero de diferentes maneras.

De todos modos … Para responder a esta pregunta, diría que en la práctica la ingeniería de hardware es definitivamente más difícil en una forma de trabajo duro. Pero también diría que la gran mayoría de los ingenieros de software no tendrán la oportunidad de hacer mucho en forma brillante.

Por lo que he visto, muy pocas personas realmente pueden hacer eso (lo brillante y difícil), y aún menos lo hacen de manera consistente (muchos están en la academia, no en la industria), y tiene poco que ver con el software ingeniería y mucho más que ver con matemáticas y CS.

El buen desarrollo de software es principalmente un trabajo duro, pero no está en la misma liga que la ingeniería de hardware. Conozco a muchos hombres y mujeres de hardware (muchos de los cuales también han estudiado CS y pueden comparar), y no es un concurso.

TL; DR: Hardware.

La opinión popular, que el software es más fácil que el hardware, es solo una percepción errónea, causada por la naturaleza de estas dos disciplinas diferentes pero muy relacionadas.

Mi analogía favorita es que tocar el piano contra tocar el violín . Cualquiera que haya intentado poner su primera canción de cuna en el piano, muy probablemente tenga éxito. Cualquiera que haya escuchado sonidos molestos de un niño practicando violín, sabe que es difícil de aprender. Hacer piano o violín profesionalmente es igual de difícil o igual de fácil.

Lo mismo es cierto para la ingeniería de software vs hardware. Probablemente sea más fácil poner en funcionamiento el primer programa hello world. Debido a la naturaleza virtual del software, incluso las cosas profundamente equivocadas parecen funcionar bien a primera vista. Esta diferencia desaparece cuando comienzas a comparar cosas correctas en ambos lados. Ejemplos:
Dispositivos de tomografía por rotación magnética y el correspondiente software de imágenes en 3D.
Controladores de automatización de fábrica, unidades, robots y el correspondiente software y firmware de ingeniería de automatización.
Plantas de energía eólica y software de procesamiento de big data para distribución de energía y equilibrio de carga.
La mayoría de las aplicaciones de 5 minutos que puede crear para su iPhone o Android no deben compararse con una obra maestra de electrónica auto soldada. En su lugar, debe comparar una aplicación con, digamos, ensamblar una PC sin componentes plug and play.
Estoy trabajando en Siemens y tratar con dominios de software vecinos de hardware es mi negocio diario.

No son fáciles Ingeniero de hardware y Hay varias partes en diferencia entre el ingeniero de hardware y el ingeniero de software, por lo que puede saber cuál es el más adecuado para usted.

1 personalidad

Ingeniero de hardware : deben tener pensamiento analítico, enfoque, iniciativa, independencia, persistencia, innovación, liderazgo, autocontrol, confiabilidad, razonamiento deductivo, orden de información y originalidad;

Ingeniero de software : necesitan Alto análisis, creatividad, persistencia, iniciativa, innovación, independencia, integridad, cooperación, autocontrol, fiabilidad, adaptabilidad, atención al detalle.

2. conocimiento

Ingeniero de Hardware : Computadoras, Tecnología, Electrónica, Telecomunicaciones, Inglés, Matemáticas, Administración;

Ingeniero de Software : Computadoras, Tecnología, Electrónica, Matemáticas, Diseño, Idioma Inglés, Servicio al Cliente y Personal, Comunicaciones, Ventas, Marketing;

3. Conjuntos de habilidades

Ingeniero de hardware : necesitan tener la habilidad de resolución de problemas, resolución de problemas, evaluación de sistemas, toma de decisiones, aprendizaje activo, gestión del tiempo, análisis de operaciones, escucha activa, estrategias de aprendizaje, comprensión de lectura, coordinación;

Ingeniero de software : necesitan tener la habilidad de diseño de tecnología, resolución de problemas complejos, resolución de problemas, pensamiento crítico, análisis de sistemas, programación, análisis de operaciones, análisis de control de calidad, matemáticas, gestión del tiempo, coordinación, monitoreo.

He estado en estos dos mundos. Soy ingeniero de hardware, aunque la mayor parte de mi vida la he pasado haciendo software para varias empresas.

El tiempo de comercialización es mucho más largo para la ingeniería de hardware que para la ingeniería de software. Para que una persona diseñe un hardware de trabajo sofisticado, se necesitan muchos años de capacitación académica y pruebas de laboratorio. Digo que tener al menos 4 años de formación académica formal en un campo de ingeniería relacionado con el hardware (electrónica, telecomunicaciones, sistemas de control) es el mínimo indispensable para ingresar al mercado. Y eso es solo el comienzo. El mercado del hardware es muy amplio y dinámico. También es especializado. Las soluciones más demandadas son personalizadas. Tener experiencia en un dominio es imprescindible. Se requiere una gran cantidad de piratería, seguimiento y error incluso con una buena formación académica para que un hardware funcione como se espera. También considere que no hay Google para hardware que no funciona como lo hace para los códigos que no funcionan. El mercado del hardware es muy cerrado y especializado. La mayoría del hardware que no funciona funcionaría mediante piratería (¡o golpeando la cabeza contra la pared!)

Ahora compare eso con la ingeniería de software. Un curso rápido sobre un lenguaje de programación como Python puede hacer que un software novato sea productivo en unos pocos meses. El mercado del software está lleno de demandas comunes. Solo cuente la cantidad de pequeñas empresas que exigen sus propios sitios web públicos o sus tiendas minoristas digitales. Todos pueden usar plataformas de software similares. Esto no funciona en el mundo del hardware.

Sin embargo, el software tiende a evolucionar y crecer todo el tiempo. Una buena arquitectura debería predecir las demandas futuras y considerarlas desde el primer día. Un software mal diseñado tiende a romperse temprano en su vida útil. Esto es cuando las habilidades avanzadas de ingeniería de software y la ciencia entran en juego.

Entonces la respuesta es que en el mundo profesional, ambos campos son difíciles y desafiantes mentalmente.

Después de haber trabajado con muchos ingenieros de HW y SW, diría que las personas de ambos campos piensan que la otra disciplina es más difícil (y / o menos interesante, etc.) que la suya.

Es muy común escuchar a los ingenieros de HW decir “Nunca entraría en SW” y viceversa.

Hoy creo que los ingenieros de HW tienen muchas herramientas sofisticadas a su disposición para probar sus diseños antes de grabarlos en silicio. ¿Quizás herramientas aún más sofisticadas que los desarrolladores de software?

Los ingenieros de HW también usan una gran cantidad de HW reprogramables hoy en día, lo que significa que pueden iterar con demasiada facilidad hasta que obtengan algo que funcione.

Para mí, HW parece más difícil que SW ya que tienes que lidiar con la “física”: voltaje, impedancia, conductores, relaciones de señal a ruido, interferencia, etc., que son “fenómenos naturales” abstractos en lugar de matemática / informática que es concreta e inventado por los humanos.

Cuando trabajé en Siemens Plc como ingeniero de software integrado, vi diseños de hardware y software de primera mano.

Me las arreglé para molestar a algunos ingenieros de hardware (Uy) diciendo la verdad tal como la vi. El software de nuestro producto era de órdenes de magnitud más complejas.

El diseño del hardware tenía aspectos genuinamente difíciles: alto voltaje, control de potencia de alta corriente. Gestión térmica. Pero se hizo. Y cuando se hizo, se hizo .

El software no solo tenía un flujo interminable de nuevas solicitudes de funciones, sino que también era algo bueno. Simplemente tenía muchos más estados en él.

El hardware tenía dos cpus, y del que era responsable, teníamos unas ~ 25k líneas de código. Todos representaban al menos una decisión. Muchos de ellos introdujeron el estado en el sistema. Memoria. Entonces, cómo se comportaría en el futuro sería diferente de cómo se comporta ahora.

Mientras tanto, un MOSFET de conmutación de potencia es solo eso. Si hace demasiado calor, se quema. Si no, cambia la alimentación.

Mi sensación fue que comprender lo que estaba haciendo el software era más complejo que comprender lo que estaba haciendo el hardware. Y no pretendo menospreciar a los talentosos ingenieros de hardware de ninguna manera. El proceso de diseño fue difícil, usó mucha habilidad y experimentación.

Es solo la idea de que el espacio de estado del software era muy grande, el del hardware mucho más pequeño.

Entonces, en este caso, y visto de una manera particular, sentí que el software era más difícil que el hardware.

Pero, por ejemplo, mira el transbordador espacial. Supongo que la ciencia de los materiales, la dinámica de fluidos, la ingeniería de combustibles, la protección térmica … todo sobre ese hardware es mucho más complejo que el software que contiene.

Tengo dos pensamientos sobre este tema:

  1. El software es infinitamente modificable, por lo que puede corregir sus errores o mejorar su primer borrador más fácilmente en software que en hardware. Eso hace que la ingeniería de software sea más fácil, o al menos más indulgente.
  2. Dicho esto, varios ingenieros de hardware me han dicho que el mundo del hardware se está volviendo más como el mundo del software. Cada vez hay más componentes reprogramables y las herramientas de diseño permiten simulaciones cada vez más precisas antes de comprometer su proyecto de fabricación.

He trabajado mucho más con el software que con el hardware y tengo un profundo respeto por los ingenieros de hardware.

He trabajado en la verificación previa al silicio en el pasado.

En mi opinión, una de las principales diferencias es que en el hardware se trata inherentemente con el procesamiento paralelo (incluidos los errores relacionados con esto) la mayor parte del tiempo. En software … depende de la aplicación. El seguimiento de eventos interrelacionados que ocurren en paralelo es difícil. Imagine que necesita un monitor grande y ancho para poder rastrear paquetes en un bus con eficiencia.

Yo diría que el hardware es más difícil.

No creo que uno sea más difícil que el otro. Actualmente uno es más popular. Solía ​​pagar mucho por el hardware y obtener el software de forma gratuita. Ahora el costo del hardware es mínimo; Pero, el software es caro.

Hoy en día, muchos pueden pensar que pueden idear una aplicación rápida y ganar mucho dinero. Sin embargo, en el mundo corporativo, el software es muy complejo. ¿Más complejo que el hardware? Yo diría diferente. Cada uno requiere un diseño detallado, desarrollo y pruebas.

En los viejos tiempos en la F1 no había sustituto para hacer el trabajo, desgastando neumáticos, motores y cajas de cambios a medida que avanzaba milla tras milla en alguna pista de prueba.

La nueva generación de pilotos de F1 no hace nada de eso. Su tiempo lo pasan en la fábrica, o incluso en sus habitaciones delanteras, en un simulador. Pueden probar diez mapas de motores diferentes antes del almuerzo, probar la configuración en media docena de circuitos después, todo sin dañar nada. También se nota: estos muchachos son muy buenos y tienen mucha experiencia más allá de sus años.

Las startups funcionan así ahora también. Puedes hacer tus diez mil horas incluso antes de salir del modo sigiloso. Puede ajustar los modelos para diferentes mercados, probar una docena de variaciones de las características del producto y perfeccionar el MVP sin gastar mucho dinero.

Esto está reduciendo seriamente la brecha entre los productos físicos y de software. Puede crear un producto de hardware de la misma manera y a un costo similar, con solo una etapa final de producto físico al final, una vez que se minimiza el riesgo.

Pero, ¿qué efecto tiene esto en los trabajos? Es por eso que el software es ahora la habilidad principal: desarrollar cualquier cosa ahora comienza con el software. En el tiempo que le lleva desarrollar un producto de hardware a la antigua usanza, no solo han producido un producto mejor que el suyo, también han desarrollado media docena de otras cosas, todo por menos dinero del que gastó.

El software se ha comido el mundo: es hora de despertarse y oler el café.

Creo que sí, especialmente en la introducción a los niveles de habilidad intermedios. Hago ambas cosas, y el diseño de hardware IMO requiere una mayor comprensión de los problemas físicos complejos. Además, las simulaciones no son perfectas y, por lo tanto, a menos que esté haciendo de FPGA, el enfoque de “batir y quemar” (probar, arreglar, recompilar, repetir) no funciona. Si cuesta $ 1M + hacer las máscaras para su semiconductor, debe hacerlo bien la primera vez. Por supuesto, estoy interpretando que “ingeniería de hardware” significa diseño de sistema / placa / semiconductor en lugar de programación / firmware / etc. No estoy seguro de que eso sea lo que quieres decir, pero si aclaras, yo también lo haré.

Para ser un gran ingeniero de software, necesita saber sobre el hardware, por lo que también hay una arruga allí.

Pide más detalles y trataré de ayudarte.

El costo de un error de hardware es relativamente mayor, ya que se debe fabricar un nuevo chip o una nueva placa. Para rectificar un error de software, una nueva versión lleva relativamente menos tiempo.

Nada es fácil en este mundo, amigo mío, hasta que comiences a trabajar para lograrlo.

Pienso de la misma manera, pero el software y el hardware son simples. En hardware, por supuesto, hay una forma más compleja.

More Interesting

Cómo estudiar la mecánica de la manera correcta

¿Cuál puede ser una respuesta adecuada en una entrevista sobre por qué desea cambiar de un fondo básico como la ingeniería mecánica a la consultoría?

¿Es el NIT en Rourkela una buena opción para la ingeniería mecánica, y qué tipo de paquete puedo obtener desde allí?

La investigación de ingeniería y OSHW me animaron a interesarme en la web semántica. No tengo un doctorado en CS, pero trabajo en el SW a tiempo completo. ¿Problema?

¿Qué debo hacer para ser un mejor ingeniero químico?

Como ingeniero civil o estudiante de ingeniería civil, ¿necesita conocer cada subcampo, como cómo usar las herramientas o la teoría de cada uno? Por ejemplo, si quieres estudiar ingeniería estructural, ¿realmente necesitas saber topografía y cosas similares?

¿Cómo es la vida de un estudiante mecánico de 1er año?

¿Cuál es el mejor sitio o libro (enciclopedia) donde puedo encontrar cómo funciona cualquier mecanismo?

¿Qué cursos en línea están disponibles para un estudiante de ingeniería civil?

Después de obtener la admisión en IIT, ¿qué rama es mejor, ingeniería informática o ingeniería mecánica?

Estoy estudiando ingeniería mecánica del curso de diploma, ¿qué valores constantes debo saber?

¿Cuáles son las 10 mejores universidades de ingeniería en Mumbai para CSE?

¿Qué rama de la ingeniería / tecnología hace más uso de las matemáticas?

¿Cuál es la habilidad necesaria para estudiar ingeniería robótica?

¿Puede un estudiante promedio convertirse en un ingeniero de automóviles exitoso?