SystemC: A language for System-level design, high-level synthesis, modeling, and verification.
Given the exponential growth of technology in the automotive industry leading to concepts like connected vehicles, data centers on wheels, and software-defined vehicles, there is an increasing demand for Digital Twins (or Virtual Software Models) of the various underlying hardware platforms. Using Digital Twin, customers can perform architectural explorations, early software development, and validation, to accelerate their Go to Market timelines. These models are usually written in SystemC.
Q. You recently moved from working in embedded to Digital Twin. What is the main difference between working in the two?
A. The difference between working in SystemC and Embedded is that an embedded system involves working on a microcontroller and programming on it. In SystemC, we do virtual prototyping of MCU, which means finding how an MCU will work in different scenarios. In embedded, we work on the actual hardware, and in SystemC, we work on the virtual simulation model of the hardware with all the modules integrated, like I2C protocol and ethernet.
Q. If you have to describe your career path from Embedded to Digital Twin, how would you describe it?
A. In my experience, both are more or less the same with basic concepts. Coming from an embedded background, I knew C programming language and the basic of hardware architecture. If you know C language, then adapting to C++ becomes easy. So if you ask me, no extra skill is required. You learn on the go if you have command of the basics. Vayavya provided me with the necessary training that made my transition smooth.
Q. What embedded concepts do you need to know that help in System C too?
A. How hardware works, knowledge of communication protocols, and how to deal with memory – listing a few from the top of my mind. You can also do a specialized/certification course in embedded systems to understand the concepts better. At Vayavya, the Senior colleagues are supportive and are always willing to help whenever you want to understand something or want to explore a topic in depth.
Q. What if, at some point, you want to go back to embedded? Can we still go back and do embedded programming later?
A. The overall concept for both remains the same. You need to read the datasheet, and both involve coding. So it is easy to move back to embedded at any point. The common grounds for both are – Programming in C and Linux.
Q. What made you interested in Digital Twin? And why you joined Vayavya?
A. I worked on the hardware before and knew how that works. It is easy to understand something that exists physically. What used to make me curious was the software and prototyping part. SystemC is prototyping, explaining how it actually works with the help of a data sheet.
When I appeared for the interview, I searched about the company and Karthick. What struck me then was not how much my salary would be, but that I would receive training from Karthick Gururaj. His profile in SystemC is so strong that it got me curious and excited at the same time to opt for this. If you are good in C/C++ programming, all it takes then is to go through the syntaxes.
At Vayavya, this came to me as a surprise, that they give you more than sufficient time (almost a month) to learn C++, provided with guidance from the best in the industry.
The biggest plus is the assignments and a senior colleague constantly reviewing those, providing the necessary feedback to improve. That gives you a sense of confidence in the implementation of the actual project. So two things that made me choose Vayavya is – the leadership team and the hands-on training.
Q. What are the challenges you faced in switching between the two fields?
There weren’t many challenges I faced, as my basic concepts were clear. I have good knowledge of C, so moving to C++ was not a very big transition. However, I had to understand how the C++ library works to implement the SystemC model. Again, our CTO – Karthick Gururaj, SystemC Architect Abhijit Naik, and Embedded Software Developer, Keith Kevin helped me a lot and always provided extra support, even when it meant giving me additional time to understand the concept.
Q. What is the one thing all embedded engineers should know before moving to Digital Twin?
A. Make sure you understand the basics first, and you will have no trouble understanding SystemC concepts. Be it C or C++, have a hands-on learning experience in any and familiarity with working on Linux. With a strong command of the basics and the appropriate guidance from the seniors here at Vayavya, you will be a pro in SystemC in no time.
Q. What made you choose embedded engineering as a career path in the first place?
A. I didn’t know professional coding after my engineering, and I had to make a call between doing what everyone else was doing and joining a big firm to become an average software engineer or making a promising career for myself in something that gets me excited about tech. I always had a hunger to know and learn and not just get into a company for a high salary package. I researched the career prospect in different fields of tech and came across the future Digital Twin holds. It was then easy to jump right into it.
One Tip: Keep your basics right – C/C++ or embedded system. There are a lot of opportunities in Vayavya for the person who wants to grow. You will be exposed to multiple projects and will be able to work with individuals having 25+ years of industry experience. Time and learning flexibility is always there.