June 2007
An Embedded Software Engineer
By Rintu Boro

For me, the job of an embedded software engineer didn't come easily. It was somewhat difficult, if not a steep climb. Having spent 20 months as an application software developer which involved front-end GUI design and development in the .NET framework, the realization that I wanted to do something closer to the underlying hardware came a little late. But while some people might think of it as a disadvantage, I looked at it as a blessing in disguise which helped me launch myself into the embedded world with much more enthusiasm and grit. I started out by brushing up my electronics engineering knowledge that I had studied in college in order to prepare for interviews. It was not easy, especially after 8 hour word days. But I was interested, so it was not so hard after all. I prepared myself by studying the basics of operating systems, the details of hard real-time operating systems, electronic systems and the internals of a computer system organization. After 6 months of preparing myself with the nuts and bolts of embedded systems programming, I finally made the shift.

Currently, I’m working with a leading semiconductor company as an embedded software engineer. My job primarily involves solving issues in the wireless mobile protocol stack based on standards defined by 3GPP and the standards for third generation mobile communications. The mobile protocol stack is the component in our mobile phones which enables us to make calls and send messages. In one word - it is the heart of the mobile phone. Of course, it has many more functionalities that it conspicuously performs underneath the technical details of which can run into thousands of pages. This component also needs to interact with several infrastructure components within the phone in order to allow services like playing music, videos and connecting to the PC via a USB port.

In fact, the mobile phone is the most perfect example of an all round embedded system at work. Our software is written and cross compiled in the desktop computer for the target which is a hardware platform which simulates the mobile phone. Once the software is built, it needs to be tested right on the hardware, so we have a laboratory for that, not much different from the college labs, only more sophisticated. The laboratory has network simulators, hardware emulators, hardware debuggers, logic analyzers and in one corner it also has a familiar soldering iron!

The network simulators simulate mobile base station subsystems to which we connect our hardware platforms in order to have a complete test scenario for testing our software. This environment itself is enough to stimulate an embedded software engineer's intriguing mind. Once the software is thoroughly tested and debugged it is ready to be flashed into a prototype mobile phone and tested with a live network. After couple of rounds of rigorous testing, the software is finally put through Interoperability Tests before being launched into the market as a complete working and reliable mobile phone. It’s amazing to see the software we develop touch millions of lives all over the world and actually make a tangible difference in people's lives!

So if you’re interested in embedded software, you need to be very well versed with the subject matters of computer architecture and operating systems. Knowledge of digital design and low level programming (C Assembly) will help immensely. It is very essential that you understand your interests pretty early on. If animation fascinates you, if a fancy GUI or databases interests you then probably embedded software is not the way to go. On the other hand, if the hardware aspect of the software it runs on, intrigues you and if you want to delve into the internals of a system, then welcome - embedded software awaits you.

If you would like to submit an article providing an insider’s view of your tech or engineering job, please send your article to us at ITtrenches@dice.com.

Comments on this article? Share your feedback on our discussion forum, Dice Discussions.

*Please note, you must be a registered job seeker in order to submit your question to Dice Discussions.
Search Jobs

Did you know?

Many hiring companies who use Dice search our resume database before posting jobs. That means many of the best jobs are never even posted. Post your resume now, and be sure not to miss any opportunities.
Post Resume Now

More Career Insights

  • Technology Today
  • Cover Letters & Resumes
  • In The Trenches With Dice
  • Local Market Reports
  • Dice Discussions

  • Feedback | Help | Work at Dice | Security Tips | Privacy Statement | Terms & Conditions  

    Copyright © 1990 - 2008 Dice Inc. All rights reserved
    skrID: 0