How Engineering Principles Help Me Build High-Quality Software
In recent years software engineers have become sloppy, especially when compared to the rigor and precision of traditional engineering disciplines. And, I think, at least part of the reason is that software engineering has increasingly decoupled from physical constraints.
Back then when computational resources were scarce, software engineers were often required to think hard about certain problems. However, the vast increase in computational power and data allowed software engineers to become sloppy to the extent as of which the design of an algorithm doesn't seem to be important anymore.
Meanwhile, the low standards among software engineers have even become something of a meme with programmers frequently admitting that they rely on Google, Stack Overflow and ChatGPT to solve problems, often resorting to copying and pasting code without thoroughly assessing its quality or fit.
I personally admire the rigor and precision of traditional engineers and in recent years I came to the conclusion that I could borrow principles from traditional engineering and apply them to software engineering in order to improve the quality of my software products to a considerable extent.
Systems thinking
One such principle is the systems thinking approach. What is known as 'systems engineering' involves integrating various imperfect subsystems into one system that exhibits emergent behavior. Take aviation engineering as an example. An aviation engineer is required to integrate different imperfect subsystems, none of which alone has the ability to fly, into a holistic system capable of flying, such as mechanical systems, electonics, software systems, materials etc.
As a software engineer I don't design airplanes, but I often integrate different imperfect subsystems into a holistic system, such as hardware and software, frontend and backend, each of which consists of many subcomponents and layers. Similar to aviation engineering, I have to think not only about the characteristics of each of the subsystems, but also how these different subsystems interact with each other.
Thinking from first principles
Another critical engineering approach is to think from first principles, which basically describes a method that breaks down a complex problem into basic assumptions, from where an engineer deductively derives conclusions - a technique that is particularly popular when dealing with new problems no one else had encountered before.
In most of my major projects I am encountering very hard problems, which I could only solve by thinking from first principles. If I found myself in a deadlock for many days with no solution in sight, I usually take a step back, start thinking about the problem from scratch and try to find a different approach. Often, this approach leads to solutions that differ significantly from my initial approach but ultimately proves to be the better way.
Thinking in terms of trade-offs
Engineers are often faced with trade-offs, in which a certain advantage comes with a cost or implies a disadvantage. Or as the economist Thomas Sowell once said, 'There are no solutions, only trade-offs' - most engineers are fully aware of trade-offs. A higher quality usually implies higher costs, a better performance usually requires more resources or higher speed implies lower accuracy. In other words, the physical world puts constraints on engineers and their designs.
Similarly, software engineers also deal with trade-offs, including trade-offs between efficiency and resilience, usability and security, scalability and simplicity, standardization and customization or between flexibility and complexity. Being aware of the concept of trade-offs helps me balance advantages and disadvantages in a more systematic and structured way.
Tendency towards complexity reduction
Another important engineering principle that I frequently encounter in software engineering is the tendency to avoid complexity. Complexity can often lead to major problems, including instability, unknown unknowns or challenges in maintaining a system. Again, let's take a look at the aviation industry. Some aviation engineers are proposing so-called morphing wings - wings of airplanes that consist of moving parts and can potentially improve the maneuverability and aerodynamic efficiency of airplanes. The problem though is that morphing wings means adding a significant amount of complexity to the airplane, which could be a risk to the overall stability of the system.
Software engineers often find themselves in similar situations. Adding complexities to software can be attractive, because they allow for more or better functionalities, the problem though is that complexities can result in instability or they can be difficult to maintain or to debug. While in some cases complexities might be worth considering, in many other cases, however, complexities can lead to considerable problems.
Conclusion
These are just the most important engineering principles software developers should take into account, but there are many more fascinating concepts software engineers could utilize to improve the quality of their software such as the concept of redundancy, modular designs, the iterative process of optimizing a system, safety margins or human-centered designs.
For more information feel free to reach out to us and check out our social media channels - I am looking forward to connecting with you!
Software & Apps
[BBC] Why is TikTok back after being banned for one day?
[Bouia] TikTok Shutdown – Why Building on Proprietary Platforms is a Risky Game
[The Verge] Instagram Reels can be 3 minutes long now
[The Verge] Instagram announces a blatant CapCut clone
[Capitol Trades] Tool that tracks stock trades of US politicians
[Privtracker] Private BitTorrent tracker for everyone
[Eugene Andrienko] I spent 18 years in the Linux console and I don't regret it
[Benj Edwards] The PC is Dead: It's Time to Make Computing Personal Again
Hardware
[PC World] Lenovo has removed its iconic TrackPoint nub from new ThinkPad laptops
[Nintendo via YouTube] Nintendo announces the Switch 2
[TechSpot] Apple stops Vision Pro production amid weak demand and customer dissatisfaction
[The Verge] The smart glasses era is here — I got a first look
[Tom's Hardware] Most GeForce Now tiers are currently sold out — Nvidia blames high demand for unavailability
[The Verge] Nvidia announces $3,000 personal AI supercomputer called Digits
[IEEE Spectrum] The AI Boom Is Giving Rise to "GPU-as-a-Service"
[Tom's Hardware] EU protests new US AI chip restrictions — some countries face GPU caps
[The Next Web] Netherlands strikes deal with Nvidia for AI supercomputing hub
Artificial Intelligence
[Visual Capitalist] Ranked: AI Models With the Lowest Hallucination Rates
[Our World in Data] Scaling up: how increasing inputs has made artificial intelligence more capable
[MIT Technology Review] AI means the end of internet search as we've known it
[Nikkin] Entropy of a Large Language Model output
[The Decoder] OpenAI quietly funded independent math benchmark before setting record with o3
[TechCrunch] OpenAI's AI reasoning model 'thinks' in Chinese sometimes and no one really knows why
[Latent Space] o1 isn't a chat model (and that's the point)
[TechXplore] World's first chatbot, ELIZA, resurrected from 60-year-old computer code
[Alexey Medvecky via Medium] AI in the 80s? How a Simple Animal Guessing Game Pioneered Machine Learning Before It Was Cool
[MIT Technology Review] OpenAI is making a foray into scientific discovery with an AI built to help manufacture stem cells.
[TechCrunch] The Pentagon says AI is speeding up its 'kill chain'
Security & Hacking
[HardBreak] HardBreak - Hardware Hacking Wiki
[Mattew Green] Let's talk about AI and end-to-end encryption
[Dark Reading] Employees Enter Sensitive Data Into GenAI Prompts Far Too Often
[C/side] The cost of false positives - how we became a target
[Neodyme] Windows BitLocker -- Screwed without a Screwdriver
[Paulos Yibelo] Double Clickjacking: A New Era of UI Redressing
[Truffle Security Co.] Millions of Accounts Vulnerable due to Google's OAuth Flaw
[MacRumors] Data Broker Hack Exposes Location Info From Millions of iPhone Users
[Trend Micro] IoT Botnet Linked to Large-scale DDoS Attacks Since the End of 2024
[Tom's Hardware] Chinese hackers infiltrated US Treasury Secretary's PC — attackers had access to over 400 PCs
Surveillance & Censorship
[The Verge] X, Facebook, Instagram, and YouTube sign EU pledge to tackle hate speech
[The Irish Times] Brussels orders X to hand over documents on algorithm
[Ken Klippenstein via Substack] Government Monitoring Those With "Negative" Views of Health Insurance Companies
[Gizmodo] New York Proposes Doing Background Checks on Anyone Buying a 3D Printer
[New York Times] General Motors Is Banned From Selling Driving Behavior Data for 5 Years
[The New York Times] Supreme Court Seems Ready to Back Texas Law Limiting Access to Pornography
[The Verge] Marvel Snap is banned, just like TikTok
[gHacks] Google allows advertisers to fingerprint you for even better tracking
[TechSpot] Apple denies using Siri recordings to serve targeted ads
[Good e-Reader] Telegram Suspends Accounts of Z Library and Anna's Archive
Bitcoin
[In Bitcoin We Trust] Strategic Bitcoin Reserve or Strategic Shitcoin Reserve for America? Donald Trump Seems to Have Chosen.
[Politico] 'Horrible look': Crypto lobby reels from Trump's memecoin
[Reason Magazine] Why Trump Should Keep His Promise To Free Silk Road Founder Ross Ulbricht
[Guy Swann via YouTube] A Cypherpunk World for Everyone with Future Paul
[Crypto Slate] Bitcoin Privacy 101: Key differences between a CoinSwap and a CoinJoin
[The Miner Mag] Bitcoin Hashrate Drops 25% as Texas Miners Curtail for Grid
[TFTC] Tether Relocates Headquarters to El Salvador, Strengthening Focus on Emerging Markets
Science
[Nautilus] The Incredible Conundrum of Life's Origin
[Science Alert] A Rare Alignment of 7 Planets Is About to Take Place in The Sky
[Popular Science] How to use Google Deep Research to save hours of time - Google's new AI-powered tool does deep analysis on complex topics.
[Daily Sceptic] New Research Paper Contains Evidence That the mRNA Covid Vaccines Damages Human Heart Cells
[Phys.org] Turf over surf: Isotope analysis reveals prehistoric Greek dietary practices
[Medical Xpress] In times of uncertainty, the brain takes the easy route by following the crowd
[Phys.org] Echoing in eternity: 2,100-year-old Alexander the Great mosaic analyzed for restoration
Engineering
[Nvidia] Fast-Track Robot Learning in Simulation Using NVIDIA Isaac Lab
[Harismus Blog] Common misconceptions about the complexity in robotics vs AI
[Interesting Engineering] China's robot dog breaks world record by running 100 meters under 10 seconds
[ZeroHedge] Americans Remain In Dark Over Origins Of Mysterious Drones
[Nature] Paralysed man flies virtual drone using brain implant
[Medical Xpress] World's smallest biomedical robot advances interventional diagnosis and treatment
[Tom's Hardware] 3D printer 'bone filament' simulates real bones, helps surgeons practice operations
[The Verge] The US government announced a 'historic' nuclear energy deal
Other Funny & Interesting Reads
[Phys.org] Study reveals that, in chimpanzees, peeing is 'contagious'
[Tom's Hardware] New Captcha requires defeating three enemies or you're Doomed to repeat it
[crikey] Australian Open resorts to animated caricatures to get around broadcast restrictions
[Computer World] Tech unemployment in the US drops to lowest level in more than two years
[Gizmodo] 1 in 5 Online Job Postings Are Either Fake or Never Filled, Study Finds
[Mises Institute] Europe's Economy Slows as Its Welfare State Grows
Enjoying this newsletter? If it's adding value to your day, you can donate a few sats! Every little bit helps to keep this going. Thank you for your support!
Bitcoin Lightning Address:
lnurl1dp68gurn8ghj7ampd3kx2ar0veekzar0wd5xjtnrdakj7tnhv4kxctttdehhwm30d3h82unvwqhkxmmrdduhg6r0w4nksap5xykg650x
