Article Complete
AI FeaturesDueling Dunning-Kruger

Most Software Engineers Know Nothing About Hardware

On the other hand, most hardware engineers know nothing about software.

Most Software Engineers Know Nothing About Hardware

Key takeaways

  • Recognize that many software engineers lack deep knowledge of hardware fundamentals.
  • Understand that relying on hardware experts may hinder software engineers from learning about hardware.
  • Acknowledge exceptions where some software engineers possess both software and hardware knowledge.
  • Consider the potential benefits of hardware knowledge for enhancing fields like cybersecurity.
  • Realize that practical, user-oriented knowledge of hardware is more common among software engineers.

Takeaways drafted with AI from the article text.

It’s often said in jest that most software engineers know nothing about hardware. But could there be any truth to this harmless jibe? Well, it turns out that a lot of people agree with it. In an online discussion, a surprising number of developers, programmers, and software engineers chimed in not just to agree with it but also ascribe reasons to why that may be the case.

A software engineer said, “It’s easier to count on someone than to count on yourself.” This might encapsulate a fundamental reason why many software engineers don't delve into the hardware side of things. It’s simpler to rely on hardware experts rather than spreading oneself thin by trying to master both the fields.

However, not everyone fits this stereotype. 

Another user proudly declared, “Imma Software engineer, Knows about hardware, Including networking (sic).” Clearly, there are software engineers who bridge the gap to understand the intricacies of hardware. Yet, they might be the exception rather than the rule.

Is There a Need?

“Highly accurate, when someone speaks about hardware or how software interacts with hardware that’s where I get silent,” said a software engineer. “I only know about hardware things or gadgets I use.” This indicates that many software engineers have a practical, user-oriented knowledge of hardware rather than a deep, technical understanding.

While most software engineers would want to believe that there is not a need for them to know the intricacies of hardware, as long as what they are using offers support for the software they want to use and build. But on the contrary, a user offered a thought-provoking take, suggesting that understanding hardware could bolster several fields, such as cybersecurity. 

“I think it would help in programming to know how the chip and memory think only to secure the program from hackers,” he said. This highlights a practical benefit of hardware knowledge that goes beyond mere academic interest. 

Moreover, software engineers who know a thing or two about hardware can create better softwares and build good software capability on the hardware. This perspective suggests that a deeper understanding of hardware can lead to more efficient and innovative software solutions.

Besides, educational background also factors in this debate. “Unless you were a computer engineering major…,” quipped a user, implying that those with a more hardware-focused education are better equipped in this area. This distinction highlights the difference in curricula between software engineering and computer engineering programs.

What’s the Future?

Another one gave a very basic analogy to highlight the importance of understanding hardware for people in developer jobs. “Have you ever dealt with keyboards with wrong wiring?” Practical issues like these can starkly expose a software engineer’s hardware limitations, turning theoretical gaps into tangible challenges.

However, not everyone sees this disconnect as a negative. This is both good and bad. And it’s supposed to be that way. “Specialisation allows professionals to excel in their chosen fields, fostering expertise rather than spreading knowledge too thinly,” said a user.

“Most hardware engineers know nothing about software,” another turned the tables. This two-way street suggests that both domains have their own complexities and require dedicated focus. Keeping up with hardware innovations is a formidable challenge in itself, demanding constant learning and adaptation.

Ultimately, the consensus suggests that while many software engineers may lack a deep understanding of hardware, this isn’t necessarily a problem. The specialisation in their respective fields allows for more focused expertise, though cross-knowledge can certainly offer significant benefits.

While it’s often true that most software engineers know little about hardware, this division of knowledge is not inherently detrimental. As technology evolves, perhaps we will see more integrated roles bridging this gap. 

For now, we can appreciate the humorous takes and real-life insights that illustrate this dynamic. Every time a program goes “brrrr”, a software engineer is happy, perhaps unaware of the hardware magic at work.


Knowledge of platform or the hardware on which a ML algorithm is run is extremely important for quick convergence of the optimizing algorithms. When Frank Rosenblatt,( Frank Rosenblatt ) the father of Artificial Intelligence, first simulated the Perceptron or the first working model of a Neural Network based learning algorithm in Cornell University in 1957 he used the IBM 704 mainframe machine. Though the IBM 704 was the most powerful machine the world had known in that time, Rosenblatt and his students (including my own thesis advisor George Nagy) worked hard on the best arrangements so that the deep learning algorithms can converge to an optimal or near optimal solution in a reasonable time.

Since then, hardware have become enormously powerful and the advent and use of GPUs have ushered in a new era in the ML domain. Unfortunately, as the hardware have become more powerful so did the complexity of the algorithms running on them as well as the volume of data. The feature size has exploded with the beginning of Generative AI. So, in other words optimal use of hardware are still very important for ML experts so that they can ensure that their algorithms converge in a timely manner.

The cost of hardware is another aspect that also drives the total solution cost of ML. GPU banks have become very expensive and given that most of them are produced by TSMC whose foundry is back ordered for GPU banks for next few years, one cannot put their hands on a GPU bank even if they have a lot of money.

The hardware optimization is also important for the energy cost. ML applications have become one of the most energy intensive computer applications which is expected to grow every day. ML experts also need to take that into account and become a bit more climate conscious and use their hardware platform more efficiently.


Published

Corrections: AIM corrects errors of fact and notes the change on the story. Spotted one? Tell the editors. Read our editorial standards.

More in this story

AI engineers · 5 stories
  1. Why Has California AI Company Drishti Based Its Engineering Office In Bengaluru?
  2. How Tech Giants Are Enhancing Their Conversational AI Platforms To Fight COVID-19
  3. You are here: Most Software Engineers Know Nothing About Hardware
  4. Junior Devs are Letting AI Do the Heavy Lifting—But at What Cost?
  5. Deloitte’s Plans to Hire 50,000 in India May Be Part of AI Workforce Reset
About the author

Journalist

Mohit writes about AI in simple, explainable, and often funny words. He's especially passionate about chatting with those building AI for Bharat, with the occasional detour into AGI.

All stories
Belamy · Daily

The day’s AI news, before your first meeting.