This post hopes to answer the question on the minds of every high school student interested in engineering: “How much can I expect to make as a [Aerospace, Biomedical, Chemical, Civil, Environmental, Electrical, etc] engineer?”

I’ve summarized the key statistics in the “Summary” section, but you’re welcome to view the whole spreadsheet, which includes personal comments that help color each data point (for example, a hydraulics engineer in Texas said “Glass ceiling. Company got in legal trouble for not promoting any minorities”). You might even be able to message the respondent on Reddit if you’re inclined.

I’ve seen reports of…


Today we’ll be using PyAutoGUI to open a new chrome tab, log in to an email account, write a draft, then send it. This is the second part of the GUI automation tutorial series, so check out the first tutorial if you don’t already have experience with Python and PyAutoGUI. We’ll also use gmail as the example, but you should be able to do this with any email account when we’re done. There’s a TL;DR at the end if you want to skip to the code. Also visit my Github for the code explained here.

Let’s start with our list…

I ran into Python installation issues enough times to feel like writing about it, hopefully so someone else can solve theirs.

One issue that comes up pretty frequently when you have multiple versions of Python on one computer is the following:

You type “pip install” to install a new package:

pip install

You get “Requirement already satisfied”, informing you it’s already installed:

Behavioral interviews are a natural part of any formal hiring process. Everyone coming out of college will have to do a few of them. It’s very likely that anyone who wants a job in general will need to do one, even if they’re going through the most common route of knowing someone in the company to refer them.

You’ve probably heard of the STAR method or SHARE method before, so we won’t go into that here. Instead, we’ll talk about a nice little grid you can fill out to help you organize your thoughts.

From a glance of the grid…


Today we’ll introduce a series of tutorials. This first one is beginner-friendly and anyone with a computer and internet connection should be able to get through it. Definitely let me know if the pacing of this is too slow, too fast, too much info, or not enough info. I’ll take any feedback into consideration for the next lessons. If you already have Python and PyAutoGUI installed and just want the code, you can get the file on my Github.

Our first project of the series is interesting, if not a little silly: Something that takes control of your mouse, starts…

This is a short glossary entry on encapsulation. Encapsulation is a fancy word for data hiding. Data hiding is fancy talk for building code so that someone can just type English words to use it, lowering the chance that people use your code wrong.¹

Here’s an example in Javascript you can run right now:

Created in JSBin

Console.log is a print debugging function in Javascript. In this example, we declare a new variable called “person.” Then, we define attributes like firstName, lastName, and favoriteFood. We also assign values to those attributes. …

I’m sure everyone has their own experiences with career fairs, both good and bad. But let’s be honest, they might as well call it the “apply online fair.” Even in this pandemic, it’s still a pretty low quality experience.

It really is more of a marketing fair. Companies pay the college/university for the privilege of a booth (or online chat room). Then they send what feels like 2–3 of their least experienced employees (or sometimes even temps from an external recruiting agency) to act as a physical (virtual for virtual fairs) landing page with a broken “apply” button.

It makes…

I remember when I was doing my ECE homework back in college and how the methods we were taught on making a Bode plot were rather clunky and difficult to remember. The textbooks weren’t much help and I couldn’t find a good explanation online. Today, we’ll go over how to make a Bode plot in a way that even a high school student should be comfortable with. The only requisite knowledge is a passing familiarity with complex (imaginary) numbers.

We’ll go over two ways to make a Bode plot. …

William W

Electrical Engineering UIUC, 2015–2019. Software developer and cofounder of a startup.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store