Purple, Lighting, Flower, Petal, Plant, Texture, Light, Art, Graphics, Green

Hi Ruchi, I was wondering what skills I should develop to best fit into an embedded software role

Kishan B. asked a question to Ruchi R.

View favourites
  • 1 replies
  • 51 views
  • Author: Kishan B.
  • Category: Role, Role description
  • Date asked:
  • Last update:
  • RR
    Ruchi R. Software Enginner

    Hello Kishan B,
    Thank you for your question. For an embedded software role, it is crucial to have a holistic understanding of how device software works, for which, one should have a strong foundation of Operating Systems focusing on concepts like Memory Management, Process Scheduling, Multithreading, Inter-process Communication and more. You can benefit from having an understanding of widely used microcontrollers/microprocessors such as ARM Cortex; embedded communication protocols such as CAN, UART, SPI, I2C, Ethernet; embedded Linux platforms such as Yocto; familiarity with RTOS and some hardware debugging tools like JTAG. Most embedded devices are developed using C and C++ so you should definitely practice programming using these languages as well as Python for scripting and automation. If you are interested in more low-level programming, then some assembly language knowledge would be beneficial. Along with good programming skills, you should also have good debugging skills where you can use tools like GDB. You can search for more related topics and hope this answer gives you some direction.