It makes sense to understand whether physics is important in software engineering before pursuing a career in the industry. Plenty of would-be developers have no interest in physics and don’t want that to be a big part of their day-to-day life.
Generally, software engineers don’t need physics at all. You won’t need to know any formulas or physics-specific knowledge to enjoy a successful career as a programmer. However, there are some transferable skills you can take from experience in the physics field. The only time you would need to know anything about physics as a software engineer is if you are making a physics-based application.
Software engineering is a broad field and your actual day-to-day work mostly depends on the industry you’re in and the company you work at.
Let’s explore the reasons why physics may be useful for software engineering in certain circumstances.
Is physics important for software engineering?
Physics is not important for software engineering and you won’t be required to know any physics-based formulas or equations to land a software engineering role. The two topics are completely unrelated and knowledge in physics isn’t likely to help you in software development.
Not having a background in physics is not going to negatively impact your chances of landing a top software engineering role. Potential employers look at your coding ability and your previous experience, not which physics modules you did in high school and college.
However, the type of skills you gain when completing a physics degree can be incredibly useful in tech. The ability to think abstractly, problem solve, and think logically are handy skills in both physics and development. Running experiments and detailed analysis in a physics lab will translate to good attention to detail and troubleshooting when coding. There is a transfer of soft skills rather than hard knowledge between the two subjects.
Knowing that E=mc2 won’t help you get to the root cause of an annoying bug in your code. But the structured approach, taught to many physics students, will help you to break down problems into smaller chunks.
There is one exception where knowing physics may be important in software engineering: if you are building software that models things using physics equations. Some awareness of physics may help you implement better real-world game physics. Or more accurately model sets of data. If you are working on physics-orientated projects you will have someone supply you with the correct formulas and then you need to be able to translate that into usable code.
The narrow use case for physics in software development is rare. Knowing a thing or two about science is good for your general intelligence though. But the reality is you would be far better served by learning data structures and algorithms. You’ll use them far more frequently and they are job-specific.
Why do software engineers need physics?
Software engineers may need physics because it helps with logical thinking, debugging issues, solving complex problems, and working with physics-related applications. Having a deep understanding of physics won’t make you an amazing software engineer. However, it can help develop certain abilities that will help you improve.
Let’s take a look at the situation where a background in physics would help with software development.
1. Logical thinking
Studying physics builds your logical and reasoning skills which translate incredibly well to programming. Being able to walk through a problem one step at a time makes finding the solution easier.
The logical thinking used in software engineering has helped society a lot. It has helped usher in the modern technological age. You don’t need an advanced understanding of difficult concepts in physics. But immersing yourself in the topic and understanding it will help improve your logical reasoning abilities.
Much of your life as a software engineer will be spent debugging error-prone pieces of code and refactoring old broken code. The process of debugging can be painful, especially in legacy repos with poorly written code.
Part of conducting science experience involves deducing the cause from effect and using critical thinking to analyze outcomes. Being able to think critically and whittle down the causes of an issue is at the heart of debugging code. So prior experience with this type of work will help you a lot when coding.
In physics, you also learn about making the results of experiments reproducible. In terms of software engineering, this translates to writing readable and reusable code which prevents the need for debugging in the first place.
3. Physics specific industry
Software engineers change jobs a lot more than in other industries. Every couple of years we tend to switch companies. A background in physics isn’t relevant in most companies you work for.
However, if you work for a company in a physics-specific industry previous knowledge in physics would be ideal. A software developer at NASA probably has some idea of the movements of a rocket before they program the model. A VR developer understands how to translate things from the 2D world into the 3D.
So while it isn’t necessary, having some base knowledge of science would be beneficial in certain development jobs. Either way, having some physics experience on your CV is never going to hinder you in the IT world.
Physicists are problem solvers by nature. They break down complex problems and experiment to find the answers. Often these issues are complex and take a long period to understand. Unlocking the answer can be difficult and frustrating.
There are several parallels with software engineering. Some solutions take a long time to arrive at, and even longer to implement. A background in physics is important because it will have taught you to stay the course and get the solution. Newbies often give up too easily, especially in the initial phase of learning.
So having that experience will help you a lot in software development.
Overall, experience with physics is not important in software engineering. However, a scientific background will strengthen your logical reasoning, problem-solving, and team working ability. All things which are incredibly transferable to software engineering.
If you don’t have a background in physics, don’t worry it’s not a requirement and most software engineers don’t either. If you do, great! You have some additional skills which will be useful in software engineering.