
Shipping Features Without Tests: Controlled Recklessness or Pure Negligence?
Introduction In the fast-paced world of software development, the pressure to deliver features quickly can sometimes lead to compromises. One such compromise is shipping code without adequate testing. Is this a form of controlled recklessness, a necessary evil in the name of agility, or simply pure negligence that can lead to disaster? Let’s dive into the nuances of this debate, explore the arguments on both sides, and consider the implications for software quality and project success....

Why Obsession with Code Elegance Harms Products and How to Find Balance
The Pursuit of Code Elegance: A Double-Edged Sword In the realm of software development, the quest for elegant code is akin to a noble knight’s journey in search of the holy grail. We strive for clean, efficient, and beautiful code, believing it to be the ultimate measure of our craftsmanship. However, like any intense pursuit, this obsession with code elegance can sometimes lead us astray, harming the very products we aim to create....

The Ethics of Copy-Pasting GPL Code into Proprietary Systems
The Ethics of Copy-Pasting GPL Code into Proprietary Systems In the realm of software development, the debate over the ethics of incorporating GPL (GNU General Public License) code into proprietary systems is a contentious one. This article delves into the nuances of this issue, providing a comprehensive understanding of the ethical considerations involved. Understanding the GPL License The GPL license is a copyleft license, which means that any derivative work based on GPL-licensed code must also be released under the GPL license....

Load testing APIs: scenarios, tools, and metrics that matter
Introduction Load testing APIs is an essential part of ensuring that your application can handle the expected traffic without breaking a sweat. In this article, we’ll dive deep into the world of load testing, exploring various scenarios, tools, and metrics that matter. We’ll also look at some code examples and step-by-step instructions to help you get started. Scenarios There are several scenarios that you might want to consider when load testing your APIs....

Async Everywhere: Making Code ‘Scalable’ but Teams ‘Unreadable’
The Promise and Peril of Asynchronous Programming In the quest for building scalable applications, asynchronous programming has become the holy grail for many developers. The allure of improved performance and responsiveness is undeniable. However, as with any powerful tool, there’s a catch—the complexity it introduces can often make code bases more challenging to read and maintain, especially within teams. The Appeal of Asynchronous Code Asynchronous programming allows for non-blocking operations, which means that while one task is waiting for I/O or other resource-intensive operations, the program can continue with other tasks....