After our first episode on the job of embedded systems engineer, for this second episode of our series “Job Of The Month”, we would like to shed some light on the practice and career of low-level software engineers.
Our consultant, Richard, has agreed to share with you his career path and to tell us more about his job.
Surprisingly, as far back as I can remember, I wanted to become a chemist. Then later on, I became an electronics engineer because I wanted to reprogram cars with my brother.
In reality, my career choice was defined by my passions. As a little boy, I was fascinated by computers and their environment, from video games to PC repair, and so I wanted my job to be related to this field that I am passionate about.
With the idea of becoming a electronic technician in mind, I decided to study both fields: electronics and computer science.
From there, I started with a STI in Electrical Engineering and then a DUT in Electrical Engineering and Industrial Computing for 2 years. Finally, I completed an Engineering Degree with a specialization in Electrical Engineering over a period of 3 years, including 2 × 6 months of professional internships:
To be honest, this is a very generic question. To simplify, a low-level SW ENG is a person with knowledge in low-level software (DEV in C / ASM) and programming rules.
Today, if I were to put a name tag on my job, it would be : Software Engineer specialized in BSW Autosar Stack & Network System (CAN & Flexray)
What does this barbaric title mean 😊 ?
To begin, to have an overview of the terms used, we usually break down a product into 3 sub-parts:
In a few words, I work on the low-level layer of a SW, which is more commonly called in our domain “BSW” (Basic Software). Inside that layer, all the functionalities will allow our SW to communicate with the outside (the other electronic boards of the network).
My specialization is focused on the part that manages the communication with the network and more specifically the “FlexRay”.
In a very simplified way, the goal of this practice y is to allow our software to communicate with the outside world, thus to transmit and receive information on the network.
Honestly, I do not know if there is a single standard answer for our field of work. The engineering profession is a generally dynamic one, and every day we are confronted with different and new problematics, so we don’t have a “typical” day.
In our daily life, we still have to communicate. This is critical! Especially when we work on “big” projects. In these environments, there is a huge organization, so you have to communicate with countless people to successfully complete your project.
The second major aspect is the technical analysis and understanding of the system environment.
Then, an aspect focused on “doing” with implementation, integration, testing, etc.
And finally, reporting (project manager, customer, etc.) which will again lead to communication.
We are brought to exchange with many bodies of work, be it at the application, hardware (HW), or software (SW), Dev basic software (BSW) level (Diagnostics, OS, MCAL, Mode Mngt, Memory etc…)
We use many tools on a daily basis, here is a non-exhaustive list:
To be a step ahead in my job, you need to have a good sense of analysis and above all excellent communication skills.
As already explained in the above, what I like most is the dynamics of the activities, because I am also involved in project management.
What is sometimes difficult is to define the limits of our working time because we are often involved in multiple activities and the investment to be made is often difficult to anticipate.
You really have to be passionate about embedded software, work in a team, and especially like to communicate.
After a 10-year career, I feel very comfortable at T&S.
Carbon Footprint 2024: T&S strengthens its CSR strategy with SBTi objectives, low-carbon management and the collective commitment of all its entities.
READ MOREOptimize your cloud migration with expert advice on migration strategy, cloud planning and IT infrastructure assessment. Discover best practices for a successful transition to cloud computing with Technology & Strategy.
READ MORESystems Engineering is an interdisciplinary approach essential for developing complex products. It involves understanding and structuring needs, specifying and modeling systems, and ensuring lifecycle continuity. Systems Engineering improves collaboration, reduces risks, optimizes costs and time, and enhances product quality. It is a mindset that benefits all engineers, from software developers to project managers.
READ MORE