Jakub Jarosz

Security, Systems & Network Automation

Why Learning Fundamentals of Physics Will Make You a Better Software Engineer

2025-01-13 Atomic Essay

Pause for a second and ask yourself, when was the last time you were fixing critical bugs in your code? Were you confused and mad that “something” wasn’t working? Did you feel angry or curious? How did you react?

Now imagine yourself throwing the laptop bag into your BMW, jumping inside, smashing the doors, and turning the key to start the 3-litre turbo diesel engine. Yet, you hear nothing. Silence. Three red, blinking controls yell at you. What do you do?

The answer depends on one thing - your level of knowledge. How much do you know about what is going on under the hood? No, nobody expects you to know the inner details of the diesel monster.

You don’t need a PhD in chemistry to know the difference between petrol and diesel.

You don’t have to be a genius to diagnose why you get stuck. It’s enough you don’t expect to start the engine when the battery is dead. It’s enough you don’t use regular window cleaner in the middle of the winter in Canada. Also, you should be mindful when renting a Cyber Truck during the winter holidays in Syberia. What can go wrong and why?

So, next time the error messages scream at you, instead of banging on the keyboard, think. Step back and think about the blue screen you stare at. Did you expect to get a piece of data to your program while the Wi-Fi is down? Do you know how to decipher issues and stack traces? Do you know why your program is slow, like a snail?

When you program, test and run software, you must know how the code drives computers. What’s going on under the hood? It’s more. You must know how your decision affects communication between devices. How do the words and instructions you type impact program behaviour? If it’s slow or fast enough. And most importantly, how those zeros and ones travel around the world. How they magically transform into applications. Why?

You know there is no right or wrong decision when it comes to making computers work. All decisions are tradeoffs. And once you know what you trade for what, you can call yourself an engineer.

In the end, turning it off and on advice becomes too frequent. You don’t need to know how to build microprocessors, but you should know how they operate and how to get the most out of them.

Like you know, to get the most out of your BMW while on a motorway.