# mistakes

Published articles for mistakes.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Senior Engineer ≠ Years of Experience

DevFeed: [Senior Engineer ≠ Years of Experience](<https://devfeed.tech/articles/senior-engineer-years-of-experience-26190.md>)

Original publisher: [Read original article](<https://journal.optivem.com/p/senior-engineer-years-of-experience>)

Author: Valentina Jemuović

Published: 2026-08-24T06:01:00Z

Content type: opinion

Language: en

Sources: [Optivem Journal](<https://devfeed.tech/sources/optivem-journal.md>)

Topics: [Software Engineering](<https://devfeed.tech/topics/software-engineering.md>), [Development](<https://devfeed.tech/topics/development.md>), [engineering-culture](<https://devfeed.tech/topics/engineering-culture.md>)

Tags: [effective](<https://devfeed.tech/tags/effective.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [experience](<https://devfeed.tech/tags/experience.md>), [learning](<https://devfeed.tech/tags/learning.md>), [mistakes](<https://devfeed.tech/tags/mistakes.md>), [software](<https://devfeed.tech/tags/software.md>)

### AI overview

This opinion argues that years of software engineering experience do not reliably measure engineering ability. Repeated habits, including poor design, avoiding tests, and overengineering, can become more entrenched over time, while continuous learning, experimentation, feedback, and willingness to change are presented as stronger indicators of effectiveness.

### Source excerpt

"I've been doing this for 15 years, so I already know."

## YAML for DevOps Beginners, Syntax, Rules and Common Mistakes

DevFeed: [YAML for DevOps Beginners, Syntax, Rules and Common Mistakes](<https://devfeed.tech/articles/yaml-for-devops-beginners-syntax-rules-and-common-mistakes-17492.md>)

Original publisher: [Read original article](<https://kodekloud.com/blog/yaml-for-devops-beginners-syntax-rules-mistakes/>)

Author: Pramodh Kumar M

Published: 2026-08-06T17:16:19Z

Content type: tutorial

Language: en

Sources: [Kubernetes - KodeKloud Blog | DevOps, Cloud, Kubernetes, AI Tutorials & More](<https://devfeed.tech/sources/kubernetes-kodekloud-blog-devops-cloud-kubernetes-ai-tutorials-more.md>)

Topics: [YAML](<https://devfeed.tech/topics/yaml.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [DevOps](<https://devfeed.tech/topics/devops.md>), [Ansible](<https://devfeed.tech/topics/ansible.md>), [ci](<https://devfeed.tech/topics/ci.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>)

Tags: [ansible](<https://devfeed.tech/tags/ansible.md>), [block-scalars](<https://devfeed.tech/tags/block-scalars.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [devops](<https://devfeed.tech/tags/devops.md>), [errors](<https://devfeed.tech/tags/errors.md>), [guide](<https://devfeed.tech/tags/guide.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [json](<https://devfeed.tech/tags/json.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [kubernetes-yaml-manifests](<https://devfeed.tech/tags/kubernetes-yaml-manifests.md>), [linter](<https://devfeed.tech/tags/linter.md>), [mistakes](<https://devfeed.tech/tags/mistakes.md>), [multi-document-yaml](<https://devfeed.tech/tags/multi-document-yaml.md>), [structure](<https://devfeed.tech/tags/structure.md>), [syntax](<https://devfeed.tech/tags/syntax.md>), [validation](<https://devfeed.tech/tags/validation.md>), [yaml](<https://devfeed.tech/tags/yaml.md>), [yaml-anchors-and-aliases](<https://devfeed.tech/tags/yaml-anchors-and-aliases.md>), [yaml-common-mistakes](<https://devfeed.tech/tags/yaml-common-mistakes.md>), [yaml-for-devops](<https://devfeed.tech/tags/yaml-for-devops.md>), [yaml-indentation-rules](<https://devfeed.tech/tags/yaml-indentation-rules.md>), [yaml-norway-problem](<https://devfeed.tech/tags/yaml-norway-problem.md>), [yaml-syntax-rules](<https://devfeed.tech/tags/yaml-syntax-rules.md>), [yaml-vs-json](<https://devfeed.tech/tags/yaml-vs-json.md>), [yamllint-validation](<https://devfeed.tech/tags/yamllint-validation.md>)

### AI overview

A tutorial explaining YAML syntax, implicit typing, indentation rules, block scalars, anchors, aliases, and merge keys. It emphasizes that YAML can silently reinterpret unquoted values and recommends linting and schema validation in CI pipelines.

### Source excerpt

YAML tries to guess what you meant, and that is the entire problem. Once you know which values it silently reinterprets and why, the manifests that mysteriously break stop being mysterious.

## From OLTP to OLAP: 7 ClickHouse® Optimization Mistakes

DevFeed: [From OLTP to OLAP: 7 ClickHouse® Optimization Mistakes](<https://devfeed.tech/articles/from-oltp-to-olap-7-clickhouse-optimization-mistakes-18582.md>)

Original publisher: [Read original article](<https://www.tinybird.co/blog/olap-most-common-mistakes>)

Author: Iago Enríquez

Published: 2026-08-03T10:00:00Z

Content type: article

Language: en

Sources: [Tinybird](<https://devfeed.tech/sources/tinybird.md>)

Topics: [clickhouse](<https://devfeed.tech/topics/clickhouse.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>)

Tags: [clickhouse](<https://devfeed.tech/tags/clickhouse.md>), [engineering-excellence](<https://devfeed.tech/tags/engineering-excellence.md>), [mistakes](<https://devfeed.tech/tags/mistakes.md>), [olap](<https://devfeed.tech/tags/olap.md>), [optimization](<https://devfeed.tech/tags/optimization.md>)

### AI overview

A practical article about seven ClickHouse optimization mistakes encountered when moving from OLTP to OLAP workloads.

### Source excerpt

Practical lessons from optimizing analytical workloads in ClickHouse®.

## 7 reasons experienced EMs get stuck

DevFeed: [7 reasons experienced EMs get stuck](<https://devfeed.tech/articles/7-reasons-experienced-ems-get-stuck-32320.md>)

Original publisher: [Read original article](<https://newsletter.manager.dev/newsletter/7-reasons-experienced-ems-get-stuck>)

Author: Anton Zaides

Published: 2026-06-30T06:01:00Z

Content type: opinion

Language: en

Sources: [Manager.dev](<https://devfeed.tech/sources/manager-dev.md>)

Topics: [Job](<https://devfeed.tech/topics/job.md>)

Tags: [career](<https://devfeed.tech/tags/career.md>), [engineering-manager](<https://devfeed.tech/tags/engineering-manager.md>), [mistakes](<https://devfeed.tech/tags/mistakes.md>)

### AI overview

An experienced engineering manager reflects on career traps that can cause experienced EMs to stagnate, including confusing job titles or team size with impact. The article draws on the author's experience moving from a director role to an engineering manager role after a failed startup.

### Source excerpt

The mistakes that stall a career, even when you see them coming.

## AI Coding Tip 025 - Pair Every Skill With a Pitfalls File

DevFeed: [AI Coding Tip 025 - Pair Every Skill With a Pitfalls File](<https://devfeed.tech/articles/ai-coding-tip-025-pair-every-skill-with-a-pitfalls-file-18215.md>)

Original publisher: [Read original article](<https://maximilianocontieri.com/ai-coding-tip-025-pair-every-skill-with-a-pitfalls-file>)

Author: Maxi Contieri

Published: 2026-06-20T00:51:51Z

Content type: tutorial

Language: en

Sources: [Maximiliano Contieri - Software Design](<https://devfeed.tech/sources/maximiliano-contieri-software-design.md>)

Topics: [ai-coding](<https://devfeed.tech/topics/ai-coding.md>), [coding](<https://devfeed.tech/topics/coding.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-coding](<https://devfeed.tech/tags/ai-coding.md>), [coding](<https://devfeed.tech/tags/coding.md>), [memory](<https://devfeed.tech/tags/memory.md>), [mistakes](<https://devfeed.tech/tags/mistakes.md>), [modular](<https://devfeed.tech/tags/modular.md>), [pitfalls](<https://devfeed.tech/tags/pitfalls.md>), [skills](<https://devfeed.tech/tags/skills.md>)

### AI overview

This tutorial recommends placing an append-only PITFALLS.md file beside each SKILL.md to record an AI's recurring mistakes, their triggers, and the correct behavior. The goal is to preserve corrections across sessions while keeping skill documentation focused on the normal workflow.

### Source excerpt

TL;DR: Add a PITFALLS.md next to every SKILL.md so your AI never repeats the same mistake twice. Common Mistake ❌ You write a great SKILL.md. The AI follows it well most of the time. Then it does som

## 20 Mistakes That Quietly Destroy JavaScript/TypeScript Codebases (Part 2)

DevFeed: [20 Mistakes That Quietly Destroy JavaScript/TypeScript Codebases (Part 2)](<https://devfeed.tech/articles/20-mistakes-that-quietly-destroy-javascript-typescript-codebases-part-2-18103.md>)

Original publisher: [Read original article](<https://thetshaped.dev/p/20-mistakes-that-quietly-destroy-javascript-typescript-codebases-common-code-smell-patterns-async-performance-testing>)

Author: The T-Shaped Dev

Published: 2026-05-09T02:19:51Z

Content type: tutorial

Language: en

Sources: [The T-Shaped Dev](<https://devfeed.tech/sources/the-t-shaped-dev.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [Code](<https://devfeed.tech/topics/code.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [Testing](<https://devfeed.tech/topics/testing.md>)

Tags: [async](<https://devfeed.tech/tags/async.md>), [code](<https://devfeed.tech/tags/code.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [memory-leaks](<https://devfeed.tech/tags/memory-leaks.md>), [mistakes](<https://devfeed.tech/tags/mistakes.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [patterns](<https://devfeed.tech/tags/patterns.md>), [test](<https://devfeed.tech/tags/test.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

Part 2 of a JavaScript and TypeScript code-quality series presents common runtime and code-quality mistakes, including mutating function parameters, memory leaks from uncleared listeners, timers and subscriptions, and async cancellation issues. It includes fixes and testing or debugging guidance.

### Source excerpt

Common JS/TS patterns that feel fine until they don't. 11 mistakes, before/after code for each. (11 min)

## VAT vs Sales Tax: Why Global SaaS Founders Need to Understand Both

DevFeed: [VAT vs Sales Tax: Why Global SaaS Founders Need to Understand Both](<https://devfeed.tech/articles/vat-vs-sales-tax-why-global-saas-founders-need-to-understand-both-10432.md>)

Original publisher: [Read original article](<https://dodopayments.com/blogs/vat-vs-sales-tax-saas/>)

Author: Ayush Agarwal

Published: 2026-05-06T00:00:00Z

Content type: tutorial

Language: en

Sources: [Dodo Payments Blog](<https://devfeed.tech/sources/dodo-payments-blog.md>)

Topics: [Software as a service](<https://devfeed.tech/topics/saas.md>)

Tags: [compliance](<https://devfeed.tech/tags/compliance.md>), [guides](<https://devfeed.tech/tags/guides.md>), [mistakes](<https://devfeed.tech/tags/mistakes.md>), [saas](<https://devfeed.tech/tags/saas.md>), [sales](<https://devfeed.tech/tags/sales.md>), [tax](<https://devfeed.tech/tags/tax.md>), [vat](<https://devfeed.tech/tags/vat.md>)

### AI overview

A guide for SaaS founders explaining the differences between VAT and sales tax, where each applies, how their compliance requirements differ, and why global SaaS companies may need to manage both systems.

### Source excerpt

VAT vs Sales Tax explained for SaaS founders. How they differ, where each applies, common compliance mistakes, and why global SaaS deals with both simultaneously.

## 20 Mistakes That Quietly Destroy JavaScript/TypeScript Codebases (Part 1)

DevFeed: [20 Mistakes That Quietly Destroy JavaScript/TypeScript Codebases (Part 1)](<https://devfeed.tech/articles/20-mistakes-that-quietly-destroy-javascript-typescript-codebases-part-1-18102.md>)

Original publisher: [Read original article](<https://thetshaped.dev/p/20-mistakes-that-quietly-destroy-javascript-typescript-codebases-common-code-smell-patterns>)

Author: The T-Shaped Dev

Published: 2026-05-02T02:19:25Z

Content type: tutorial

Language: en

Sources: [The T-Shaped Dev](<https://devfeed.tech/sources/the-t-shaped-dev.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [Code](<https://devfeed.tech/topics/code.md>), [modern web development](<https://devfeed.tech/topics/modern-web-development.md>)

Tags: [bugs](<https://devfeed.tech/tags/bugs.md>), [code](<https://devfeed.tech/tags/code.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [mistakes](<https://devfeed.tech/tags/mistakes.md>), [patterns](<https://devfeed.tech/tags/patterns.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

This tutorial examines common JavaScript and TypeScript codebase mistakes that increase maintenance costs without necessarily breaking builds or tests. Part 1 focuses on type modeling, error handling, and module design, including TypeScript strict mode and unsafe type escapes.

### Source excerpt

Common JS/TS patterns that feel fine until they don't. 11 mistakes, before/after code for each. (11 min)

## EU VAT for SaaS in 2026: Thresholds, OSS, and Common Mistakes

DevFeed: [EU VAT for SaaS in 2026: Thresholds, OSS, and Common Mistakes](<https://devfeed.tech/articles/eu-vat-for-saas-in-2026-thresholds-oss-and-common-mistakes-9857.md>)

Original publisher: [Read original article](<https://dodopayments.com/blogs/eu-vat-saas-guide-2026/>)

Author: Ayush Agarwal

Published: 2026-05-01T00:00:00Z

Content type: tutorial

Language: en

Sources: [Dodo Payments Blog](<https://devfeed.tech/sources/dodo-payments-blog.md>)

Topics: [Software as a service](<https://devfeed.tech/topics/saas.md>), [Shared Responsibility Model](<https://devfeed.tech/topics/shared-responsibility-model.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [b2b](<https://devfeed.tech/tags/b2b.md>), [compliance](<https://devfeed.tech/tags/compliance.md>), [eu](<https://devfeed.tech/tags/eu.md>), [guide](<https://devfeed.tech/tags/guide.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [merchant-of-record](<https://devfeed.tech/tags/merchant-of-record.md>), [mistakes](<https://devfeed.tech/tags/mistakes.md>), [requirements](<https://devfeed.tech/tags/requirements.md>), [saas](<https://devfeed.tech/tags/saas.md>), [tax](<https://devfeed.tech/tags/tax.md>), [vat](<https://devfeed.tech/tags/vat.md>)

### AI overview

A practical guide to EU VAT for SaaS founders in 2026, covering OSS registration, sales thresholds, B2B and B2C treatment, place-of-supply rules, customer-location evidence, and invoice requirements.

### Source excerpt

Complete EU VAT guide for SaaS founders in 2026. Thresholds, OSS registration, B2B vs B2C rules, invoice requirements, and how to stay compliant globally.

## SaaS Pricing Strategy: A Data-Driven Guide for 2026

DevFeed: [SaaS Pricing Strategy: A Data-Driven Guide for 2026](<https://devfeed.tech/articles/saas-pricing-strategy-a-data-driven-guide-for-2026-10331.md>)

Original publisher: [Read original article](<https://dodopayments.com/blogs/saas-pricing-strategy-guide/>)

Author: Ayush Agarwal

Published: 2026-04-08T00:00:00Z

Content type: tutorial

Language: en

Sources: [Dodo Payments Blog](<https://devfeed.tech/sources/dodo-payments-blog.md>)

Topics: [Software as a service](<https://devfeed.tech/topics/saas.md>), [data](<https://devfeed.tech/topics/data.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [experimentation](<https://devfeed.tech/tags/experimentation.md>), [mistakes](<https://devfeed.tech/tags/mistakes.md>), [models](<https://devfeed.tech/tags/models.md>), [pricing](<https://devfeed.tech/tags/pricing.md>), [pricing-strategy](<https://devfeed.tech/tags/pricing-strategy.md>), [revenue](<https://devfeed.tech/tags/revenue.md>), [saas](<https://devfeed.tech/tags/saas.md>)

### AI overview

A data-driven guide to SaaS pricing strategy covering flat-rate, tiered, per-seat, usage-based, and outcome-based models. It also presents a framework for defining value metrics and using experimentation to refine pricing.

### Source excerpt

Build a SaaS pricing strategy backed by data. Covers pricing models, experimentation frameworks, common mistakes, and how AI-powered revenue insights drive better pricing decisions.

## Why Kafka pipelines fail (and how to fix them)

DevFeed: [Why Kafka pipelines fail (and how to fix them)](<https://devfeed.tech/articles/why-kafka-pipelines-fail-and-how-to-fix-them-18772.md>)

Original publisher: [Read original article](<https://www.tinybird.co/blog/why-kafka-pipelines-fail>)

Author: Alberto Romeu

Published: 2025-12-23T00:00:00Z

Content type: tutorial

Language: en

Sources: [Tinybird](<https://devfeed.tech/sources/tinybird.md>)

Topics: [Kafka](<https://devfeed.tech/topics/kafka.md>), [Streaming](<https://devfeed.tech/topics/streaming.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [data](<https://devfeed.tech/tags/data.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [kafka](<https://devfeed.tech/tags/kafka.md>), [mistakes](<https://devfeed.tech/tags/mistakes.md>), [pipelines](<https://devfeed.tech/tags/pipelines.md>), [scalable-analytics-architecture](<https://devfeed.tech/tags/scalable-analytics-architecture.md>), [streaming](<https://devfeed.tech/tags/streaming.md>)

### AI overview

The article discusses predictable mistakes that cause Kafka pipelines to fail and ways to prevent them before they occur.

### Source excerpt

Kafka pipelines fail in predictable ways. These are the mistakes that break streaming data and how to prevent them before they happen.

## Common pitfalls when building generative AI applications

DevFeed: [Common pitfalls when building generative AI applications](<https://devfeed.tech/articles/common-pitfalls-when-building-generative-ai-applications-31802.md>)

Original publisher: [Read original article](<https://huyenchip.com//2025/01/16/ai-engineering-pitfalls.html>)

Author: Chip Huyen

Published: 2025-01-16T00:00:00Z

Content type: opinion

Language: en

Sources: [Chip Huyen](<https://devfeed.tech/sources/chip-huyen.md>)

Topics: [Generative AI](<https://devfeed.tech/topics/generative-ai.md>), [foundation-models](<https://devfeed.tech/topics/foundation-models.md>), [AI Development](<https://devfeed.tech/topics/ai-development.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>)

Tags: [foundation-models](<https://devfeed.tech/tags/foundation-models.md>), [generative-ai](<https://devfeed.tech/tags/generative-ai.md>), [llm](<https://devfeed.tech/tags/llm.md>), [mistakes](<https://devfeed.tech/tags/mistakes.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [pitfalls](<https://devfeed.tech/tags/pitfalls.md>)

### AI overview

This article discusses common pitfalls in building applications with foundation models. It cautions against using generative AI where simpler optimization methods may be cheaper and more reliable, and distinguishes solving a problem from merely testing whether generative AI can be applied.

### Source excerpt

As we're still in the early days of building applications with foundation models, it's normal to make mistakes. This is a quick note with examples of some of the most common pitfalls that I've seen, both from public case studies and from my personal experience. Because these pitfalls are common, if you've worked on any AI product, you've probably seen them before. 1. Use generative AI when you don't need generative AI Every time there's a new technology, I can hear the collective sigh of senior engineers everywhere: "Not everything is a nail." Generative AI isn't an exception -- its seemingly limitless capabilities only exacerbate the tendency to use generative AI for everything. A team pitched me the idea of using generative AI to optimize energy consumption. They fed a household's list of energy-intensive activities and hourly electricity prices into an LLM, then asked it to create a schedule to minimize energy costs. Their experiments showed that this could help reduce a household's electricity bill by 30%. Free money. Why wouldn't anyone want to use their app? I asked: "How does it compare to simply scheduling the most energy-intensive activities when electricity is cheapest? Say, doing your laundry and charging your car after 10pm?" They said they would try it later and let me know. They never followed up, but they abandoned this app soon after. I suspect that this greedy scheduling can be quite effective. Even if it's not, there are other much cheaper and more reliable optimization solutions than generative AI, like linear programming. I've seen this scenario over and over again. A big company wants to use generative AI to detect anomalies in network traffic. Another wants to predict upcoming customer call volume. A hospital wants to detect whether a patient is malnourished (really not recommended). It can often be beneficial to explore a new approach to get a sense of what's possible, as long as you're aware that your goal isn't to solve a problem but to test

## Configuring IP Addresses Won't Make You an Expert

DevFeed: [Configuring IP Addresses Won't Make You an Expert](<https://devfeed.tech/articles/configuring-ip-addresses-won-t-make-you-an-expert-11118.md>)

Original publisher: [Read original article](<https://blog.ipspace.net/2025/01/common-labbing-misconceptions/>)

Published: 2025-01-09T05:39:00Z

Content type: opinion

Language: en

Sources: [ipSpace.net blog](<https://devfeed.tech/sources/ipspace-net-blog.md>)

Topics: [Networks](<https://devfeed.tech/topics/networks.md>), [Learning](<https://devfeed.tech/topics/learning.md>), [networking](<https://devfeed.tech/topics/networking.md>), [Routing (disambiguation)](<https://devfeed.tech/topics/routing.md>), [Integration testing](<https://devfeed.tech/topics/integration-testing.md>), [Containers](<https://devfeed.tech/topics/containers.md>)

Tags: [art](<https://devfeed.tech/tags/art.md>), [container](<https://devfeed.tech/tags/container.md>), [containers](<https://devfeed.tech/tags/containers.md>), [integration-testing](<https://devfeed.tech/tags/integration-testing.md>), [mistakes](<https://devfeed.tech/tags/mistakes.md>), [netlab](<https://devfeed.tech/tags/netlab.md>), [ospf](<https://devfeed.tech/tags/ospf.md>), [production](<https://devfeed.tech/tags/production.md>), [reuse](<https://devfeed.tech/tags/reuse.md>), [routing](<https://devfeed.tech/tags/routing.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

This opinion argues that repeatedly configuring routine networking details in labs does not by itself build expertise. The author describes using netlab to automate familiar setup, reuse lab designs, create new topologies quickly, and focus on unfamiliar networking concepts, while noting that adapting existing topologies can still be useful for engineers who work on running networks.

### Source excerpt

A friend of mine recently wrote a nice post explaining how netlab helped him set up a large network topology in a reasonably short timeframe. As expected, his post attracted a wide variety of comments, from "netlab is a gamechanger" (thank you 😎) to "I prefer traditional labs." Instead of writing a bunch of replies into a walled-garden ecosystem, I decided to address some of those concerns in a public place. Let's start with: Read more ...

## Kotlin Exception Handling: Why Singleton Exceptions are a bad idea

DevFeed: [Kotlin Exception Handling: Why Singleton Exceptions are a bad idea](<https://devfeed.tech/articles/kotlin-exception-handling-why-singleton-exceptions-are-a-bad-idea-25732.md>)

Original publisher: [Read original article](<https://blog.shreyaspatil.dev/kotlin-exception-handling-why-singleton-exceptions-are-a-bad-idea/>)

Author: Shreyas Patil

Published: 2024-09-18T12:56:49Z

Content type: tutorial

Language: en

Sources: [Shreyas Patil's Blog](<https://devfeed.tech/sources/shreyas-patil-s-blog.md>)

Topics: [Exception](<https://devfeed.tech/topics/exception.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [debugging](<https://devfeed.tech/topics/debugging.md>), [App](<https://devfeed.tech/topics/app.md>), [Crashlytics](<https://devfeed.tech/topics/crashlytics.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [coding](<https://devfeed.tech/tags/coding.md>), [crashlytics](<https://devfeed.tech/tags/crashlytics.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [errors](<https://devfeed.tech/tags/errors.md>), [exception-handling](<https://devfeed.tech/tags/exception-handling.md>), [exceptionhandling](<https://devfeed.tech/tags/exceptionhandling.md>), [exceptions](<https://devfeed.tech/tags/exceptions.md>), [java](<https://devfeed.tech/tags/java.md>), [jvm](<https://devfeed.tech/tags/jvm.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-beginner](<https://devfeed.tech/tags/kotlin-beginner.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [mistakes](<https://devfeed.tech/tags/mistakes.md>), [programming-blogs](<https://devfeed.tech/tags/programming-blogs.md>), [programming-tips](<https://devfeed.tech/tags/programming-tips.md>)

### AI overview

This Kotlin micro-blog explains why singleton exception instances can produce incorrect stack traces and mislead debugging. It recommends avoiding singleton exceptions when stack traces matter, while noting they may be acceptable for internal state or informational exceptions that are not monitored at scale.

### Source excerpt

Understand why using singleton exceptions in Kotlin can be a bad practice and how it affects stack traces and debugging in your applications.

## How to run postmortems effectively?

DevFeed: [How to run postmortems effectively?](<https://devfeed.tech/articles/how-to-run-postmortems-effectively-28868.md>)

Original publisher: [Read original article](<https://medium.com/volvo-cars-engineering/how-to-run-postmortems-effectively-9c6a7d521174?source=rss----4eed8113139---4>)

Author: Peter Bergman

Published: 2024-09-17T08:49:33Z

Content type: tutorial

Language: en

Sources: [Volvo Cars Engineering - Medium](<https://devfeed.tech/sources/volvo-cars-engineering-medium.md>)

Topics: [incident](<https://devfeed.tech/topics/incident.md>), [systems](<https://devfeed.tech/topics/systems.md>), [context](<https://devfeed.tech/topics/context.md>)

Tags: [blameless-culture](<https://devfeed.tech/tags/blameless-culture.md>), [errors](<https://devfeed.tech/tags/errors.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [incident](<https://devfeed.tech/tags/incident.md>), [mistakes](<https://devfeed.tech/tags/mistakes.md>), [organization](<https://devfeed.tech/tags/organization.md>), [outages](<https://devfeed.tech/tags/outages.md>), [postmortem](<https://devfeed.tech/tags/postmortem.md>), [postmortem-documentation](<https://devfeed.tech/tags/postmortem-documentation.md>), [postmortem-report](<https://devfeed.tech/tags/postmortem-report.md>), [processes](<https://devfeed.tech/tags/processes.md>), [retrospective](<https://devfeed.tech/tags/retrospective.md>), [retrospectives](<https://devfeed.tech/tags/retrospectives.md>), [software-development](<https://devfeed.tech/tags/software-development.md>), [systems](<https://devfeed.tech/tags/systems.md>), [teams](<https://devfeed.tech/tags/teams.md>)

### AI overview

This article explains how to conduct effective, blameless postmortems after incidents such as outages, production bugs, or service disruptions. It emphasizes identifying root causes, examining systemic factors and context, and improving processes rather than assigning individual blame.

### Source excerpt

Incidents are inevitable. As we all know, system outages, bugs in production, or service disruptions, can all have significant impacts. When that happens, the company pays the price. It's better to see it as a chance to learn instead of pointing fingers. This is where postmortems come into play. A postmortem, also referred to as an incident analysis, or retrospective, is a vital practice for understanding what went wrong, why it happened, and how to avoid such occurrences in the future. Understanding postmortemsWhat is a postmortem and why is it important? An incident postmortem is a review process carried out after an incident. Its purpose is to determine the root causes and identify strategies to avoid similar future incidents. What does blameless mean? In a blameless postmortem, the emphasis is on learning from mistakes and improving processes, rather than pointing fingers. By focusing on systems, components, roles, processes, procedures, and not individuals, we can foster a blameless culture where teams feel safe to openly discuss incidents and contribute to meaningful solutions. The aim here is to reframe the discussion to focus on the systemic factors that contributed to the incident which let teams uncover deeper insights and implement more effective solutions. What about the human factor? Even though many incidents can be attributed to being caused one way or the other by humans, due to the human factor, so to speak, it is important that we aim to shift the conversation towards understanding the "second stories" behind the incident. The "first story" of human error focuses on individual mistakes, while the "second story" examines the systemic factors contributing to errors. To do so, we focus on the underlying factors and context that may not be immediately apparent. Through the use of "second stories", human error is seen as the effect of systemic vulnerabilities deeper inside the organization. If we assume that all actions are made in good faith, then what

## 11 Aspects Most Startups Get Wrong About OKRs and How to Fix it

DevFeed: [11 Aspects Most Startups Get Wrong About OKRs and How to Fix it](<https://devfeed.tech/articles/11-aspects-most-startups-get-wrong-about-okrs-and-how-to-fix-it-39866.md>)

Original publisher: [Read original article](<https://mende.io/blog/11-aspects-most-startups-get-wrong-about-okrs-and-how-to-fix-it/>)

Author: tobi@techunicorn.builders (Tobias Mende)

Published: 2024-02-24T05:00:00Z

Content type: opinion

Language: en

Sources: [Tobias Mende](<https://devfeed.tech/sources/tobias-mende.md>)

Topics: [Framework](<https://devfeed.tech/topics/framework.md>), [Tool](<https://devfeed.tech/topics/tool.md>), [implementation](<https://devfeed.tech/topics/implementation.md>), [Google](<https://devfeed.tech/topics/google.md>), [intel](<https://devfeed.tech/topics/intel.md>)

Tags: [alignment](<https://devfeed.tech/tags/alignment.md>), [andy-grove](<https://devfeed.tech/tags/andy-grove.md>), [article](<https://devfeed.tech/tags/article.md>), [engineering-leadership-goal-setting-leadership-product-management-engineering-excellence](<https://devfeed.tech/tags/engineering-leadership-goal-setting-leadership-product-management-engineering-excellence.md>), [focus](<https://devfeed.tech/tags/focus.md>), [framework](<https://devfeed.tech/tags/framework.md>), [google](<https://devfeed.tech/tags/google.md>), [growth](<https://devfeed.tech/tags/growth.md>), [intel](<https://devfeed.tech/tags/intel.md>), [mistakes](<https://devfeed.tech/tags/mistakes.md>), [objectives](<https://devfeed.tech/tags/objectives.md>), [organization](<https://devfeed.tech/tags/organization.md>), [progress](<https://devfeed.tech/tags/progress.md>), [startups](<https://devfeed.tech/tags/startups.md>), [tool](<https://devfeed.tech/tags/tool.md>)

### AI overview

This article explains what OKRs are, defines objectives, key results, and initiatives, and discusses why startups may implement OKRs unsuccessfully. It recommends first identifying the problems an organization wants to solve and adjusting the approach to fit its needs.

### Source excerpt

11 Aspects Most Startups Get Wrong About OKRs and How to Fix it Objectives and key results (OKRs) can be a powerful tool. But as with any framework or methodology out there, just applying it as others do will likely not yield the best results. It can even harm your organization.

## Even if you're unaware of patterns, you're using them

DevFeed: [Even if you're unaware of patterns, you're using them](<https://devfeed.tech/articles/even-if-you-re-unaware-of-patterns-you-re-using-them-39074.md>)

Original publisher: [Read original article](<https://blog.devdetails.com/p/even-if-youre-unaware-of-patterns>)

Author: Mike

Published: 2023-07-22T21:19:50Z

Content type: opinion

Language: en

Sources: [Dev Details](<https://devfeed.tech/sources/dev-details.md>)

Topics: [coding](<https://devfeed.tech/topics/coding.md>), [Code](<https://devfeed.tech/topics/code.md>), [Software](<https://devfeed.tech/topics/software.md>)

Tags: [developers](<https://devfeed.tech/tags/developers.md>), [mistakes](<https://devfeed.tech/tags/mistakes.md>), [patterns](<https://devfeed.tech/tags/patterns.md>), [productivity](<https://devfeed.tech/tags/productivity.md>), [repository-pattern](<https://devfeed.tech/tags/repository-pattern.md>)

### AI overview

The article argues that developers often use established software patterns without recognizing them. It recommends identifying and applying patterns pragmatically to learn from prior experience, avoid repeating mistakes, and improve shared understanding and productivity.

### Source excerpt

Ignoring patterns is a great way to repeat past mistakes

## 3 common foreign key mistakes (and how to avoid them)

DevFeed: [3 common foreign key mistakes (and how to avoid them)](<https://devfeed.tech/articles/3-common-foreign-key-mistakes-and-how-to-avoid-them-23771.md>)

Original publisher: [Read original article](<https://cockroachlabs.com/blog/common-foreign-key-mistakes>)

Author: Charlie Custer

Published: 2023-06-28T00:00:00Z

Content type: tutorial

Language: en

Sources: [Cockroach Labs](<https://devfeed.tech/sources/cockroach-labs.md>)

Topics: [Databases](<https://devfeed.tech/topics/databases.md>), [Database Migration](<https://devfeed.tech/topics/database-migration.md>), [CockroachDB](<https://devfeed.tech/topics/cockroachdb.md>), [data](<https://devfeed.tech/topics/data.md>), [SQLite](<https://devfeed.tech/topics/sqlite.md>)

Tags: [3](<https://devfeed.tech/tags/3.md>), [cockroachdb](<https://devfeed.tech/tags/cockroachdb.md>), [data-type](<https://devfeed.tech/tags/data-type.md>), [database](<https://devfeed.tech/tags/database.md>), [errors](<https://devfeed.tech/tags/errors.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [mistakes](<https://devfeed.tech/tags/mistakes.md>), [schema](<https://devfeed.tech/tags/schema.md>), [sql](<https://devfeed.tech/tags/sql.md>), [sqlite](<https://devfeed.tech/tags/sqlite.md>), [systems](<https://devfeed.tech/tags/systems.md>), [types](<https://devfeed.tech/tags/types.md>)

### AI overview

This tutorial explains three common foreign key mistakes: mismatched data types, dangling references to nonexistent tables or columns, and related schema problems. It describes how these issues can arise and how to prevent them, including database-specific behavior in SQLite and CockroachDB.

### Source excerpt

Foreign keys are an important element of any relational database. But when you're setting up your database schema, it's relatively easy to create problems for yourself if the foreign keys aren't set up correctly. Here are three of the most common mistakes made with foreign keys, and a little advice on how to avoid them!

## How Ignoring Mistakes Creates Overconfidence and Organizational Risk

DevFeed: [How Ignoring Mistakes Creates Overconfidence and Organizational Risk](<https://devfeed.tech/articles/on-ignoring-mistakes-resilience-and-the-hidden-dangers-therein-27115.md>)

Original publisher: [Read original article](<https://andrea.corbellini.name/2023/03/18/mistakes/>)

Author: andreacorbellini

Published: 2023-03-18T08:20:00Z

Content type: opinion

Language: en

Sources: [Andrea Corbellini](<https://devfeed.tech/sources/andrea-corbellini.md>)

Topics: [Resilience](<https://devfeed.tech/topics/resilience.md>), [Learning](<https://devfeed.tech/topics/learning.md>)

Tags: [behavior](<https://devfeed.tech/tags/behavior.md>), [leadership](<https://devfeed.tech/tags/leadership.md>), [learning](<https://devfeed.tech/tags/learning.md>), [mistakes](<https://devfeed.tech/tags/mistakes.md>), [nasa](<https://devfeed.tech/tags/nasa.md>), [organization](<https://devfeed.tech/tags/organization.md>), [resilience](<https://devfeed.tech/tags/resilience.md>)

### AI overview

The article explains how successful outcomes can conceal flawed execution, causing people and organizations to repeat mistakes and develop overconfidence. It discusses normalization of deviance through examples including the Challenger and Columbia shuttle disasters, where NASA leadership ignored engineering concerns.

### Source excerpt

As a scuba diver who often explores new places, I can say that I have found myself in some dangerous situations, but I always made it back to the surface without facing any negative consequences. Does this mean that I never made any mistakes? Absolutely not: mistakes were made, and lessons were learned. We can all agree that learning from mistakes is good, but ...

## 5 Beginner Testing Mistakes I Noticed While Working with Less Experienced Developers

DevFeed: [5 Beginner Testing Mistakes I Noticed While Working with Less Experienced Developers](<https://devfeed.tech/articles/5-beginner-testing-mistakes-i-noticed-while-working-with-less-experienced-developers-24819.md>)

Original publisher: [Read original article](<https://akjaw.com/5-beginner-testing-mistakes-i-noticed-while-working-with-less-experienced-developers/>)

Author: Aleksander Jaworski

Published: 2023-01-20T16:01:57Z

Content type: tutorial

Language: en

Sources: [AKJAW](<https://devfeed.tech/sources/akjaw.md>)

Topics: [Testing](<https://devfeed.tech/topics/testing.md>), [test](<https://devfeed.tech/topics/test.md>)

Tags: [beginner](<https://devfeed.tech/tags/beginner.md>), [bugs](<https://devfeed.tech/tags/bugs.md>), [developers](<https://devfeed.tech/tags/developers.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [mistakes](<https://devfeed.tech/tags/mistakes.md>), [recommendations](<https://devfeed.tech/tags/recommendations.md>), [series](<https://devfeed.tech/tags/series.md>), [test](<https://devfeed.tech/tags/test.md>), [testing](<https://devfeed.tech/tags/testing.md>), [tests](<https://devfeed.tech/tags/tests.md>)

### AI overview

The article introduces a series about improving software tests and identifies five beginner testing mistakes observed while working with less experienced developers. It explains that a good test suite helps catch regressions and bugs faster and gives developers more confidence when merging or releasing products.

### Source excerpt

Having a good test suite helps with catching regressions / bugs a lot faster, and gives developers more confidence when merging / releasing their product. In this series, I'll share my recommendations for improving your tests.

## Building resilience in tech (and in life)

DevFeed: [Building resilience in tech (and in life)](<https://devfeed.tech/articles/building-resilience-in-tech-and-in-life-16477.md>)

Original publisher: [Read original article](<https://firebase.blog/posts/2022/10/firebase-summit-2022-dei-panel>)

Author: Victoria Hurd; Cleo Schneider

Published: 2022-10-31T00:00:00Z

Content type: article

Language: en

Sources: [Firebase Blog](<https://devfeed.tech/sources/firebase-blog.md>)

Topics: [Resilience](<https://devfeed.tech/topics/resilience.md>), [Firebase](<https://devfeed.tech/topics/firebase.md>), [Google](<https://devfeed.tech/topics/google.md>)

Tags: [community](<https://devfeed.tech/tags/community.md>), [dei](<https://devfeed.tech/tags/dei.md>), [firebase](<https://devfeed.tech/tags/firebase.md>), [firebase-summit](<https://devfeed.tech/tags/firebase-summit.md>), [growth](<https://devfeed.tech/tags/growth.md>), [inclusive](<https://devfeed.tech/tags/inclusive.md>), [mistakes](<https://devfeed.tech/tags/mistakes.md>), [people](<https://devfeed.tech/tags/people.md>), [personal](<https://devfeed.tech/tags/personal.md>), [resilience](<https://devfeed.tech/tags/resilience.md>), [technology](<https://devfeed.tech/tags/technology.md>)

### AI overview

The article discusses a Firebase Summit DEI panel in which Firebase leads from Humans of Underrepresented Genders shared practical ways to build resilience through workplace and personal challenges. It highlights reframing mistakes and failure as opportunities for growth.

### Source excerpt

At the Firebase Summit, Firebase leads representing HUGs participated in a DEI panel discussion to share how they've learned to build resilience in the face of challenges at work and at home. Turns out, although we're all on our own paths, there's a lot of wisdom we can learn from each other.

## The Data Journey: Predictable Stages and Common Team Mistakes

DevFeed: [The Data Journey: Predictable Stages and Common Team Mistakes](<https://devfeed.tech/articles/the-data-journey-unlocking-data-for-the-right-now-18679.md>)

Original publisher: [Read original article](<https://www.tinybird.co/blog/the-data-journey>)

Author: Alejandro Martín

Published: 2022-10-06T00:00:00Z

Content type: article

Language: en

Sources: [Tinybird](<https://devfeed.tech/sources/tinybird.md>)

Topics: [data](<https://devfeed.tech/topics/data.md>)

Tags: [data](<https://devfeed.tech/tags/data.md>), [journey](<https://devfeed.tech/tags/journey.md>), [mistakes](<https://devfeed.tech/tags/mistakes.md>), [scalable-analytics-architecture](<https://devfeed.tech/tags/scalable-analytics-architecture.md>), [teams](<https://devfeed.tech/tags/teams.md>)

### AI overview

The article explains that data work follows predictable stages and that recognizing the current stage can help teams avoid recurring mistakes and delays.

### Source excerpt

The data journey follows predictable stages. Knowing where you are helps you avoid mistakes that slow teams down repeatedly.

## Being on-call as a software engineer - a challenging and fast learning experience

DevFeed: [Being on-call as a software engineer - a challenging and fast learning experience](<https://devfeed.tech/articles/being-on-call-as-a-software-engineer-a-challenging-and-fast-learning-experience-28017.md>)

Original publisher: [Read original article](<https://tech.trivago.com/post/2022-01-12-engineeroncall/>)

Author: Stefan Nothaas Java Software; Backend Engineer

Published: 2022-01-12T00:00:00Z

Content type: article

Language: en

Sources: [Trivago](<https://devfeed.tech/sources/trivago.md>)

Topics: [backends](<https://devfeed.tech/topics/backends.md>), [Software](<https://devfeed.tech/topics/software.md>), [Development](<https://devfeed.tech/topics/development.md>), [Google Cloud Platform (GCP)](<https://devfeed.tech/topics/google-cloud.md>), [Kafka](<https://devfeed.tech/topics/kafka.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [systems](<https://devfeed.tech/topics/systems.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>)

Tags: [backends](<https://devfeed.tech/tags/backends.md>), [blog-post](<https://devfeed.tech/tags/blog-post.md>), [development](<https://devfeed.tech/tags/development.md>), [devops](<https://devfeed.tech/tags/devops.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [engineering-culture](<https://devfeed.tech/tags/engineering-culture.md>), [experience](<https://devfeed.tech/tags/experience.md>), [google-cloud](<https://devfeed.tech/tags/google-cloud.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [kafka](<https://devfeed.tech/tags/kafka.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [learning](<https://devfeed.tech/tags/learning.md>), [learnings](<https://devfeed.tech/tags/learnings.md>), [managed-services](<https://devfeed.tech/tags/managed-services.md>), [mistakes](<https://devfeed.tech/tags/mistakes.md>), [on-call](<https://devfeed.tech/tags/on-call.md>), [professional-development](<https://devfeed.tech/tags/professional-development.md>), [root-cause-analysis](<https://devfeed.tech/tags/root-cause-analysis.md>), [software](<https://devfeed.tech/tags/software.md>), [software-engineer](<https://devfeed.tech/tags/software-engineer.md>), [systems](<https://devfeed.tech/tags/systems.md>), [tooling](<https://devfeed.tech/tags/tooling.md>)

### AI overview

A trivago interview with backend engineer Stefan Nothaas examines his experience being on-call. It explains how on-call engineers respond to incidents, coordinate follow-up and root-cause analysis, and learn about infrastructure including Google Cloud, Kubernetes, Kafka and CLI tooling.

### Source excerpt

At trivago, we run webservices with complex backends in different regions around the globe 24/7. Our system is being iterated and developed on a daily basis. Naturally, mistakes will be made and...

## Postmortem: Removing all users from github.com/trivago

DevFeed: [Postmortem: Removing all users from github.com/trivago](<https://devfeed.tech/articles/postmortem-removing-all-users-from-github-com-trivago-28013.md>)

Original publisher: [Read original article](<https://tech.trivago.com/post/2021-10-05-postmortem-removing-all-users-from-github-trivago/>)

Author: Andy Grunwald Follow

Published: 2021-10-05T00:00:00Z

Content type: opinion

Language: en

Sources: [Trivago](<https://devfeed.tech/sources/trivago.md>)

Topics: [GitHub](<https://devfeed.tech/topics/github.md>), [incident](<https://devfeed.tech/topics/incident.md>), [Post Mortem](<https://devfeed.tech/topics/post-mortem.md>), [Entra ID](<https://devfeed.tech/topics/entra-id.md>), [pull-requests](<https://devfeed.tech/topics/pull-requests.md>), [ci](<https://devfeed.tech/topics/ci.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>)

Tags: [azure](<https://devfeed.tech/tags/azure.md>), [bugs](<https://devfeed.tech/tags/bugs.md>), [culture](<https://devfeed.tech/tags/culture.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [engineering-culture](<https://devfeed.tech/tags/engineering-culture.md>), [github](<https://devfeed.tech/tags/github.md>), [incident](<https://devfeed.tech/tags/incident.md>), [mistakes](<https://devfeed.tech/tags/mistakes.md>), [post-mortem](<https://devfeed.tech/tags/post-mortem.md>), [postmortem](<https://devfeed.tech/tags/postmortem.md>), [processes](<https://devfeed.tech/tags/processes.md>), [pull-requests](<https://devfeed.tech/tags/pull-requests.md>), [retrospective](<https://devfeed.tech/tags/retrospective.md>), [slack](<https://devfeed.tech/tags/slack.md>), [systems](<https://devfeed.tech/tags/systems.md>)

### AI overview

This blameless postmortem explains how trivago's automatic synchronization between GitHub and Azure Active Directory removed all synced user accounts from the company's GitHub organization. The root cause was deletion of the Azure Active Directory security group controlling access. The group was restored, users were reinvited, and the incident lasted 1 hour and 19 minutes.

### Source excerpt

While engineering, we fix bugs, create new systems, build workflows and establish processes. Our job is to change things. Changing things can involve mistakes that ultimately lead to the failure...

[Next page](<https://devfeed.tech/tags/mistakes.md?cursor=WyIyMDIxLTEwLTA1VDAwOjAwOjAwKzAwOjAwIiwgImI2YTI4MjE5LTE1NTQtNDQ3Ny1iOGJlLWZmMGY5N2Y4Nzc0OSJd>)