It has been a few months, but, if you recall, in my last few blogs I focused a good bit on the next generation of engineers with emphasis on teaching these fresh new minds. Something that should not be overlooked is the continual learning of experienced engineers. Learning does not stop once that engineering degree is obtained. Honestly, it is truly at that point that learning really begins. As I look back on my time as an engineer I am continually amazed at how things have changed over the years and how much I have had to learn since I obtained that engineering degree several years ago. My graduate advisor often liked to point out how important it was for an electrical engineer to learn software in addition to all the hardware that we studied. All that hardware was my favorite part though and I thoroughly enjoyed all those classes on diodes, BJTs (bipolar junction transistors), and MOSFETs (metal oxide semiconductor field effect transistors).
It was fun to use these as building blocks to make more complex circuits like operational amplifiers (op amps). I recall one of my most enjoyable semesters when I took an advanced electronics class where we had to design and simulate first a BJT op amp, then a MOSFET op amp, and finally, a Bi-CMOS op amp using BJTs and MOSFETs. I stayed so focused on hardware that I have to admit I did not quite see the point in my advisor’s view on software. I did however learn how to implement several different C programs to generate different Built-In Self-Test (BIST) routines for the FPGA that was the focus my master’s thesis. Even after that I did not fully see the potential advantages of software. I was too focused on the hardware and how much I enjoyed it.
Fast forward a few years to where I was a working engineer with a few years under my belt and I was exposed to automated testing on the lab bench. I spent a good bit of time early as an engineer collecting data manually for various end customer applications. I had the fortune of being exposed at that time to Agilent Vee (now Keysight Vee). I included an example below to give a glimpse of the user programming interface.
Example Keysight Vee Program (image courtesy of about.keysight.com)1
Click here for larger image
One of my coworkers used this language to create automated test routines for the power amplifiers that we were working on at the time. I was quite impressed with how much data could be gathered in such a short amount of time. I began to work with it myself and eventually ended up modifying the program to do various other measurements to suit my purposes. It was relatively easy to learn how to program in Agilent Vee because the structure uses a lot of blocks and is very visual in nature. It made things much simpler to see when I could put blocks together to make program constructs. In a way it is similar to LabVIEW since it uses a more visual approach to programming. However, please do not mistake this comparison for saying that these two languages are the same as they are ultimately quite different.
As I moved on in my career and landed at Analog Devices I was exposed to Python and have been thoroughly impressed by the capability of this language. I actually began my time at Analog Devices doing a good bit of manual data collection as I had in my first stop as an engineer. The reason was largely because of the various product questions and data requests from customers that I have seen working as an applications engineer. It can be difficult to figure out how exactly to automate measurements when the requests from customer can be so varied. However, taking a look at the broader view and figuring out the common pieces to the requests made a big difference. For example, figuring how to collect data for multiple customer questions at once is a great way to increase efficiency.
The more I worked with ADCs the more I found Python useful for automating measurements to collect a large amount of data in a short time. Not only could that large amount of data be collected but I could also work on other tasks while the automated measurements were running. In addition taking frequency sweep data allowed me to see product performance at a much finer scale. This allowed me to pick up on things that might have otherwise not be seen doing manual sweeps with less data points.
I brought that skill set with me over to the group where I am currently at Analog Devices supporting space products. If you recall from several months back in my blogs about line and load regulation (Measuring LDO Line Regulation for a Novice and Measuring LDO Load Regulation for a Novice) I used Python scripts to perform the measurements. I copied in an excerpt below from the line regulation script that I wrote. I will not go too deep into details here but one of the great things about Python is that you can create modules for your own library of code that you can make a call to in a script which I have done below. This is just a very simple example code that only gives a small taste of the capabilities of Python.
Example Python Script (Line Regulation Measurement)
Click here for larger image
I have to admit looking back that my advisor was definitely onto something. He was very much right when saying electrical engineers need to know software in addition to hardware. I did not realize then how advantageous it can be to have this skill. Even though I am very much a novice it has proven to be very useful. I have been fortunate to work around some great folks who know Python very well. I have continued to learn and Python has been just one of the many things I have learned as an experienced engineer. It is important to continue learning new skills even for the most experienced engineers. I am thankful for the opportunities I have had at each of my stops as an engineer to continue learning. Analog Devices has been a great place to learn not only because of the cutting edge technology but also the talented people at the company who are willing to share their knowledge. What have you had the opportunity to learn as either a new engineer or an experienced engineer? I would request that you please take a moment and leave a short comment about your experiences. I would love to hear your feedback about your experiences.
1 Image link: http://about.keysight.com/en/newsroom/imagelibrary/library/vee_9.3_images/image004_high.jpg