{"id":3208,"date":"2021-06-01T08:51:24","date_gmt":"2021-06-01T07:51:24","guid":{"rendered":"https:\/\/cultivate.software\/mein-schlimmster-software-bug\/"},"modified":"2024-12-06T18:35:57","modified_gmt":"2024-12-06T17:35:57","slug":"mein-schlimmster-software-bug","status":"publish","type":"post","link":"https:\/\/cultivate.software\/de\/mein-schlimmster-software-bug\/","title":{"rendered":"Mein schlimmster Software-Bug aller Zeiten"},"content":{"rendered":"\n<p>Lass mich dir von <strong>einem der schlimmsten Bugs erz\u00e4hlen, die ich (bis jetzt)<\/strong> in meiner Karriere als Software-Entwickler produziert habe.<\/p>\n\n<p>Ich erinnere mich daran, als w\u00e4re es gestern gewesen. Im Jahr 2012 arbeitete ich f\u00fcr ein Unternehmen, das einen Online-Marktplatz f\u00fcr Immobilien betreibt. Viele Menschen sind auf ihre Dienste angewiesen, um beispielsweise eine Wohnung zu finden.  <\/p>\n\n<h2 class=\"wp-block-heading\">Suchmaschinenoptimierung<\/h2>\n\n<p>Ich arbeitete im SEO-Team. <strong>SEO steht f\u00fcr Suchmaschinenoptimierung.<\/strong> Es geht darum, sicherzustellen, dass dieser Online-Marktplatz ganz oben erscheint, wenn man nach Begriffen wie \u201eWohnung\u201c oder \u201eApartment\u201c googelt.<\/p>\n\n<p>Der Wettbewerb in diesem Markt war hart. Zwei andere bemerkenswerte Akteure wollten die Pole-Position mehr als alles andere auf der Welt. <\/p>\n\n<p>Das Problem mit Google ist: <strong>Das erste Suchergebnis erh\u00e4lt den Gro\u00dfteil des relevanten Traffics.<\/strong> Und Traffic ist das A und O f\u00fcr Online-Marktpl\u00e4tze wie diesen. Es gibt keine station\u00e4ren Gesch\u00e4fte. Alles passiert online. Und Google ist der Startpunkt der Kundenreise.   <\/p>\n\n<p>Da es bei SEO darum geht, deine Website relevant erscheinen zu lassen, ben\u00f6tigt man guten einzigartigen Inhalt auf seinen Seiten \u2013 und davon braucht man eine Menge.<\/p>\n\n<p>F\u00fcr h\u00e4ufig verwendete W\u00f6rter wie \u201eApartment\u201c <strong>dauert es viele Jahre, um auf die erste Seite der Google-Suchergebnisse zu gelangen.<\/strong> Das liegt haupts\u00e4chlich daran, dass so viele Unternehmen um Sichtbarkeit konkurrieren, wenn der Nutzer nach \u201eApartment\u201c sucht.<\/p>\n\n<h2 class=\"wp-block-heading\">Der Googlebot klingelt immer zweimal.<\/h2>\n\n<p>Zweimal am Tag erhielt die Website einen einzigartigen Besucher \u2013 den Webcrawler-Bot von Google.<\/p>\n\n<p>Der Googlebot ist eine Software, die im Grunde den ganzen Tag im Internet surft. Seine Aufgabe ist es, allen Links zu folgen und sich alle Seiten des Webs anzusehen. Er scannt den Inhalt der Webseite und f\u00fcgt die Webseite dem Google-Suchindex hinzu, zusammen mit einigen Meta-Tags.  <\/p>\n\n<p>Wenn du nach einem bestimmten Begriff googelst, sagen wir \u201eApartment\u201c, dann greift die Google-Suchmaschine auf ihr Archiv zu und sucht nach Webseiten, die mit diesem Begriff verbunden sind. Anschlie\u00dfend sortiert sie die gefundenen Seiten nach Relevanz und pr\u00e4sentiert dir das Ergebnis. Die relevanteste Webseite erscheint ganz oben in der Suchergebnisliste.  <\/p>\n\n<p>Kurz gesagt, <strong>der Googlebot durchsucht das Internet nach neuen Inhalten und f\u00fcllt den Google-Suchindex.<\/strong> Die Google-Suchmaschine nutzt dann diesen Index, um schnell relevante Seiten basierend auf dem Suchbegriff des Nutzers zu finden.<\/p>\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><a href=\"https:\/\/developers.google.com\/search\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cultivate.software\/wp-content\/uploads\/2021\/06\/googlebot.png\" alt=\"Googlebot\" class=\"wp-image-1351\" width=\"600\" height=\"250\" srcset=\"https:\/\/cultivate.software\/wp-content\/uploads\/2021\/06\/googlebot.png 1200w, https:\/\/cultivate.software\/wp-content\/uploads\/2021\/06\/googlebot-300x125.png 300w, https:\/\/cultivate.software\/wp-content\/uploads\/2021\/06\/googlebot-1024x427.png 1024w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><figcaption><a href=\"https:\/\/developers.google.com\/search\" target=\"_blank\" rel=\"noreferrer noopener\">Googlebot<\/a><\/figcaption><\/figure><\/div>\n\n<p>In unserem Fall kam der Googlebot zweimal am Tag, zuerst um 2 Uhr morgens und dann wieder um 14 Uhr. Das konnten wir in unseren \u00dcberwachungstools sehen. <\/p>\n\n<h2 class=\"wp-block-heading\">Du kommst nicht vorbei!<\/h2>\n\n<p>Manchmal m\u00f6chten wir nicht, dass der Googlebot unsere Seite in den Google-Suchindex aufnimmt. Website-Besitzer haben daf\u00fcr unterschiedliche Gr\u00fcnde. Einige m\u00f6chten beispielsweise nicht gefunden werden, w\u00e4hrend andere unfertige Seiten haben, die noch nicht bereit sind.  <\/p>\n\n<p>In diesen F\u00e4llen <strong>k\u00f6nnen wir den Googlebot \u201ebitten\u201c, unsere Seite nicht in den Index aufzunehmen.<\/strong> Das erreichen wir mit einem speziellen Meta-Tag im Header der Webseite:<\/p>\n\n<pre class=\"wp-block-code language-html\"><code>&lt;html&gt;\n  &lt;head&gt;\n    &lt;meta name=\"robots\" content=\"noindex nofollow\"&gt;\n    &lt;!-- ... --&gt;\n  &lt;\/head&gt;\n  &lt;body&gt;\n    &lt;!-- ... --&gt;\n  &lt;\/body&gt; \n&lt;\/html&gt;<\/code><\/pre>\n\n<p><code>noindex<\/code> bedeutet: \u201eBitte f\u00fcge die Seite nicht in deinen Index ein.\u201c und <code>nofollow<\/code> bedeutet: \u201eBitte folge keinem Link auf dieser Seite.\u201c<\/p>\n\n<p>Mit <code>noindex<\/code> kannst du deine Seite im Grunde transparent machen und mit <code>nofollow<\/code> kannst du sie zu einer Sackgasse f\u00fcr den Webcrawler machen.<\/p>\n\n<p>Das Motto von Google zu dieser Zeit war: \u201eSei nicht b\u00f6se.\u201c Daher gab es wirklich <em>keinen<\/em> Grund zu glauben, dass der Googlebot unsere Privatsph\u00e4re nicht respektieren w\u00fcrde.  <\/p>\n\n<h2 class=\"wp-block-heading\">Test &amp; Produktion<\/h2>\n\n<p>Die meisten Softwareunternehmen haben ein Testsystem (auch bekannt als Umgebung), um neue Features und \u00c4nderungen zu testen. Ein Testsystem <code>TEST<\/code> ist mehr oder weniger eine Kopie des Produktionssystems <code>PROD<\/code> mit all den Servern, Datenbanken und anderen Komponenten. <\/p>\n\n<p>Eine g\u00e4ngige M\u00f6glichkeit f\u00fcr Entwickler, auf die <code>TEST<\/code>-Umgebung zuzugreifen, besteht darin, <code>test.company.com<\/code> anstelle von <code>company.com<\/code> zu besuchen.<\/p>\n\n<p>Wenn die Entwickler mit dem, was sie im <code>TEST<\/code>-System sehen, zufrieden sind, kopieren sie die \u00c4nderungen in das <code>PROD<\/code>-System. Dies ist der Moment, in dem auch die regul\u00e4ren Benutzer schlie\u00dflich die \u00c4nderungen sehen werden. <\/p>\n\n<p>Die <code>TEST<\/code>-Umgebung ist aus Sicht des Googlebots eine Website wie jede andere Website. Und da wir nicht m\u00f6chten, dass unfertige Funktionen oder bevorstehende saisonale Aktionen an Endbenutzer weitergegeben werden, m\u00fcssen wir dem Googlebot mitteilen, dass er die <code>TEST<\/code>-Umgebung ignorieren soll: <\/p>\n\n<pre class=\"wp-block-code language-jsx\"><code>&lt;head&gt;\n  {hostname.includes(\"test.\") ? (\n    &lt;meta name=\"robots\" content=\"noindex nofollow\"&gt;\n  ) : (\n    &lt;meta name=\"robots\" content=\"index follow\"&gt;\n  )}\n  &lt;!-- ... --&gt;\n&lt;\/head&gt;<\/code><\/pre>\n\n<h2 class=\"wp-block-heading\">Es dauert Jahre, um einen Ruf aufzubauen\u2026<\/h2>\n\n<p>Eines Tages waren mein Team und ich damit besch\u00e4ftigt, an einigen neuen Features zu arbeiten, als der Produktverantwortliche hereinkam. Er fragte, ob wir eine bestimmte Seite aus dem Index nehmen k\u00f6nnten. Sie unterst\u00fctzt das Ranking bei Google nicht wirklich.  <\/p>\n\n<p>Also tat ich es. Ich \u00f6ffnete die Datei mit dem Quellcode f\u00fcr die Seite und entfernte die if\/else-Anweisung, weil die <code>TEST<\/code>-Seite nicht indiziert werden sollte und die <code>PROD<\/code>-Seite ebenfalls nicht: <\/p>\n\n<pre class=\"wp-block-code language-jsx\"><code>&lt;head&gt;\n  &lt;meta name=\"robots\" content=\"noindex nofollow\"&gt;\n  &lt;!-- ... --&gt;\n&lt;\/head&gt;<\/code><\/pre>\n\n<p>Gegen 13 Uhr ging mein Team zum Mittagessen.<\/p>\n\n<p>Ich setzte mich gerade hin, bereit, in meinen wohlverdienten D\u00f6ner zu bei\u00dfen, als mein Telefon klingelte.<\/p>\n\n<p>Es war der Produktverantwortliche:<\/p>\n\n<p><em><span class=\"has-inline-color has-theme-primary-color\">\u201eHast du dem Googlebot gesagt, dass er unsere Seite aus dem Google-Index nehmen soll?\u201c<\/span><\/em><\/p>\n\n<p>Ich: <em><span class=\"has-inline-color has-theme-primary-color\">\u201eJa, das hast du gewollt.\u201c<\/span><\/em><\/p>\n\n<p>Er: <em><span class=\"has-inline-color has-theme-primary-color\">\u201eABER NICHT DIE GESAMTE WEBSITE!!!\u201c<\/span><\/em><\/p>\n\n<p>Ich: <em><span class=\"has-inline-color has-theme-primary-color\">\u201eWas meinst du?\u201c<\/span><\/em><\/p>\n\n<p>Er: <em><span class=\"has-inline-color has-theme-primary-color\">\u201eAlle Seiten des Marktplatzes sind derzeit auf NOINDEX gesetzt! Nicht nur die eine Seite, um die ich dich gebeten habe.\u201c<\/span><\/em><\/p>\n\n<p>Oh je.<\/p>\n\n<p>Wir lie\u00dfen unser Essen fallen, griffen unsere Sachen und rannten zur\u00fcck ins B\u00fcro.<\/p>\n\n<p>Wenn das, was der Produktverantwortliche gerade gesagt hatte, wahr war, <strong>hatten wir weniger als eine Stunde Zeit, um das Problem zu beheben.<\/strong> Weniger als eine Stunde, bevor der Googlebot kam.<\/p>\n\n<p>Sobald der Googlebot <code>noindex<\/code> sieht, w\u00fcrde er den gesamten Marktplatz aus dem Google-Suchindex entfernen. <strong>Es w\u00fcrde Jahre dauern, um wieder an die Spitze der Suchergebnisse zu gelangen.<\/strong> Unsere Wettbewerber w\u00fcrden den ganzen Traffic \u2013 und die Verk\u00e4ufe \u2013 bekommen.<\/p>\n\n<p><em>Ich begann mich zu fragen, ob die Konkurrenz mir eine Dankeskarte schicken w\u00fcrde? Und ob die Karte tats\u00e4chlich ihren Weg in die Antarktis finden w\u00fcrde\u2026 <\/em><\/p>\n\n<h2 class=\"wp-block-heading\">Es ist eine Teamleistung.<\/h2>\n\n<p>Wir fanden und behoben das Problem rechtzeitig. <strong>Ich hatte die falsche Datei ge\u00e4ndert,<\/strong> und wir schafften es, die vorherige Version der Datei mit der richtigen Anweisung f\u00fcr den Googlebot zu ver\u00f6ffentlichen.<\/p>\n\n<p>Der Bot kam und ging, als w\u00e4re nichts passiert. Der Marktplatz blieb auf Position eins der Suchergebnisse. Alles war gut.  <\/p>\n\n<p>In unserer zweiw\u00f6chentlichen Retrospektive besprachen wir das Problem und wie wir solche Vorf\u00e4lle in Zukunft verhindern k\u00f6nnten.<\/p>\n\n<p>Wir einigten uns auf zwei Ma\u00dfnahmen:<\/p>\n\n<p><strong>1) Automatisierte Tests<\/strong><\/p>\n\n<p>Wir f\u00fcgten einen fehlenden Test zu unserem Sicherheitsnetz hinzu. Ein Test, der automatisch ausgef\u00fchrt wurde, jedes Mal wenn wir die Produktionsumgebung \u00e4nderten. Er w\u00fcrde uns eine Benachrichtigung senden, falls das <code>robots<\/code>-Meta-Tag auf <code>PROD<\/code> jemals wieder <code>noindex<\/code> signalisieren sollte.  <\/p>\n\n<p><strong>2) 4-Augen-Prinzip<\/strong><\/p>\n\n<p>Wir entschieden, dass jede \u00c4nderung an unserer Software von einem zweiten Paar Augen \u00fcberpr\u00fcft werden musste \u2013 vier Augen sehen mehr als zwei. Wir fanden Git Pull Requests super ineffizient und einigten uns auf pers\u00f6nliche Code-Reviews. <\/p>\n\n<p><strong>Die automatisierten Tests und die Kontrolle eines Kollegen stellten ein zweischichtiges Sicherheitsnetz dar.<\/strong> Und diese Redundanz war in den folgenden Monaten und Jahren \u00e4u\u00dferst hilfreich. Wir entdeckten nicht nur viele Bugs, bevor sie die Kunden erreichten, sondern unsere Codequalit\u00e4t verbesserte sich auch erheblich und wir lernten viel voneinander. <\/p>\n\n<p>Programmieren machte nie mehr Spa\u00df.<\/p>\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cultivate.software\/wp-content\/uploads\/2021\/06\/philosoraptor-spider-man.jpg\" alt=\"Philosoraptor Meme: &#x201E;Wenn Spiderman im Internet surft, hei&#xDF;t das, dass der Silver Surfer ein Web Crawler ist?&#x201C;\" class=\"wp-image-1352\" width=\"250\" height=\"250\" srcset=\"https:\/\/cultivate.software\/wp-content\/uploads\/2021\/06\/philosoraptor-spider-man.jpg 500w, https:\/\/cultivate.software\/wp-content\/uploads\/2021\/06\/philosoraptor-spider-man-300x300.jpg 300w, https:\/\/cultivate.software\/wp-content\/uploads\/2021\/06\/philosoraptor-spider-man-150x150.jpg 150w, https:\/\/cultivate.software\/wp-content\/uploads\/2021\/06\/philosoraptor-spider-man-80x80.jpg 80w\" sizes=\"auto, (max-width: 250px) 100vw, 250px\" \/><\/figure><\/div>\n\n<h2 class=\"wp-block-heading\">Was w\u00e4re wenn?<\/h2>\n\n<p>Lass uns f\u00fcr einen Moment annehmen, wir h\u00e4tten das Problem nicht rechtzeitig beheben k\u00f6nnen.<\/p>\n\n<p>Was w\u00e4ren die Konsequenzen, wenn ein Bug zu einem Ausfall, einem Datenverlust oder dem Verlust von Nutzern an die Konkurrenz f\u00fchren w\u00fcrde?<\/p>\n\n<p>W\u00fcrde das Unternehmen uns feuern? W\u00fcrden sie uns verklagen? M\u00fcssten wir bis ans Ende unseres Lebens f\u00fcr den Umsatzverlust aufkommen?  <\/p>\n\n<p>H\u00f6chstwahrscheinlich nicht.<\/p>\n\n<p>Solange wir nicht absichtlich etwas B\u00f6ses tun (und dabei erwischt werden), ist es wirklich schwierig zu beweisen, dass es allein unsere Schuld war. <strong>Softwareentwicklung ist kompliziert, und in der Regel sind mehr als eine Person beteiligt.<\/strong> Programmierer, Administratoren, Produktverantwortliche \u2026<\/p>\n\n<p>Es ist eine Teamleistung, und unsere t\u00e4gliche Arbeit wird auch von dem beeinflusst, was andere in der Vergangenheit getan haben. Zum Beispiel die Dateinamen, die jemand vor ein paar Jahren gew\u00e4hlt hat, oder die Tests, die sie nicht geschrieben haben. <\/p>\n\n<p>Am Ende l\u00e4uft es immer darauf hinaus, dass der Chef keinen angemessenen Prozess eingerichtet hat, um solche Vorf\u00e4lle zu verhindern.<\/p>\n\n<p>Das bedeutet nat\u00fcrlich nicht, dass wir tun k\u00f6nnen, was wir wollen und sorglos herumlaufen k\u00f6nnen. Nein, wir m\u00fcssen weiterhin unser Bestes geben und auf Details achten. <\/p>\n\n<p>Aber wir d\u00fcrfen uns auch nicht von der Angst l\u00e4hmen lassen, Dinge kaputt zu machen. Wir m\u00fcssen den Mut haben, Dinge zu ver\u00e4ndern.  <strong>Dinge kaputt zu machen ist normal. Wir m\u00fcssen nur sicherstellen, dass wir daraus lernen. <\/strong><\/p>\n\n<p>Moderne agile Softwareentwicklungspraktiken wie das Schreiben von Tests, Deployment-Automatisierung oder Retrospektiven sind aus einem bestimmten Grund vorhanden. Und sie sollten nicht leichtfertig \u00fcbersprungen oder ver\u00e4ndert werden. Sie schaffen Redundanz, erh\u00f6hen die Qualit\u00e4t und bieten die M\u00f6glichkeit, aus Fehlern zu lernen.  <\/p>\n\n<p>Und wenn ein Team gute Entwicklungspraktiken w\u00e4hlt, wird das Scheitern zu einer sicheren Sache.<\/p>\n\n<p>Bis demn\u00e4chst<br\/>-David<\/p>\n\n<div class=\"wp-block-genesis-blocks-gb-container aligncenter d-none signup boxed bg-primary-light gb-block-container\"><div class=\"gb-container-inside\"><div class=\"gb-container-content\">\n<h4 class=\"has-text-align-center wp-block-heading\">Sieht dein Projektportfolio wie alle anderen aus?<\/h4>\n\n\n\n<p class=\"has-text-align-center\">Melde dich f\u00fcr meinen Newsletter an und erhalte&#8230;<\/p>\n\n\n\n<h2 class=\"has-text-align-center wp-block-heading\">10 einzigartige Portfolio-Projektideen<\/h2>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cultivate.software\/wp-content\/uploads\/2021\/08\/10-unique-portfolio-project-ideas_400.png\" alt=\"Foto einer Email\" class=\"wp-image-1637\" width=\"200\" height=\"232\" srcset=\"https:\/\/cultivate.software\/wp-content\/uploads\/2021\/08\/10-unique-portfolio-project-ideas_400.png 400w, https:\/\/cultivate.software\/wp-content\/uploads\/2021\/08\/10-unique-portfolio-project-ideas_400-259x300.png 259w\" sizes=\"auto, (max-width: 200px) 100vw, 200px\" \/><\/figure><\/div>\n\n\n\n<h4 class=\"has-text-align-center wp-block-heading\">Hebe dich von der Masse ab.<\/h4>\n\n\n\n<div class=\"wp-block-genesis-blocks-gb-container aligncenter gb-block-container\"><div class=\"gb-container-inside\"><div class=\"gb-container-content\"><\/div><\/div><\/div>\n\n\n\n<form class=\"inline\" action=\"https:\/\/school.us19.list-manage.com\/subscribe\/post?u=caf8d752dc5324f676dbcf22b&#038;id=0079a6f8b8&#038;SIGNUP=widget-magnet-project-ideas\" method=\"post\" name=\"mc-embedded-subscribe-form\" target=\"_blank\">\n  <div class=\"form-group\">\n    <input type=\"text\" name=\"FNAME\" required=\"\" placeholder=\"Vorname\"\/>\n  <\/div>\n  <div class=\"form-group\">\n    <input type=\"email\" name=\"EMAIL\" required=\"\" placeholder=\"Email-Addresse\"\/>\n  <\/div>\n  <!-- real people should not fill this in and expect good things - do not remove this or risk form bot signups-->\n  <div style=\"position: absolute; left: -5000px;\" aria-hidden=\"true\">\n    <input type=\"text\" tabindex=\"-1\" name=\"b_caf8d752dc5324f676dbcf22b_0079a6f8b8\" value=\"\"\/>\n  <\/div>\n  <div class=\"form-group align-center\">\n    <input type=\"submit\" name=\"subscribe\" value=\"Ja, sende mir deine Projekt-Ideen\"\/>\n  <\/div>\n<\/form>\n\n\n\n<p class=\"has-text-align-center has-small-font-size\">Ich halte dich mit ein paar Emails pro Monat auf dem Laufenden. Selbstverst\u00e4ndlich kannst du dich jederzeit abmelden.<\/p>\n<\/div><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Lass mich dir von einem der schlimmsten Bugs erz\u00e4hlen, die ich (bis jetzt) in meiner Karriere als Software-Entwickler produziert habe. Ich erinnere mich daran, als w\u00e4re es gestern gewesen. Im Jahr 2012 arbeitete ich f\u00fcr ein Unternehmen, das einen Online-Marktplatz f\u00fcr Immobilien betreibt. Viele Menschen sind auf ihre Dienste angewiesen, um beispielsweise eine Wohnung zu [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2986,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[7],"tags":[],"class_list":{"0":"post-3208","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-unkategorisiert","8":"entry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Mein schlimmster Software-Bug aller Zeiten &#8211; cultivate<\/title>\n<meta name=\"description\" content=\"Lass mich dir von einem der schlimmsten Bugs erz\u00e4hlen, die ich (bis jetzt) in meiner Karriere als Software-Ingenieur produziert habe \u2013 und von den Lektionen, die ich daraus gelernt habe.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cultivate.software\/de\/mein-schlimmster-software-bug\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mein schlimmster Software-Bug aller Zeiten &#8211; cultivate\" \/>\n<meta property=\"og:description\" content=\"Lass mich dir von einem der schlimmsten Bugs erz\u00e4hlen, die ich (bis jetzt) in meiner Karriere als Software-Ingenieur produziert habe \u2013 und von den Lektionen, die ich daraus gelernt habe.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cultivate.software\/de\/mein-schlimmster-software-bug\/\" \/>\n<meta property=\"og:site_name\" content=\"cultivate\" \/>\n<meta property=\"article:published_time\" content=\"2021-06-01T07:51:24+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-12-06T17:35:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cultivate.software\/wp-content\/uploads\/2021\/06\/googlebot.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"500\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"David Bieder\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"David Bieder\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/cultivate.software\\\/de\\\/mein-schlimmster-software-bug\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/cultivate.software\\\/de\\\/mein-schlimmster-software-bug\\\/\"},\"author\":{\"name\":\"David Bieder\",\"@id\":\"https:\\\/\\\/cultivate.software\\\/de\\\/#\\\/schema\\\/person\\\/2577fc0b89e82f7b07f0a78a3257772a\"},\"headline\":\"Mein schlimmster Software-Bug aller Zeiten\",\"datePublished\":\"2021-06-01T07:51:24+00:00\",\"dateModified\":\"2024-12-06T17:35:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/cultivate.software\\\/de\\\/mein-schlimmster-software-bug\\\/\"},\"wordCount\":1488,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/cultivate.software\\\/de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/cultivate.software\\\/de\\\/mein-schlimmster-software-bug\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cultivate.software\\\/wp-content\\\/uploads\\\/2021\\\/06\\\/googlebot.png\",\"articleSection\":[\"Unkategorisiert\"],\"inLanguage\":\"de-DE\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/cultivate.software\\\/de\\\/mein-schlimmster-software-bug\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/cultivate.software\\\/de\\\/mein-schlimmster-software-bug\\\/\",\"url\":\"https:\\\/\\\/cultivate.software\\\/de\\\/mein-schlimmster-software-bug\\\/\",\"name\":\"Mein schlimmster Software-Bug aller Zeiten &#8211; cultivate\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/cultivate.software\\\/de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/cultivate.software\\\/de\\\/mein-schlimmster-software-bug\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/cultivate.software\\\/de\\\/mein-schlimmster-software-bug\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cultivate.software\\\/wp-content\\\/uploads\\\/2021\\\/06\\\/googlebot.png\",\"datePublished\":\"2021-06-01T07:51:24+00:00\",\"dateModified\":\"2024-12-06T17:35:57+00:00\",\"description\":\"Lass mich dir von einem der schlimmsten Bugs erz\u00e4hlen, die ich (bis jetzt) in meiner Karriere als Software-Ingenieur produziert habe \u2013 und von den Lektionen, die ich daraus gelernt habe.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/cultivate.software\\\/de\\\/mein-schlimmster-software-bug\\\/#breadcrumb\"},\"inLanguage\":\"de-DE\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/cultivate.software\\\/de\\\/mein-schlimmster-software-bug\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de-DE\",\"@id\":\"https:\\\/\\\/cultivate.software\\\/de\\\/mein-schlimmster-software-bug\\\/#primaryimage\",\"url\":\"https:\\\/\\\/cultivate.software\\\/wp-content\\\/uploads\\\/2021\\\/06\\\/googlebot.png\",\"contentUrl\":\"https:\\\/\\\/cultivate.software\\\/wp-content\\\/uploads\\\/2021\\\/06\\\/googlebot.png\",\"width\":1200,\"height\":500,\"caption\":\"Googlebot\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/cultivate.software\\\/de\\\/mein-schlimmster-software-bug\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/cultivate.software\\\/de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mein schlimmster Software-Bug aller Zeiten\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/cultivate.software\\\/de\\\/#website\",\"url\":\"https:\\\/\\\/cultivate.software\\\/de\\\/\",\"name\":\"cultivate(software)\",\"description\":\"We cultivate software\",\"publisher\":{\"@id\":\"https:\\\/\\\/cultivate.software\\\/de\\\/#organization\"},\"alternateName\":\"cultivate\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/cultivate.software\\\/de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de-DE\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/cultivate.software\\\/de\\\/#organization\",\"name\":\"cultivate GmbH\",\"alternateName\":\"cultivate\",\"url\":\"https:\\\/\\\/cultivate.software\\\/de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de-DE\",\"@id\":\"https:\\\/\\\/cultivate.software\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/cultivate.software\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/icon-frame_10-primary-transparent_696.png\",\"contentUrl\":\"https:\\\/\\\/cultivate.software\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/icon-frame_10-primary-transparent_696.png\",\"width\":696,\"height\":696,\"caption\":\"cultivate GmbH\"},\"image\":{\"@id\":\"https:\\\/\\\/cultivate.software\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/company\\\/cultivate-it\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/cultivate.software\\\/de\\\/#\\\/schema\\\/person\\\/2577fc0b89e82f7b07f0a78a3257772a\",\"name\":\"David Bieder\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de-DE\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2164756921459976bb7859cc28d206a414dc5be474533806d7c1fe2e02a3f950?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2164756921459976bb7859cc28d206a414dc5be474533806d7c1fe2e02a3f950?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2164756921459976bb7859cc28d206a414dc5be474533806d7c1fe2e02a3f950?s=96&d=mm&r=g\",\"caption\":\"David Bieder\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Mein schlimmster Software-Bug aller Zeiten &#8211; cultivate","description":"Lass mich dir von einem der schlimmsten Bugs erz\u00e4hlen, die ich (bis jetzt) in meiner Karriere als Software-Ingenieur produziert habe \u2013 und von den Lektionen, die ich daraus gelernt habe.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cultivate.software\/de\/mein-schlimmster-software-bug\/","og_locale":"de_DE","og_type":"article","og_title":"Mein schlimmster Software-Bug aller Zeiten &#8211; cultivate","og_description":"Lass mich dir von einem der schlimmsten Bugs erz\u00e4hlen, die ich (bis jetzt) in meiner Karriere als Software-Ingenieur produziert habe \u2013 und von den Lektionen, die ich daraus gelernt habe.","og_url":"https:\/\/cultivate.software\/de\/mein-schlimmster-software-bug\/","og_site_name":"cultivate","article_published_time":"2021-06-01T07:51:24+00:00","article_modified_time":"2024-12-06T17:35:57+00:00","og_image":[{"width":1200,"height":500,"url":"https:\/\/cultivate.software\/wp-content\/uploads\/2021\/06\/googlebot.png","type":"image\/png"}],"author":"David Bieder","twitter_card":"summary_large_image","twitter_misc":{"Written by":"David Bieder","Est. reading time":"8 Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/cultivate.software\/de\/mein-schlimmster-software-bug\/#article","isPartOf":{"@id":"https:\/\/cultivate.software\/de\/mein-schlimmster-software-bug\/"},"author":{"name":"David Bieder","@id":"https:\/\/cultivate.software\/de\/#\/schema\/person\/2577fc0b89e82f7b07f0a78a3257772a"},"headline":"Mein schlimmster Software-Bug aller Zeiten","datePublished":"2021-06-01T07:51:24+00:00","dateModified":"2024-12-06T17:35:57+00:00","mainEntityOfPage":{"@id":"https:\/\/cultivate.software\/de\/mein-schlimmster-software-bug\/"},"wordCount":1488,"commentCount":0,"publisher":{"@id":"https:\/\/cultivate.software\/de\/#organization"},"image":{"@id":"https:\/\/cultivate.software\/de\/mein-schlimmster-software-bug\/#primaryimage"},"thumbnailUrl":"https:\/\/cultivate.software\/wp-content\/uploads\/2021\/06\/googlebot.png","articleSection":["Unkategorisiert"],"inLanguage":"de-DE","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/cultivate.software\/de\/mein-schlimmster-software-bug\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/cultivate.software\/de\/mein-schlimmster-software-bug\/","url":"https:\/\/cultivate.software\/de\/mein-schlimmster-software-bug\/","name":"Mein schlimmster Software-Bug aller Zeiten &#8211; cultivate","isPartOf":{"@id":"https:\/\/cultivate.software\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cultivate.software\/de\/mein-schlimmster-software-bug\/#primaryimage"},"image":{"@id":"https:\/\/cultivate.software\/de\/mein-schlimmster-software-bug\/#primaryimage"},"thumbnailUrl":"https:\/\/cultivate.software\/wp-content\/uploads\/2021\/06\/googlebot.png","datePublished":"2021-06-01T07:51:24+00:00","dateModified":"2024-12-06T17:35:57+00:00","description":"Lass mich dir von einem der schlimmsten Bugs erz\u00e4hlen, die ich (bis jetzt) in meiner Karriere als Software-Ingenieur produziert habe \u2013 und von den Lektionen, die ich daraus gelernt habe.","breadcrumb":{"@id":"https:\/\/cultivate.software\/de\/mein-schlimmster-software-bug\/#breadcrumb"},"inLanguage":"de-DE","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cultivate.software\/de\/mein-schlimmster-software-bug\/"]}]},{"@type":"ImageObject","inLanguage":"de-DE","@id":"https:\/\/cultivate.software\/de\/mein-schlimmster-software-bug\/#primaryimage","url":"https:\/\/cultivate.software\/wp-content\/uploads\/2021\/06\/googlebot.png","contentUrl":"https:\/\/cultivate.software\/wp-content\/uploads\/2021\/06\/googlebot.png","width":1200,"height":500,"caption":"Googlebot"},{"@type":"BreadcrumbList","@id":"https:\/\/cultivate.software\/de\/mein-schlimmster-software-bug\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cultivate.software\/de\/"},{"@type":"ListItem","position":2,"name":"Mein schlimmster Software-Bug aller Zeiten"}]},{"@type":"WebSite","@id":"https:\/\/cultivate.software\/de\/#website","url":"https:\/\/cultivate.software\/de\/","name":"cultivate(software)","description":"We cultivate software","publisher":{"@id":"https:\/\/cultivate.software\/de\/#organization"},"alternateName":"cultivate","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cultivate.software\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de-DE"},{"@type":"Organization","@id":"https:\/\/cultivate.software\/de\/#organization","name":"cultivate GmbH","alternateName":"cultivate","url":"https:\/\/cultivate.software\/de\/","logo":{"@type":"ImageObject","inLanguage":"de-DE","@id":"https:\/\/cultivate.software\/de\/#\/schema\/logo\/image\/","url":"https:\/\/cultivate.software\/wp-content\/uploads\/2024\/09\/icon-frame_10-primary-transparent_696.png","contentUrl":"https:\/\/cultivate.software\/wp-content\/uploads\/2024\/09\/icon-frame_10-primary-transparent_696.png","width":696,"height":696,"caption":"cultivate GmbH"},"image":{"@id":"https:\/\/cultivate.software\/de\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/cultivate-it"]},{"@type":"Person","@id":"https:\/\/cultivate.software\/de\/#\/schema\/person\/2577fc0b89e82f7b07f0a78a3257772a","name":"David Bieder","image":{"@type":"ImageObject","inLanguage":"de-DE","@id":"https:\/\/secure.gravatar.com\/avatar\/2164756921459976bb7859cc28d206a414dc5be474533806d7c1fe2e02a3f950?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2164756921459976bb7859cc28d206a414dc5be474533806d7c1fe2e02a3f950?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2164756921459976bb7859cc28d206a414dc5be474533806d7c1fe2e02a3f950?s=96&d=mm&r=g","caption":"David Bieder"}}]}},"featured_image_src":"https:\/\/cultivate.software\/wp-content\/uploads\/2021\/06\/googlebot.png","featured_image_src_square":"https:\/\/cultivate.software\/wp-content\/uploads\/2021\/06\/googlebot.png","author_info":{"display_name":"David Bieder","author_link":"https:\/\/cultivate.software\/de\/author\/cultivateit\/"},"_links":{"self":[{"href":"https:\/\/cultivate.software\/de\/wp-json\/wp\/v2\/posts\/3208","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cultivate.software\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cultivate.software\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cultivate.software\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cultivate.software\/de\/wp-json\/wp\/v2\/comments?post=3208"}],"version-history":[{"count":0,"href":"https:\/\/cultivate.software\/de\/wp-json\/wp\/v2\/posts\/3208\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cultivate.software\/de\/wp-json\/wp\/v2\/media\/2986"}],"wp:attachment":[{"href":"https:\/\/cultivate.software\/de\/wp-json\/wp\/v2\/media?parent=3208"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cultivate.software\/de\/wp-json\/wp\/v2\/categories?post=3208"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cultivate.software\/de\/wp-json\/wp\/v2\/tags?post=3208"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}