¿Por qué hay menos personas entrando en hardware, mientras que más personas están entrando en software hoy en día?

¿Quizás una barrera de entrada más baja? ¿Es muy fácil cavar y comenzar a jugar con él?

Es mucho más rápido y fácil escribir su primer programa “Hello World” (en el lenguaje de programación que elija) que construir un circuito físico con una batería, un interruptor, un portalámparas, una bombilla y los cables para conectarlo todo junto (Luego está todo el envoltorio de alambre, rizado o soldadura que necesita hacer).

Ahora tome el ejemplo anterior a un nivel de complejidad mucho más alto: es mucho más fácil escribir un programa de computadora para realizar operaciones matemáticas complejas, encriptar y / o desencriptar algunos datos y renderizar algunos gráficos en 3D de lo que es diseñar / construir una placa de circuito multicapa con circuitos dedicados (quizás basados ​​en FPGA, con memoria y puertos de E / S) para hacer esencialmente lo mismo (o algo de complejidad similar).

El software también es mucho más fácil de solucionar, depurar y modificar que el hardware, y no requiere equipos costosos como generadores de pulso, analizadores lógicos y osciloscopios. Es mucho más fácil aprovechar el hardware básico ya existente (o en muchos casos hoy en día, el hardware “virtualizado” ofrecido por los proveedores de computación en la nube) para implementar soluciones a problemas en el software. La mayor parte del trabajo pesado (en términos de complejidad algorítmica y / o computacional) es mucho más fácil de implementar en software, y en la mayoría de los casos, el rendimiento en hardware básico o hardware virtualizado es suficiente.

Un ejemplo de cuándo nos gustaría implementar algo en el hardware es interactuar con el “mundo real”: el hardware se convierte en un puente entre el mundo real y la computación pesada que ocurre en el hardware básico. Otro ejemplo es si se necesita un rendimiento extremadamente alto, y solo un hardware especializado altamente optimizado puede proporcionar este nivel de rendimiento. (Tal vez un gran grupo de GPU y / o dispositivos FPGA altamente especializados y dedicados para hacer minería de Bitcoin). Otra razón es para proteger la propiedad intelectual: los dispositivos de hardware sofisticados (como XBox, Sony Playstation, Apple iPhones y iPads) son extremadamente difíciles de usar. irrumpir, realizar ingeniería inversa o cambiar el propósito de alguna manera que el fabricante no aprobaría.

Supongo que esto se debe principalmente a que con una pieza de hardware, puedes hacer muchas más cosas con el software. Considera un teléfono inteligente. Puede tener varias compañías diseñando los componentes, pero tendrá a todas las personas que hacen software para él en Google Play o Apple App Store. Además, la barrera de entrada para aprender a crear software es mucho más baja, lo que permite que más personas entren en él. Para diseñar dispositivos electrónicos, necesita a alguien con experiencia que probablemente provenga de un pasatiempo costoso o una educación universitaria, mientras que, por el contrario, puede obtener una computadora barata y una conexión a Internet y comenzar a aprender a codificar casi de inmediato.

More Interesting

¿Qué puedo hacer como ingeniero de software sobre mi trabajo?

Soy una persona INFP interesada en Informática y Programación. ¿Es bueno para mí si sigo interesado en CS, teniendo en cuenta el hecho de que este campo es menos conquistado por personas de mi tipo de personalidad?

¿Cómo es ser ingeniero de software en Austin?

¿Todos los desarrolladores / ingenieros de software necesitan saber JavaScript?

Ingeniero experimentado en software de sistemas Linux, pero no puede pasar las pruebas de codificación en línea. ¿Qué tengo que hacer?

¿Los ingenieros informáticos acaban trabajando como ingenieros de software, ya que ahí es donde están todos los trabajos?

¿Cuáles son algunas buenas áreas de investigación en ingeniería de software?

¿Cuáles son las perspectivas de un recién graduado de 28/29 años en ingeniería de software?

¿Hay algún curso de software para aprender a convertirse en ingeniero de software para estudiantes de 12 clases?

Siendo ingeniero de software y actualmente teniendo experiencia trabajando en una empresa de tecnología, ¿puedes compartir algo que sea beneficioso para mí? Actualmente estoy en mi primer año de ingeniería (IT)?

¿Qué idiomas debo aprender para ser ingeniero de software?

¿Cuál es la diferencia entre los ingenieros de sistemas integrados de hardware y software?

¿Cómo puede un estudiante común convertirse en ingeniero de software?

Cómo convertirme en ingeniero de software si arruino mi vida

¿Cuál es el mejor camino de autoaprendizaje para pasar de novato a ingeniero de software?