¿Cuáles son las habilidades que se buscan en los ingenieros informáticos?

Embedded C ++ se está apoderando del mundo incrustado. C ya no es un lenguaje muy bueno para programar microcontroladores. C ++ es mucho mejor, y en realidad puede generar código más pequeño que C debido a las optimizaciones modernas del compilador. Debe aprender el desarrollo impulsado por pruebas incrustadas usando Google Test (GTest) con Google Mock.

mbed es una de las mejores API de C ++ integradas; Está hecho por ARM y es una de las mejores soluciones de IoT. Descubrí que reduce drásticamente el tiempo de comercialización. Si necesita optimizar algo, proporcionan fuente de C con envoltorios de C ++ para que pueda descargar el código y modificar la biblioteca mbed de bajo nivel muy rápidamente. Estoy trabajando en un marco de simulación de código abierto para mbed usando GTest llamado mbedBug, pero no se lanzará hasta julio de 2016.

Una de las mejores cosas de C ++ es que puede usar una interfaz virtual pura con implementaciones privadas (PImpl) para crear plataformas de prueba potentes muy robustas. Es mucho más rápido desarrollar software embebido en x86 nativo dentro de Visual Studio o Eclipse con hardware burlado; especialmente si también estás haciendo una aplicación. Una gran cantidad de código para el que realmente no necesita un tiempo estricto, por lo que puede salirse con un PImpl que registra sus llamadas de función a través de GTest. Puede intercambiar sus interfaces virtuales en la fase de enlace para emular requisitos de tiempo estrictos. ¿Por qué usaría un analizador lógico cuando puede falsificar el hardware y dibujar los datos directamente en la pantalla? Es más fácil depurar en la consola en lugar de un terminal serie o un depurador MCU.

Python también es muy útil para las secuencias de comandos. mbed lo usa para pruebas automatizadas. Muchos ingenieros me contaron historias exitosas de cómo Python salvó el día. Python se usa en Google Test, así como en SCons. Python es bueno para configurar scripts de prueba para servidores para productos IoT. Cuando necesita ejecutar una prueba, usa Python para intercambiar su base de datos con sus datos de prueba. Recomendaría el Bitnami Django Stack para todas sus necesidades de Python de IoT.

Este es el mejor video que he encontrado en C ++ TDD incorporado.

Supongo que donde estudias hay superposiciones entre la ingeniería eléctrica y la informática. Aprenda a codificar en VHDL / Verilog en FPGA. Intente codificar para diferentes tipos de sistemas integrados, sistemas de microcontroladores y microprocesadores, pero los FPGA son muy populares debido a las capacidades de procesamiento rápido. Son bastante tediosos para trabajar, pero valen la pena. Aprenda a diseñar sistemas integrados de control de circuito cerrado con retroalimentación. Python, C ++, C # son una excelente plataforma de codificación y tener una buena comprensión de cómo desarrollar algoritmos ayuda a dominar prácticamente cualquier lenguaje.

More Interesting

¿Por qué la gente piensa que los programadores, los informáticos y los ingenieros informáticos están mejor sin ir a la universidad?

¿Debe un ingeniero informático tomar el cálculo 3 si es opcional?

¿Cómo funcionan los principales circuitos integrados de una computadora? (RAM, ROM, EEPROM y SSD)

Cómo prepararse para una entrevista IIM dentro de los 3 días (antecedentes en Ingeniería Informática)

¿Qué pueden aprender los ingenieros de verificación de diseño en solo 10 minutos que podrían ser útiles para el resto de sus carreras?

¿Salir al exterior chocaría los sensores de los Microsoft Hololens?

2 de mis colegas y yo estamos haciendo una presentación sobre Open MP, ¿pueden decirme qué temas trataremos?

¿Puedo triplicarme en ingeniería informática, ingeniería eléctrica e ingeniería aeroespacial?

¿Cuáles son los mejores programas de posgrado en ciencias de la computación / ingeniería en el Reino Unido para alguien con intenciones empresariales después de la graduación?

¿Cuál sería el futuro de la informática y la ingeniería informática en los próximos 10 años?

¿Cuál es la diferencia entre hacer BCA MCA e ingeniería informática? ¿Cuáles son sus oportunidades laborales y cuál es mejor?

¿Puedo hacer ingeniería informática sin tomar una clase de informática en +2?

¿Cuáles son las éticas de probar NP = P?

¿Cuáles son las posibilidades de que la ingeniería de software quede obsoleta por la automatización?

¿Quiénes son algunos astronautas que han tenido una especialización en ciencias de la computación o ingeniería informática?