Soy tal persona Me gradué BSCE de UMich 1997. Tomé [no puedo recordar la mayoría de los números de curso y es probable que ahora sean diferentes de todos modos]
Pascal
FORTRAN
C
C ++ con estructuras de datos y algoritmos
Diseño de lógica digital
Circuitos análogos
Arquitecturas informáticas (EECS370 y EECS470)
Diseño del compilador
Señales y sistemas
Ingeniería de software
…
Se podría decir que me concentré un poco más en el software que en el hardware. Pero en mi carrera en los últimos 17 años me he acercado cada vez más al límite del hardware / software. He escrito verilog para FPGA / CPLD. He escrito controladores de dispositivos para una amplia gama de dispositivos: PCI NIC, USB, I2C, SPI, etc. He escrito varios sistemas de archivos basados en FLASH. He escrito un programador JTAG en circuito. Considero que herramientas como Wireshark y ámbitos lógicos [¡especialmente las que tienen módulos de análisis de protocolo integrados!] Son igualmente útiles en la búsqueda de la verdad.
- ¿Qué es un ingeniero de sistemas? ¿A qué se dedica?
- ¿Cuáles son algunos casos de uso para usar algoritmos en el desarrollo de software?
- Estoy frustrado de ser un probador de software durante 2.7 años y quiero pasar al desarrollo, ¿cómo debo planificar y proceder?
- ¿Cómo llegaste a una posición que combina la programación con las personas? Hago programación para el trabajo, pero me gustaría más interacción con las personas.
- Cómo pasar de un desarrollador senior de .NET a un arquitecto de software .NET
CE es lo mejor de ambos mundos, y mientras estás inmerso en él, puedes elegir tu propia dirección en función de lo que despierte tu interés. Desearía haber podido tomar algunas clases más de electrónica analógica, y haberlas tomado un poco más en serio que yo. Pero por lo que vale, tome lo que sea más interesante para usted. Intente obtener una buena base tanto en hardware como en software: no se preocupe demasiado por el equilibrio si encuentra algo * increíblemente * interesante. El resto se puede aprender en el trabajo.