Solo puedo adivinar lo que el entrevistador podría haber querido decir cuando dijo que tiene ‘conocimiento’ pero que carece de ‘habilidades de programación’. ¿Quizás conocía bien la parte de hardware / electrónica pero su sintaxis C era inestable? ¿Tal vez parecía conocer bien el lenguaje C, pero tuvo problemas para escribir código para problemas simples que el entrevistador le pidió que resolviera?
Cualquiera que sea el caso, estoy completamente de acuerdo con lo que la mayoría de las personas que han respondido a su pregunta han sugerido: ¡ sigan practicando! Simplemente no puede aprender programación de un libro más de lo que puede aprender natación o ciclismo de un libro. Debe probarlo usted mismo y definitivamente mejorará con el tiempo. La depuración también es una habilidad tan importante como la programación, para la cual desafortunadamente no encontrarás muchos libros.
En primer lugar, obtenga el lenguaje C en sí antes de entrar en la complejidad adicional de un sistema integrado. Intente hacer sus propios proyectos simples, experimente con punteros, implemente algunas estructuras de datos y algoritmos básicos (listas vinculadas, colas, clasificación, búsqueda, etc.). Incluso podría probar sitios como HackerEarth que le permiten practicar problemas de programación fácilmente en línea sin necesidad de un compilador. Una vez que conozca el idioma lo suficientemente bien, intente buscar en el código de otras personas más ideas.
- ¿De qué herramientas se compone la típica estación de trabajo de un ingeniero de software integrado?
- ¿Cuáles son las desventajas del sistema PLC?
- ¿Cuáles son los beneficios del PLC SCADA y los sistemas integrados?
- ¿Cuáles son los principios básicos de un microcontrolador 8051?
- ¿Por qué se prefiere la placa Arduino sobre la placa de desarrollo AVR cuando ambos tienen un microcontrolador Atmega?
Para la programación integrada, obtenga una placa de desarrollo basada en, por ejemplo, un AVR o un MSP430 o algún otro microcontrolador simple de 8 bits e intente abrir los periféricos uno por uno. Aprenda a usar temporizadores, interfaces de comunicación en serie, puertos GPIO, etc. Intente crear un sistema independiente con solo su propio código. Aprenda lentamente a integrarse con el código de otros y las bibliotecas de terceros. Ahora comience a hacer sus propios proyectos de pasatiempo de complejidad gradualmente creciente.
Sobre todo, no se desanime, sin importar cuántos rechazos pueda enfrentar. Mantén vivo tu interés. La mayoría de los buenos programadores que conozco realmente adoran el acto mismo de programar y eso los convierte en estudiantes apasionados, lo que a su vez mantiene sus habilidades afiladas.
¡Así que diviértete, buena suerte!