¿Qué puedo aprender en 1 año para convertirme en un ingeniero de software incorporado?

Si no está programando ni es un ingeniero electrónico con conocimientos de electrónica digital, entonces necesita aprender absolutamente todo desde cero. El programador incorporado es esa posición específica dentro del mundo de Ingeniería de Software donde se requiere una comprensión profunda del hardware. Necesita todo ese conocimiento detallado sobre cómo están diseñados los procesadores y periféricos para poder depurar interfaces entre el software y el mundo exterior.

El único consejo que puedo darte cuando entiendes cosas eléctricas es agarrar un tablero como Arduino o LaunchPad y comenzar a jugar. Compre libros o encuentre tutoriales en Internet. No te molestes en probar cosas de alto nivel como Python: no te ayudará a comprender detalles importantes. Apéguese a C. Aprenda a usar compiladores cruzados, incluso antes de comenzar a programar algo especial. Puede comenzar creando código fuente disponible a través de los recursos de Internet. Eso le daría más confianza en lo que está haciendo una vez que comience a hacer sus propios programas. Si desea aprender los conceptos básicos de CI, sugiera instalar alguna distribución de Linux (de forma nativa o en la máquina virtual) y comenzar allí: los compiladores están disponibles directamente desde la línea de comandos, ya que la curva de instalación y aprendizaje en Windows es muy empinada. Usando GCC o CLANG puedes entrenar tus habilidades en C de manera segura porque si te equivocas con tus punteros, la aplicación generalmente termina con una falla de segmentación. Si desea saber qué es eso y qué sucede detrás, en realidad es un muy buen ejercicio de software y hardware.

Al principio, aprendo la mayoría de mis habilidades en C solucionando errores en el software de código abierto e intentando compilarlos en variantes de Unix que no son tan compatibles (como HP / UX o Solaris) en ese momento. Esta es la experiencia de los tiempos en que comencé mi viaje en C, alrededor de 1996. Antes de eso, mi lenguaje de programación era Pascal, que creo que sigue siendo un muy buen lenguaje para aprender conceptos básicos de programación y algoritmos.