Interested in Electrical Engineering?
Learn more about the Electrical Engineering degrees offered in the College of Engineering!
Gone are the days when companies searched for a narrow set of skills. If you are banking on a single aspect of a specific domain in electrical engineering, it is time to expand your expertise. Particularly, software skills are highly essential in today’s industry, although it is quite different from a professional software engineer. The main areas of research in electrical engineering at Texas A&M University involve dedicated hardware knowledge. On the other hand, computer engineering deals with a combination of hardware and software. This blog is to remind current and future electrical engineers of the importance of expanding their software skills. First, let’s discuss why these skills are needed.
Why does a hardware engineer need software skills?
“Time is money,” is the motto for every manager you work with in the industry. Automation is one of the secrets to excel in your team, especially if your work involves analysis and optimization of design. Software-based automation improves your ability to multitask. The presence of multiple software skills on your resume/CV is an indication of your ability to learn and adapt. Below are skills that helped me in my experience.
What software skills are necessary?
In the current generation of engineers, programming starts from C/C++. However, the latest tools frequently used are Python and MATLAB. At Texas A&M we have unlimited access to complete MATLAB, but it is common in industry to rely on Python since it is free. If you have enough experience with MATLAB, Python should be easy to learn as both have similar syntax and toolboxes.
Computer Aided Design (CAD) software involves a lot of scripting. Instead of using the Graphic User Interface (GUI), you can write a script to automate your design iterations before going through the final version. Tcl scripting is commonly used in CAD software. If you open the saved design file using a notepad or Notepad++ (I recommend this) the whole design is arranged in a particular format. Now, using Python, you can replicate the whole design file by writing another file with custom parameters. This helps in creating many design files faster compared to opening the CAD tool, adjusting the parameters, saving and closing the tool.
GitHub is one of the best and most powerful tools to build a portfolio of your software skills. All companies use some version of control tools for their designs. GitHub (one of the most common collaboration tools) helps you get accustomed to similar tools. You can use GitHub as your primary tool for elevator pitches during interviews or networking.
Building software skills
Your primary task as an electrical engineer is to design electrical and electronics systems while having basic knowledge about some of the commonly used software. Software skills for an electrical engineer can be developed as required for the application. All you need to learn is basic syntax, where to search for help when required and how to quickly adapt the code for your task.
For example, if you need to create 10 design files, you can spend some time learning how to adjust parameters in the CAD tool using a script. Using CAD tool’s dedicated scripting language (or Python), you can then automate the design file creation, simulation and results extraction. A bit of caution is required here. If you are going to do this iteration of 10 designs only once, the time spent learning automation may not be a good trade-off between the time required to do it manually.
“What software skills are most commonly used in your team?” can be one of the questions you ask in your next interview or during networking with a former student. Their answers could give you details about what skills to acquire before starting your job.
Electrical engineers with software skills are in high demand. With the rise of AI and machine learning applications in almost every domain, the dependency on software increased exponentially. Electrical engineers who work on hardware development may not be judged completely on their software skills, but the gap is narrowing. A wide range of skill sets will always keep you at an advantage over others when living in uncertain times with highly fluctuating job markets.