Pains

2403 pains collected

Category:
Tech:
Severity:

Limited support for stored procedures and triggers

6

SQLite lacks support for stored procedures and has only basic trigger functionality, making it difficult to implement complex business logic and data manipulation operations on the database server side. This limits extensibility for enterprise use cases.

architectureSQLite

Fragmented architecture increases engineering overhead

6

Using MongoDB alongside other systems creates architectural fragmentation, increasing engineering overhead and making it difficult to maintain data consistency across regions.

architectureMongoDB

Insufficient first-class support for mobile app development

6

Rust doesn't offer out-of-the-box, first-class support for iOS and Android app development, limiting adoption for mobile-focused teams and forcing reliance on workarounds or alternative languages.

ecosystemRustiOSAndroid

EGL graphics API is fragmented and poorly documented

6

EGL requires separate extensions for basic GPU functionality (existence, enumeration, info retrieval) with inconsistent implementation across platforms, in contrast to Windows' unified DXGI API with clear documentation and guaranteed availability.

compatibilityEGLDXGI

Loss of 32-bit support libraries in modern Linux distributions

6

Linux distributions are dropping default 32-bit support libraries, preventing users from running 32-bit software on 64-bit systems and reducing available software compatibility.

compatibility

Desktop environment major version incompatibility (GNOME 2 to 3)

6

GNOME 2 was completely incompatible with GNOME 3, breaking all installed addons and presenting a completely different UI, creating a disruptive upgrade experience.

compatibilityGNOME

Cache Expiration Complexity and Long Propagation Times

6

Expiring cached data across distributed networks is complicated and takes a long time. Cache data persists across deployments, making invalidation difficult without proper tools. This is identified as one of the three hardest problems in computer science.

performancecaching

Data migration complexity and high costs

6

Moving large volumes of data to AWS is time-consuming and expensive. Even with AWS Database Migration Service, phased strategies, and optimization, the process remains a significant operational and financial burden.

migrationAWSAWS Database Migration Service

Slow Docker build times in CI/CD pipelines

6

Docker builds are slow on CI/CD pipelines, delaying deployment. Requires manual optimization (reordering Dockerfile, enabling BuildKit) that isn't default behavior.

buildDocker

Large dataset migrations from relational databases are painful

6

Migrating large datasets from relational databases (e.g., MySQL) to MongoDB is difficult and time-consuming, requiring significant engineering effort to restructure data and handle schema differences.

migrationMongoDBMySQL

MongoDB indexing degrades write performance

6

Maintaining a large number of indexes in MongoDB degrades write performance because each write operation must update multiple indexes. The system forces developers to choose between query performance and write performance.

performanceMongoDB

Fragmented codebase from mixing server functions with tRPC

6

Limitations of Next.js server functions force developers to use alternatives like tRPC for some backend tasks, resulting in inconsistent architectural patterns and parallel caching systems. This fragmentation increases complexity.

architectureNext.jstRPCTanStack Query

Poor Logging Strategy Hides Errors and Complicates Incident Response

6

Teams either flood systems with useless log data or provide no actionable context during incidents, making poor logging itself a root cause of outages rather than a tool for resolution. Good logging about decisions and traceability is often neglected.

monitoringLogging

MongoDB 16 MB document size limit with unbounded arrays

6

MongoDB documents have a strict 16 MB size limit. Developers frequently hit this limit by appending unbounded arrays (logs, activities, comments) inside single documents, causing update failures and data loss.

compatibilityMongoDB

High infrastructure and ETL costs for MongoDB analytics

6

Companies spend around $200,000 annually on MongoDB analytics infrastructure, including ETL processes, duplicate data storage, broken pipeline maintenance, and developer time for constant schema adjustments.

performanceMongoDBETL

Bulk operations without transactions cause major performance degradation

6

Developers often forget to wrap bulk INSERT, UPDATE, or DELETE operations in transactions. Without transactions, each operation runs separately and incurs significant performance overhead, whereas transaction-wrapped operations execute much more efficiently.

performanceSQLite

Fragmented developer workflow for email template management

6

Managing email templates requires running separate dev commands for local repositories and email services, creating operational friction. The workflow lacks integrated version control, code review processes, and team collaboration capabilities.

dxReact Email

GPU Acceleration Not Seamless in Java for AI Workloads

6

GPU acceleration support in Java requires extra setup and tuning compared to Python, and forcing GPU allocation per application instance (even when idle) creates scaling and maintenance challenges with higher infrastructure costs and lower resource efficiency.

performanceJavaGPUCUDA

Outdated package versions and insufficient repository updates

6

Certain Linux distributions maintain outdated package versions in their repositories and don't update frequently enough. Alternative packaging formats attempted as solutions (like Flatpak forks) lack functionality and provide minimal improvement.

dependencyLinuxFlatpak

Limited data migration capabilities in Prisma Migrate

6

Prisma Migrate generates structural migrations but requires manual raw SQL for data transformations (e.g., splitting a fullName field into firstName and lastName), breaking the abstraction and losing type safety.

migrationPrisma

Inconsistent and complex pagination patterns

6

GraphQL pagination lacks standardized patterns, especially for multi-dimensional data structures with different requirements at different levels. Implementing pagination for large lists is cumbersome and each service may implement pagination differently.

dxGraphQL

Fraud Prevention Tool (Radar) Has High False Positive Rate

6

Stripe Radar's fraud prevention tool produces too many false positives, blocking legitimate customers especially for digital goods and international buyers. The tool lacks transparency in how it scores transactions, making it difficult to adjust settings or understand why charges were blocked.

securityStripeStripe Radar

Terminal-first workflow required for basic tasks

6

Linux forces users to open a terminal for routine operations like installing software, fixing dependencies, and setting up drivers. This creates poor UX even for developers who prefer GUI-based workflows.

dxLinux

Async/await complexity and blocking event loop anti-patterns

6

Developers frequently block event loops with sync I/O calls (e.g., using `requests` instead of `aiohttp`), throttling async performance. Missing `await` keywords cause runtime exceptions rather than compile-time hints.

dxPythonasyncioaiohttp+2