Software Engineering Insider
home button

 

Embedded Software Engineering

Could Embedded Software Engineering be for you?

What is a computer and what isn't? It used to seem obvious, but these days, computer technology is turning up everywhere. We see it in entertainment: in our flat screen TVs and the devices that play or record music. It's in transportation -- airplanes, buses, cars -- monitoring safety systems and also making the trip more comfortable. Some embedded technology is sustaining life, for example, running the equipment in the neonatal ICU ward.

There are teams of professionals creating, deploying, and managing these invisible computers. Software engineers design embedded systems much as they design applications and systems for desktop computers and laptops. They still need to learn the requirements, design the architecture, and create the code, but there can be more things to take into account – for example, how the temperature and other environmental factors affect performance.

Some embedded technology is sustaining life, for example, running the equipment in the neonatal ICU ward.

It can be more important, when dealing with embedded systems, that each job is performed at the expected time. In short, more precision is required. Stakes are often higher, though this depends of course on just what it is that the software is embedded in.

Education and Advancement

Education is generally expected at the bachelor's or master's level. There are multiple programs of study that can lead to a career in embedded systems. You can earn a degree in computer engineering program or computer and electrical engineering. Software engineering undergraduate program is also an option. Computer engineering will give more of a foundation in the hardware systems and the interaction between the two. If you are interested in applications where there is a risk to public safety, you will likely want to enroll in an ABET-accredited engineering program, be it computer or software engineering.

As a future embedded software engineer, you’ll want to look for opportunities to work on engineering projects in the industry that most interests you. Software engineering programs typically include an application domain sequence which introduces you to an industry. They also typically include a senior project where you work with other students to design something with real world value.

You can continue your education at the graduate level and enroll in a program with a specific focus on embedded software. Coursework will likely include systems engineering, wireless sensors, embedded real time sensors, embedded control systems, and hardware for software engineers.

Internships can be a way of breaking into a new field. Even well-known companies like Raytheon take on interns to assist with writing code or unit testing.

Credentialing

Depending on your geographic location, you may have two credentialing options: licensing or certification. It is currently an option to be licensed in computer and electrical engineering. It will soon be an option to be licensed as a software engineer. The Principles and Practices Exam of Software Engineering exam debuts in April of 2013.There are at least ten states planning on utilizing the exam; others are expected to follow suit. Check out this article discussing Licensing for Software Engineers to learn more.

Licensing is not for everyone. The deciding factor isn't whether software is embedded or not. Licensing is primarily for those whose work is crucial to public safety or security; this can include the possibility of causing serious economic harm.

Licensing is primarily for those whose work is crucial to public safety or security.

Another issue to take into account in the decision process is what role you expect to play. Not everyone who works on an engineering project holds an engineering license themselves; many work under a licensed engineer. However, some professionals choose to take exams to have an added credential or way of selling themselves to an employer.

You can also pursue voluntary certifications. There are many possible certifications, depending on the technologies used and your role in the creation process. The IBM Certified Solution Designer is one option for engineers or project managers who are involved with embedded or real-time software systems.

 

Home  |   About Us   |  Contact
© 2011-2018 SoftwareEngineerInsider.com. All Rights Reserved.