¿Una sólida base de circuitos digitales y electrónica hace una diferencia real si va a trabajar como desarrollador de software?

Si desea trabajar en el desarrollo de software, solo necesita conocimientos de hardware si va a interconectar hardware con su software. IOW, ¿en qué puerto escribes en este momento de tu programa? Podrías molestar a un ingeniero de hardware para que te diga en qué dirección reside el puerto, o si entiendes el hardware, puedes mirar el esquema y resolverlo. (Y debe saber, habiendo estudiado algunos componentes electrónicos digitales, que descubrir qué entradas, IOW qué dirección, le dará un alto [o bajo, dependiendo de lo que necesite el chip de salida, que también debería poder encontrar muy fácilmente] en el pin de salida)

¿Pero para el desarrollador de software promedio? El hardware es una caja negra. Ejecute este código y se produce esa función: es mágico. (Dudo que muchos desarrolladores de software realmente entiendan cómo funciona el hardware, incluso en ese nivel simple).

No es exactamente blanco o negro. Depende de lo que quieras hacer cuando te gradúes. Diré que tener un título de una escuela de ingeniería no hizo más que ayudarme después de graduarme. Mi programa era mitad hardware, mitad software. Alrededor del 95% del desarrollo de software del “mundo real” está cubierto en estructuras de datos, estructuras de archivos, introducción a algoritmos y bases de datos. Si su programa tiene esas cuatro clases, está tan preparado para una entrevista de desarrollo de software de Jr. como pueda obtener.

Lo que hará la mayor diferencia en su carrera es su primer trabajo.

Si desea quedarse con hardware y electrónica, entonces debe conocer la programación. Casi todo tiene un componente de software en estos días, es la forma más sensata de diseñar la mayoría de las cosas. El desarrollo de software integrado nunca va a desaparecer, solo va a crecer, por lo que es una carrera segura, IMO.

Si quiere ser ‘solo’ un programador (por ejemplo, web, escritorio, empresa, base de datos), entonces el lado del hardware es menos importante.

Pero después de haber recorrido esa ruta yo mismo, desde el hardware hasta el software, creo que tener conocimiento del hardware te da una idea más profunda de cómo funciona realmente el software, y eso puede hacerte un mejor programador. Ciertas cosas en el software, como el cambio de bits y el enmascaramiento (que parecen ser un verdadero obstáculo para muchos programadores que comienzan) son muy naturales una vez que ha trabajado con hardware y pueden conducir a un mejor código.

A2A.

No estás en un programa CS sino en un programa CE. En un programa CS no necesita saber nada sobre circuitos digitales, realmente, pero en un programa CE sí.

Parece que realmente quieres estar en CS. Se puede transferir? Tiene mucho sentido aprender a codificar por su cuenta, pero no es probable que sea suficiente.

Una base sólida en electrónica digital puede ser útil para las tareas mundanas asociadas con la creación de un nuevo circuito basado en computadora, como en un rol de desarrollo integrado. No encontré que el conocimiento de los circuitos digitales sea particularmente útil para diseñar o codificar software. Son dos dominios separados.

Creo que una comprensión básica de los circuitos digitales y la electrónica sería ventajosa. Hace muchos años trabajé con software

desarrolladores (yo era un desarrollador de hardware) que no tenían ningún fondo digital o electrónico y parecían estar bien en su

mundo del software

No creo que sea una pérdida de tiempo o energía de su parte, particularmente, si puede autodidactarse la parte de programación. Significa

Serás un ingeniero informático más competente.

Buena suerte para ti..

¿SIEMPRE desea ser solo un desarrollador de software haciendo “pilas web completas” o “personalización de SAP”?

Por supuesto, si el lado del hardware no le interesa, entonces la respuesta es probablemente “sí”.

Para mí personalmente, no podía soportar SOLO hacer software: hacer diseño de sistemas, HW, SW y todo lo demás es lo único que puedo imaginar querer hacer. Pero solo soy yo. Tú eres tú.

Realmente depende de en qué área de software planeas entrar.

La electrónica analógica y digital es esencial si planea entrar en el campo de los sistemas integrados o IoT.

Para la programación de escritorio, aplicaciones de teléfono y tableta o desarrollo web, no creo que sea necesario.

Los circuitos digitales y la electrónica son útiles si tiene la intención de diseñar computadoras o sistemas digitales. Tienen muy poco que ver con la programación; estarías mejor en un curso de informática.

Depende de qué tan cerca desee trabajar del hardware. Aquí hay una lista corta con los primeros elementos que requieren más conocimiento de hardware y los elementos inferiores que requieren menos / ninguno:

  1. Programación integrada / Internet de las cosas
  2. Controladores de dispositivo
  3. Utilidades
  4. Software de aplicación / Software móvil
  5. Software web

¿Qué tipo de código quieres escribir?

More Interesting

¿Vale la pena aprender Visual C ++ hoy?

¿Cuál es la mejor empresa de desarrollo de software del mundo?

¿Cuáles son los mejores diseños de espacios de oficina para el desarrollo de software?

¿Cuándo es demasiado tarde para despedir a los desarrolladores de software? Se suponía que el proyecto estaría completo en 4 meses, pero han pasado 10 meses. Hay muchos errores en la aplicación y parece barata. ¿Qué tengo que hacer?

¿Por qué a los diseñadores de productos generalmente se les da la responsabilidad de la gestión del producto y no a los desarrolladores de software?

¿Los guiones gráficos se usan ampliamente en el desarrollo de iOS, o los desarrolladores todavía prefieren usar archivos .XIB / .NIB? ¿Cuáles son los pros y los contras de usar cualquiera?

¿Es cierto que algunos desarrolladores de software tienen muchos años de experiencia en programación y aún no saben cómo resolver preguntas de programación dinámica en una entrevista?

¿Cuál es la herramienta JIRA de Atlassian?

¿Conseguiré un trabajo de desarrollador de software (como nuevo) si solo conozco C y también he realizado proyectos usando C?

Desarrolladores de Javascript: ¿Qué 'patio de juegos' te gusta usar más, Codepen.io, jsfiddle o cualquier otro, y por qué?

¿Cuáles son algunos buenos cursos de certificación para desarrolladores de software profesionales?

¿Por qué necesitamos desarrolladores de software de reservas de viajes?

¿Qué hace que un desarrollador quiera utilizar la tecnología de Twilio y ser miembro de la comunidad de desarrolladores de la compañía?

¿Cómo desarrollan un producto los ingenieros de software?

Si desea convertirse en un desarrollador de software desde cero en 2017, ¿por qué aprender lenguajes de programación más antiguos como C ++ y JS en lugar de Rust, Go y Swift de hoy?