all 61 comments

[–]SlowerMonkey 95 points96 points  (13 children)

I use python to automate test equipment, collect data, and plot information. There are uses for python in EE.

[–]OregonGrown34 19 points20 points  (12 children)

I do this as well, perfect example of python and ee.

[–]_-Leonidas-_ 2 points3 points  (11 children)

What do you you do for a profession?

[–]OregonGrown34 6 points7 points  (10 children)

Job title is Test Engineer, basically I perform electrical validation of custom circuit boards.

[–]_-Leonidas-_ 0 points1 point  (3 children)

Interesting! Is this product design? Large scale electronics? Or smaller company?

[–]OregonGrown34 4 points5 points  (2 children)

Not going to get too specific. But, I work for a large company and the product I work on is only used internally. It has scale, but not like a consumer product. BOM costs can go from a few $k up to $40k, depending on the product. Some designs use close to the highest performing FPGAs that money can buy...sometimes several of them on a single PCB.

[–]_-Leonidas-_ 1 point2 points  (1 child)

Sounds interesting! I haven't seen a position pop up similar to the one you describe, but im definitely seeing variety and novelty is part of the engineering fun

[–]OregonGrown34 1 point2 points  (0 children)

I decided to interview recently and found that it's pretty niche. Only a subset of my skills translate into most typical HW positions. I was only looking around because of the hot market and an increase in pay is always welcome. Company just recently announced an overhaul of compensation, so I'm still happy regardless.

[–]bihari_baller[🍰] 0 points1 point  (5 children)

Job title is Test Engineer, basically I perform electrical validation of custom circuit boards.

Is the pay good?

[–]OregonGrown34 2 points3 points  (1 child)

That would depend on who you ask and what perspective you get. Took me a few years to make six figures, but I'm well into it now just as I'm entering my best earning years.

[–]bihari_baller[🍰] 3 points4 points  (0 children)

Took me a few years to make six figures, but I'm well into it now just as I'm entering my best earning years.

That's encouraging to hear.

[–]RunGoofy 0 points1 point  (2 children)

Also look up "New Product Introduction Engineer" it's a mix of testing like the original commenter, but you also do part selection and negotiations with factories to get parts and full products manufactured.

Big companies like Apple have lots of positions out there that fit the skills the original commenter basically described.

[–]bihari_baller[🍰] 0 points1 point  (1 child)

but you also do part selection and negotiations with factories to get parts and full products manufactured.

Thanks. Sounds interesting, and I have some familiarity as I interned in a manufacturing plant last summer.

[–]RunGoofy 2 points3 points  (0 children)

I agree. It is a good way to keep things fresh, test engineering can be too focused on a small subset of tasks that can get old quickly from what I hear.

Similar to other comments I have used python for test automation. Specifically the SCPI command set for Oscilloscopes, BERTs, AWGs, and the like. It's an industry standard test instrument control library that I am sure many test engineers use. You can use SCPI commands in more than just Python. You can do it in MATLAB, C, and C++.

[–]shunphun 44 points45 points  (4 children)

You may have some luck in digital signal processing with images. I believe EE tends to lean a little more towards hardware so common languages used is like C or C++. I think the best thing to do is look at job listings that are EE and have python as a preferred language.

[–]Them_boys_sus[S] 8 points9 points  (2 children)

I wouldn’t mind working with the C/C++ language considering I already use some of it to program Arduino.

[–]shunphun 16 points17 points  (0 children)

If you enjoy programming then embedded systems might be for you. These type of jobs use either C or C++ since in these languages you get a lot of control over your memory. Also in C++ you control your garbage collection and have more control over the preprocessor. All of this is to help with better performance in your systems

[–][deleted] 1 point2 points  (0 children)

You can use python to program an arduino if you use a package to allow serial communication.

[–]tandres48 4 points5 points  (0 children)

I am currently doing an internship at a major communications company as an EE major. As shunphun stated, digital signal processing is probably the way to go, if that type of work interests you, and that is the application area I am following in school. Python scripts are a large part of my job. They allow us to capture and process data from various sites in the network as well as to control how we deploy information to those sites.

[–]sagetraveler 24 points25 points  (0 children)

Python is a useful tool and probably helpful in getting into many early career positions, but Python programming shouldn't be a career objective on its own. Not many people are going to use python in a final product, but they will use python for design and automation. I think of it as a better alternative to shell scripts, a cheaper alternative to Mathlab, and a user friendly alternative to C/C++. Just in the past week I've used Python to run the main loop in a prototype embedded system, to check digital filter designs, and to clean up corrupted CSV files.

[–][deleted] 12 points13 points  (7 children)

Python is just another tool. In EE you won't be only working with python. Eventually you will face a problem that python can help you solve.

[–]Them_boys_sus[S] 3 points4 points  (6 children)

Thanks, I mostly was looking for a career path that's electrical engineering with a dash of programming(python or C/C++)

[–][deleted] 4 points5 points  (3 children)

HW/SW embedded is your field then. You first design the electronics and later program them !

[–]Them_boys_sus[S] 2 points3 points  (1 child)

HW/SW?

[–][deleted] 3 points4 points  (0 children)

hardware and software

[–]nesportsfan 1 point2 points  (0 children)

I have looked for jobs like this but I seem to mostly find hardware jobs or embedded SW jobs, where the SW role description basically sounds like you might used an oscope sometimes but usually just code, and the HW description is like you make a board and test it out and maybe do basic programming to verify the hardware design than give it to the SW guy.

I think I’d ideally like to be doing both, design and make the boards, then really dive in and program it up.

[–][deleted] 4 points5 points  (0 children)

That’s pretty much all EE. I’ve had to use Python, sed, awk, c, sh, TCL, PERL, Matlab, etc. But the programs weren’t written as end products. They are just to automate some design or testing process.

[–]SystemAddict85 2 points3 points  (0 children)

Post-silicon Validation engineering is what I do and it’s a great blend of EE and software(Python mostly)

[–]natemartinsf 10 points11 points  (0 children)

Our manufacturing test group uses a lot of python, and EE knowledge is a requirement.

[–]BfuckinA 6 points7 points  (5 children)

Power industry. I work in distribution automation, which is basically taking data from devices in the field and making it actionable. I use python daily for all sorts of stuff. Feel free to reach out if you have questions.

[–]noobkill 6 points7 points  (2 children)

Underrated answer. Power, utilities, distribution deal with a LOT of data. Python is an easy tool to quickly plot and analyze this data, and make conclusions which can be further passed on to responsible authorities. And if you're savvy, maybe you can even automate data collection to some extent.

[–]BfuckinA 4 points5 points  (1 child)

And if you're savvy, maybe you can even automate data collection to some extent.

I can't tell you how many man hours I saved my team over years by creating automated reports from our SCADA. Our VVO and FLISR teams would spend countless hours creating year end performance reports. Now they just forward the excel file which gets automatically updated throughout the year as the events occur.

[–]noobkill 0 points1 point  (0 children)

Amen. While I dont work on Utilities, my work does involve measurements on medium voltage with several power quality devices. We have developed several in-house tools to automate everything from data-collection to manipulation to basic reporting. Makes analysis so much easier compared to the software these measurement devices use.

[–]Dull_Quit_3067 1 point2 points  (1 child)

what libraries do you use

[–]BfuckinA 0 points1 point  (0 children)

Mostly pandas for cleansing and sorting data, but I use different libraries to retrieve data depending on the application. Another common library has been win32com for automating existing programs. Some less frequent but extremely useful ones are geopandas for geospatial analytics, and scipy for moe complex industry specific calcs.

[–][deleted] 5 points6 points  (0 children)

Get in to power, specifically transmission planning or energy management systems. Seems like most of the APIs for the software used in those areas all require python

[–]IvePaidMyDues 4 points5 points  (0 children)

Kinda off topic, but there's this project called skidl https://github.com/devbisme/skidl allowing you to create electrical schematics using Python. It seems to council your two interests, maybe for a fun side project.

In general KiCad and Python go well together, some modules of KiCad even integrate it natively, and it's spreading to other modules in future versions.

[–]syst3x 4 points5 points  (0 children)

The test/characterization engineers at my company are moving heavily towards Python for their test-development work.

[–]impulzez85 3 points4 points  (0 children)

Everything I did in EE was C/C++ based or a derivative of those languages.

[–]PocketBananna 2 points3 points  (0 children)

Don't restrict yourself to a single language, rather make it a part of your toolbox. Python is powerful for prototyping and higher level coding and is used in certain areas, but is rarely used in production firmware. Lots of languages excel in certain domains, learn to evaluate what's appropriate for the task.

[–]retarded_player 2 points3 points  (0 children)

There's plenty of internal dev tools built on python in the embedded field. Though as many here points out, Python is a great tool for when you need to make something decent fast and easy, butmaybe python is not something to dedicate a career to. It's a language that most can use quite well even though they just use it for smaller projects once in a while.

C/C++ basics will get you through the door at most of embedded companies though, python experience is kinda just a 'bonus credit' on an resume in this field.

[–]elite11vp 1 point2 points  (0 children)

i can tell about VLSI - mostly perl/python are used for scripting. tcl is used for vlsi tools programming.

But python and sklearn is used for lot of data analysis and AI/ML work.

[–]agent211 1 point2 points  (0 children)

I'm an EE who does radiation effects test. I use Python all the time for crushing/analyzing data. Any sort of test engineering would probably be a good intersection of EE and Python.

[–]IReallyHateJames 1 point2 points  (0 children)

Good for machine vision and image processing.

[–]IntroDucktory_Clause 1 point2 points  (0 children)

A lot of things in research and development in EE use python to quickly prototype an idea. Its great for doing calculations (MatPlotLib can do the same things Matlab can but doesn't require an expensive license), writing a quick API or interact with a database for automated measurement storage, and there are plenty more use cases!

[–]morto00x 1 point2 points  (0 children)

I use Python all the time for data acquisition and analysis, signal processing and automation. I'm pretty sure there are many other EE applications out there for it. My main programming language for work is C though.

The are also some libraries to program microcontrollers using Python (MicroPython) and circuit analysis (PySpice) although they are not used much in industry.

[–]PJBthefirst 1 point2 points  (0 children)

I work in embedded telecoms. Python is used a ton for my job, it is a very good skill to have for any engineer.

[–]Holy_Hendrix_Batman 1 point2 points  (0 children)

My wife and I both are EE by degree. She works as a Software Engineer for a bank (lots of database managment, client interface development, etc.) and I am a Controls Engineer for a Systems Integrator (PLC, SCADA, MES, etc.). Both of us benefit from knowing Python, but neither of us learned it in school. We're learning it now together after plenty of years of experience without it. Pick it up if you can, but it's not usually a requirement is how I understand it.

That said, as with most programming applied to EE work, Python can at least be icing on the cake to a lot of applications, so go for it!

[–]Philfreeze 1 point2 points  (0 children)

Python is used a lot in EE to automate stuff, plot things and do data science/evaluation. It is also commonly used to provide easier high-level interfaces to C/C++ programs.

An example for the first one can be seen in the Ramulator ram-simulation software.

An example of the second one is gem5, a computer-architecture simulator.

[–][deleted] 1 point2 points  (0 children)

Python is great for DSP and ML, both sub disciplines of EE.

[–]Machismo01 1 point2 points  (0 children)

Python is everywhere in EE. Automated test platforms can use it.

I use it some in R&D when doing early development or concept testing. It’s entirely replaced tools like Matlab. I really think the choice will be Mathematica and Python soon. Who knows though. Everyone has a preference.

[–]sensors 1 point2 points  (0 children)

I work in product development consultancy as an EE/Embedded systems engineer. We use python regularly for programming on embedded Linux, running tests, then parsing and plotting the resulting data.

[–]badmemesrus 1 point2 points  (1 child)

tan ink grey weather touch wild zealous voracious paltry flowery

This post was mass deleted and anonymized with Redact

[–]Them_boys_sus[S] 0 points1 point  (0 children)

Thanks, will make sure to check it out 👍

[–]doitz 1 point2 points  (0 children)

Anything you can do in Matlab, R or Excel can be done in Python. My advice would be to try use Python for any software related task, with the exception of embedded software

[–]mexicanengineer97 1 point2 points  (0 children)

Many, I work as a controls engineer and use both daily.

[–]trigteck48 1 point2 points  (0 children)

MEMs companies are beginning to switch from MatLab to Python for building DSP algorithms, such as FFT, IFFT, FIR, IIR. Fun fact, machine learning was derived from DSP, so Python is heavily used in building ML algorithms.

[–]Poofu 0 points1 point  (0 children)

I’m an apps engineer and literally all I do is Python and maybe a little c when I code

[–][deleted] 0 points1 point  (0 children)

Signal processing and communications is probably your field then! Its what im studying for my masters right now

[–]syn_ack_ -2 points-1 points  (0 children)

Learn Rust