Pains

2403 pains collected

Category:
Tech:
Severity:

Lack of Default Interface Implementations and Reflection Dependency

6

Go lacks default implementations for common interfaces and relies on runtime reflection to handle operations like printing structs or maps, which sidesteps the type system entirely. This creates ad hoc, edge-case-laden behavior.

languageGo

REST API Authentication Overhead Impacting Performance

6

Repeated authentication handshakes and authentication logic on critical paths kill API speed. Developers struggle with token reuse, unnecessary redirects, and overhead that should be removed from hot paths.

authREST APIauthentication

Third-party script and browser extension noise pollutes error tracking

6

Browser extensions, ad scripts, and third-party code generate constant noise in error tracking. Without extensive filtering, signal-to-noise ratio becomes so poor the tool becomes nearly useless for frontend apps. Frontend teams spend significant time configuring ignore rules.

dxSentryJavaScriptfrontend

Complex integration setup for multiple team deployments

6

Setting up Sentry for complex multi-team microservices architecture is complicated. Managing quota sharing between teams caused impact on team productivity when one team's quota is exhausted. Integration configuration for multiple platforms and team structures is not straightforward.

configSentrymicroservices

Mixed HTTP/HTTPS Content Causes Blocking and Security Issues

6

Mixing HTTPS and HTTP protocols in the same page causes content blocking, performance degradation, and security vulnerabilities. Developers must maintain protocol consistency across all resources.

securityHTTPSHTTP

Difficulty identifying and applying idiomatic Go patterns

6

33% of Go developers struggle to ensure their code follows idiomatic patterns and best practices. Developers switching between Go and other languages face cognitive load, and many request official guidance and tooling support to enforce idioms.

docsGo

Alert Fatigue from Over-Easy Monitor Creation

6

Datadog makes it too easy to create monitors without guardrails. Teams quickly accumulate hundreds of alerts (300+ monitors reported) with no built-in alert quality scoring or deduplication. Reaching a healthy signal-to-noise ratio requires significant manual tuning over months.

configDatadog

Poor observability in email delivery

6

Most email service providers offer limited visibility into what happens after an email is sent, making it difficult to debug delivery failures and understand the full lifecycle of sent messages.

monitoringemailtransactional emailobservability+1

Compiler support lags behind C++ standard

6

Popular compiler implementations like Apple Clang lag years behind standard releases. As of July 2024, Apple Clang lacks std::expected, std::jthread, and std::stop_token, forcing developers to work around missing features.

compatibilityC++Apple Clang

Inappropriate channel usage causes deadlocks and performance degradation

6

Channels are frequently misused for synchronization tasks better handled by function returns or shared memory. 60% of Go applications experience performance degradation from deadlocks, and indefinite blocking on channels causes goroutine leaks.

architectureGo

Difficult to suppress third-party library warnings

6

When using strict compiler warning settings, third-party libraries often generate warnings that are hard to suppress across all platforms. Transitive header inclusions make it nearly impossible to silence warnings in external code.

configC++

CSS file organization and management is poorly structured

6

Managing CSS files and file organization is cited as the biggest pain point for developers. Stylesheets often become giant, unmaintainable piles of spaghetti code without proper architectural patterns.

architectureCSS

Email marketing incumbents lack modern developer experience

6

Established email/marketing platforms dominate the market but are difficult to use, lack developer-first design, and offer poor API experiences. The market has no single developer-focused email platform optimized for great DX.

dxemail marketing platforms

Limited Data Observability for Business Context

6

Datadog's data observability is infrastructure-focused, detecting pipeline failures and schema changes but lacking business-aware context to understand data content. This is inadequate for data-centric industries like FinTech and Healthcare where data quality is critical.

architectureDatadog

Sentry error volume spike from AI-generated code increases operational load

6

As AI enables teams to ship more frequently, error volume explodes in production monitoring systems like Sentry, increasing the operational burden on teams to manage and respond to errors at scale.

monitoringSentryAI agents

HTTP/1.1 Legacy Protocol Causes Performance Degradation

6

Hosting platforms still using HTTP/1.1 instead of HTTP/2 or HTTP/3 result in performance penalties due to lack of multiplexing, header compression, and faster connection setup. This is a legacy infrastructure problem that affects page load times, especially on mobile or high-latency networks.

performanceHTTP/1.1HTTP/2HTTP/3

Limited database access for junior team members

6

Junior developers have restricted access to databases, limiting their ability to work independently and requiring senior developer involvement for routine tasks.

securityDatabase access control

Complex and Inconsistent API Authentication Options

6

APIs offer confusing authentication mechanisms with multiple versions (especially OAuth), inconsistent implementations, and poor documentation of authentication flows. Getting credentials and understanding the correct authentication method is often one of the trickiest initial steps, especially when API teams and customers have mismatched use-case assumptions.

authOAuth

Excessive goroutines cause context switching and resource exhaustion

6

Overusing goroutines leads to excessive context switching, performance degradation, and memory waste. 10,000 goroutines can consume 20+ MB of memory with overhead, and the Go scheduler incurs penalties causing throughput to halve.

performanceGo

Keeping Up with Web Platform Changes and Best Practices

6

Developers struggle to stay current with evolving web standards, platform features, and API changes. Many lack authoritative sources for best practices and worry whether information from blogs and Stack Overflow represents current, optimal approaches rather than outdated guidance.

docs

Excessive Boilerplate and Complexity in React Codebases

6

React codebases suffer from excessive complexity (20% of pain points) and boilerplate (15%). The accumulation of hooks, rules, patterns, and workarounds creates codebases that are hard to maintain and riddled with hacks, making even simple code reviews feel like navigating bureaucratic mazes.

dxReact

Difficult debugging with long application workflows and complex database logic

6

Diagnosing failures becomes increasingly difficult when issues could originate from the database or application code. Long workflows and complex database-side logic require extensive investigation, making root cause analysis time-consuming.

debugPostgreSQL

Short data retention on lower-tier plans complicates debugging

6

Free and Pro plans only retain email data for 1 and 3 days respectively, making it difficult to diagnose deliverability issues or identify longer-term trends without upgrading or implementing custom logging infrastructure.

monitoringResend

Dynamic computation graph overhead hurts PyTorch execution speed

6

PyTorch's dynamic computational graphs require reconstruction on every iteration, introducing overhead that reduces execution speed compared to static-graph frameworks. Optimizing for speed demands deep knowledge of PyTorch internals and low-level techniques.

performancePyTorch