{"id":73944,"date":"2020-03-13T02:42:03","date_gmt":"2020-03-12T23:42:03","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/retrospektiva-grablej-kak-samopisnoe-reshenie-okazalos-kruche-platnogo"},"modified":"2020-03-13T02:42:03","modified_gmt":"2020-03-12T23:42:03","slug":"retrospektiva-grablej-kak-samopisnoe-reshenie-okazalos-kruche-platnogo","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/retrospektiva-grablej-kak-samopisnoe-reshenie-okazalos-kruche-platnogo","title":{"rendered":"Eine R\u00fcckschau auf unsere Herausforderungen: Wie eine eigene L\u00f6sung besser war als die kostenpflichtigen Alternativen","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Hallo! Mein Name ist Alexey Pjankow, ich bin der leitende Programmierer bei Sportmaster. Lassen Sie mich gleich sagen, dass \"leitend\" nicht bedeutet, \"der wichtigste von allen Programmierern\" zu sein; nein, das ist nur ein Titel, eine charmante \u00dcbersetzung f\u00fcr \"Senior+\".<\/p>\n<p><\/p>\n<p>Ich arbeite seit 2012 bei Sportmaster, und in dieser Zeit hat unser Entwicklungsteam viele technisch interessante L\u00f6sungen entwickelt. Heute m\u00f6chte ich jedoch dar\u00fcber sprechen, wie wir in bestimmten mehrdeutigen Situationen gedacht haben.<\/p>\n<p><\/p>\n<p>In diesem Artikel wird es keine konkreten technischen L\u00f6sungen geben (und eigentlich auch nichts Technisches), das man einfach \u00fcbernehmen und in eigenen Projekten anwenden kann. Es ist vielmehr eine Reflexion \u00fcber die geleistete Arbeit. Es gab besondere Momente, die uns als Team gepr\u00e4gt haben \u2014 uns zusammengeschwei\u00dft, gest\u00e4rkt und auf die Probe gestellt haben. \u00dcber diese Momente, die Atmosph\u00e4re in unserem Team, unsere Herausforderungen und einige psychologische Fallen, in die wir uns manchmal selbst hineinman\u00f6vrieren, m\u00f6chte ich heute berichten.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Eine R\u00fcckschau auf unsere Herausforderungen: Wie eine eigene L\u00f6sung besser war als die kostenpflichtigen Alternativen\" src=\"\/wp-content\/uploads\/2020\/03\/1651640dbf2cb45d48e1e046a78c931f.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ich beginne genau im Jahr 2012.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Ich kam 2012 mit dem Hauptziel, an unserer Flaggschiff-Website zu arbeiten. Damals war das ein \"Frankenstein-Monster\": Ein Teil des Teams arbeitete mit unserem alten System, das nicht gut mit den Lasten zurechtkam (Bitrix), w\u00e4hrend der andere Teil des Teams (zu dem auch ich geh\u00f6rte) versuchte, ein neues System zu implementieren, das nach dem Kriterium \"Wenn es das teuerste E-Commerce-System der Welt ist, nehmen wir es\" ausgew\u00e4hlt wurde. Genaugenommen \"versuchten wir es zu implementieren\" \u2013 denn das System wehrte sich verzweifelt, und zu jedem Fortschritt, den wir machten, kam garantiert eine \"\u00dcberraschung\" als Antwort. Wir arbeiteten hart, aber unser Fortschritt war schneckenlangsam.<\/p>\n<p><\/p>\n<p>F\u00fcr mich war die letzte Grenze das Kennenlernen des Codes einer Methode in diesem \"teuersten E-Commerce der Welt\", als stundenlanges konzentriertes Arbeiten an einem kniffligen Bug dazu f\u00fchrte, dass die Ursache irgendwo in einem Custom-Tag gefunden wurde, das bei der HTML-Generierung in JSP ausgef\u00fchrt wird. Diese Custom-Tag hat die Aufgabe, die Summe bestimmter Gr\u00f6\u00dfen anzuzeigen. Das ist nicht schlecht, daf\u00fcr sind solche Custom-Tags ja gedacht. Doch die \u00dcberraschung lag darin, dass dabei einige Daten in der Datenbank ver\u00e4ndert werden, und das Verhalten auf den folgenden Seiten davon abh\u00e4ngt. Wenn man F5 dr\u00fcckt, wiederholt sich dieser Aufruf, was die Konsistenz der Daten st\u00f6rt. Und zwar so, dass es erst nach mehreren Schritten auff\u00e4llt, n\u00e4mlich auf der 3. Seite der Sequenz. Nein, ich habe nichts dagegen, dass so ein \"Ninja-Meister\" im Team ist und mit seinem Code die Aufmerksamkeit der Kollegen aufrechterh\u00e4lt. Aber so etwas in der Bibliothek eines der teuersten Systeme ist wirklich problematisch!<\/p>\n<p><\/p>\n<p>Es war Freitag. Am Samstag und Sonntag haben mein Kollege und ich im B\u00fcro gearbeitet, um zu kl\u00e4ren, welche Aufgaben das Unternehmen heute an das System stellt und welche Aufgaben wir uns in einem Jahr vorstellen k\u00f6nnen. Daher haben wir \u00fcberlegt, wie wir diese Herausforderungen angehen w\u00fcrden, wenn wir nicht an die Nutzung dieses kostspieligen und frustrierenden Systems gebunden w\u00e4ren.<\/p>\n<p><\/p>\n<p>Gesagt, getan. Wir haben ein Pilotprojekt erstellt, das die Grundlage f\u00fcr die Entwicklung der neuen Sportmaster-Website legt. Viele dieser Ideen haben sich bew\u00e4hrt und ihre Fortsetzung wird derzeit aktiv auf der Website umgesetzt.<\/p>\n<p><\/p>\n<h2 id=\"etapy-pilota-i-vremennye-ramki\">Phasen des Pilotprojekts und Zeitrahmen<\/h2>\n<p><\/p>\n<p><strong>2 Tage.<\/strong> Wir haben ein Mikroprototyp erstellt \u2013 am Wochenende \u00fcbertragen wir unsere Datenbank nach ElasticSearch und implementieren die facettierte Suche. Voil\u00e0! In dem teuren System h\u00e4tte diese Einstellung 2 Wochen gedauert. Hier jedoch dauert es nur ein paar Stunden! Und es funktioniert sogar schneller. Tats\u00e4chlich um ein Vielfaches schneller.<\/p>\n<p><\/p>\n<p><strong>2 Wochen.<\/strong> Wir entwickeln den Prototypen weiter und f\u00fcgen Funktionen f\u00fcr eine angemessene personalisierte Ausgabe hinzu. <\/p>\n<p><\/p>\n<p>Beispielsweise hat ein Benutzer mehrere Rabatte und Aktionen, die speziell f\u00fcr ihn gelten \u2013 daher sollte in den Produktergebnissen genau der Preis angezeigt werden, den er durch die Nutzung aller verf\u00fcgbaren Angebote auf die vorteilhafteste Weise erzielen kann.<\/p>\n<p><\/p>\n<p>Bei Aktionen ist das nicht so einfach. Zum Beispiel kauft man Ski, und jetzt gibt es 40 % Rabatt auf die M\u00fctze, aber daf\u00fcr entf\u00e4llt der Willkommensrabatt von 10 % auf die gesamte Bestellung. Ja, das ist ein echter Fall \ud83d\ude42 Um eine solche Aktion im Einkaufssystem einzurichten, wurden 3 Beratungen mit dem Anbieter bezahlt, aus denen viele Beispiele hervorgingen, wie man andere Aktionen gestalten kann. Sehr diplomatisch und angesichts der Kosten f\u00fcr die Beratungen \u2013 wirtschaftlich gesehen sehr gut.<\/p>\n<p><\/p>\n<p>Wir haben dem Unternehmen eine detaillierte Demo gezeigt. Wir haben versprochen, das Pilotprojekt schnell zu erstellen, und sofort mit der Arbeit begonnen.<\/p>\n<p><\/p>\n<p><strong>2 Monate.<\/strong> Das Pilotprojekt \u2013 wir erstellen es in Form einer Live-Website mit Katalogsuche. Die Suche mit Facetten, die Suchergebnisse \u2013 mit pers\u00f6nlichen Rabatten, sieht die Pilotversion fast wie die Website von Sportmaster aus, und die Produkte, die wir hochgeladen haben, sind dieselben. Ein Traum! <\/p>\n<p><\/p>\n<p>Wir f\u00fcgen unserem Abteilungsleiter \"Redekunst:100\" hinzu, und die Pr\u00e4sentation beim Unternehmen l\u00e4uft hervorragend! Wir erhalten den Freiraum, um die eCommerce-Plattform selbst zu entwickeln.<\/p>\n<p><\/p>\n<p>Das bedeutet, haltet euch bereit, Leute, haltet den Budgetrahmen ein. Cool, oder?<\/p>\n<p><\/p>\n<p><strong>2 Jahre.<\/strong> Der Launch der Website. Ja, das hat lange gedauert. Alles, was wir zu diesem Zeitpunkt konnten, haben wir nur im Rahmen eines Prototyps ausprobiert. Zwei Personen k\u00f6nnen problemlos ein eingespieltes Team bilden. Die Aufgaben, die wir \u201eabgearbeitet\u201c haben, waren gr\u00f6\u00dftenteils kleine Anpassungen von \u201eHello World\u201c in neuen Technologien. Wir haben schnell neue Hypothesen generiert, sie z\u00fcgig getestet, konnten uns nicht festlegen und haben sie deshalb ohne Bedauern \u201ebeerdigt\u201c. Als wir zehn Personen wurden, haben wir aus Gewohnheit unsere Arbeitsgeschwindigkeit auf alle anderen extrapoliert. Und haben Fristen f\u00fcr die Aufgaben versprochen, die unser Bild vom Ideal multipliziert mit unserem Enthusiasmus entsprachen.<\/p>\n<p><\/p>\n<p>Kennen Sie die Situation? \ud83d\ude42<\/p>\n<p><\/p>\n<p>Wissen Sie dann schon, was als N\u00e4chstes kommt?<\/p>\n<p><\/p>\n<h2 id=\"lovushka-1-ekstrapolyator-krutysh\">Falle Nr. 1. \u201eDer coole Extrapolator\u201c<\/h2>\n<p><\/p>\n<p>Es ist klar, dass neue Technologien in Pr\u00e4sentationen sehr beeindruckend aussehen und in der Anwendung des Typs \u201eHello World\u201c hervorragend funktionieren. Doch die Realit\u00e4t ist meistens ein St\u00fcck davon entfernt.<\/p>\n<p><\/p>\n<p>Also, wir nehmen eine Bibliothek, schreiben eine Menge Anwendungscode. Unit-Tests sehen wir als l\u00e4stige Pflicht an (wir sind schlie\u00dflich die Besten und arbeiten hier mit Schallgeschwindigkeit, der Code ist modern und so weiter). Wir \u00e4ndern und erweitern st\u00e4ndig die APIs on the fly \u2013 wozu gibt es da Tests, ernsthaft? Und das alles im Zeichen von \"wir haben den Entwicklungsprozess toll optimiert\" (ja, dar\u00fcber jetzt zu sprechen, macht mir Angst).<\/p>\n<p><\/p>\n<p>Und dann wird alles ziemlich offensichtlich.<\/p>\n<p><\/p>\n<p>Wir bringen einen neuen Build auf UAT. Die Kollegen aus der Gesch\u00e4ftswelt gehen fr\u00f6hlich los, um das alles zu testen und auf die Kn\u00f6pfe zu dr\u00fccken. Sie dr\u00fccken manchmal ziemlich kreativ \u2013 irgendetwas f\u00e4llt aus. An dieser Stelle sollten wir herausfinden, was daf\u00fcr getan wurde. Aber auf der anderen Seite des Bildschirms sitzt kein engagierter Tester, der dir alle Umgebungsparameter unter Ber\u00fccksichtigung des Wetters in der Region auflisten kann, sondern der Gesch\u00e4ftskunde. F\u00fcr ihn funktioniert es einfach nicht. Und das bedeutet, dass er unzufrieden ist. Frag ihn \u2013 und er wird <em>extrem<\/em> unzufrieden sein!<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Eine R\u00fcckschau auf unsere Herausforderungen: Wie eine eigene L\u00f6sung besser war als die kostenpflichtigen Alternativen\" src=\"\/wp-content\/uploads\/2020\/03\/9d980b25fabea5e0a34a428fb9dbb85e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Um den Bug zu reproduzieren, m\u00fcssen wir also alles durchprobieren. Nat\u00fcrlich haben wir keine Beschwerde unbeachtet gelassen und alles behoben. Geplante Aufgaben wurden aufgegeben, aber wir \"l\u00f6schen das Feuer\".<\/p>\n<p><\/p>\n<p>So haben wir uns das n\u00e4chste Loch gegraben.<\/p>\n<p><\/p>\n<h2 id=\"lovushka-2-stahanovec\">Falle Nr. 2. \u201eStachanowarbeiter\u201c<\/h2>\n<p><\/p>\n<p>Es gibt einen unangenehmen Bug, der dich erreicht hat. Du versuchst, ihn zu verstehen, aber es klappt nicht \u2014 Wut kommt auf \u2014 ein weiterer Versuch, es zu kl\u00e4ren \u2014 wieder ein R\u00fcckschlag \u2014 du kl\u00e4rst alles, was du kannst \u2014 es passt wieder nicht \u2014 du denkst daran, dass du alt bist, w\u00e4hrend alle anderen Kinder haben und Hypotheken abzahlen \u2014 du probierst es erneut \u2014 es ist immer noch nicht richtig. Nach ein paar Tassen Kaffee wiederholt sich alles. 12-14 Stunden Arbeit am St\u00fcck \u2014 das ist fast schon die Norm. Und dann, wenn alles an seine Grenzen st\u00f6\u00dft \u2014 zack, die Erleuchtung!<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Eine R\u00fcckschau auf unsere Herausforderungen: Wie eine eigene L\u00f6sung besser war als die kostenpflichtigen Alternativen\" src=\"\/wp-content\/uploads\/2020\/03\/8f66e2ca834ffafd72bde53fd397bcb7.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Vielleicht ist die Beurteilung der Effizienz eines solchen Tages von au\u00dfen gut und richtig sichtbar. Von drinnen kann es jedoch ganz anders sein.<\/p>\n<p><\/p>\n<p>In meinem Fall beinhaltete der Eindruck dieser Arbeit das Gef\u00fchl: \u201eIch bin gro\u00dfartig, ich habe das gemeistert\u201c. Nicht immer bewusst, aber unbewusst \u2014 immer!<\/p>\n<p><\/p>\n<p>Und daran gew\u00f6hnt man sich, ohne Witz. Es stellt sich heraus, dass die internen Erfolgsmetriken sich von den Ergebnissen auf die Anzahl der aufgebrachten Anstrengungen und das Niveau der Heldentaten verschieben, die man vollbracht hat, wie sehr man gelitten hat, w\u00e4hrend man versucht hat, das Problem zu l\u00f6sen.<\/p>\n<p><\/p>\n<p>Wahrscheinlich ist das die schlimmste Falle.<\/p>\n<p><\/p>\n<p>Danach wird es leichter und fr\u00f6hlicher \ud83d\ude42<\/p>\n<p><\/p>\n<h2 id=\"lovushka-3-sila-hello-world\">Falle Nr. 3. \u201eDie Kraft von Hello World\u201c<\/h2>\n<p><\/p>\n<p>Unser Technologiestack aus dieser Zeit: ElasticSearch, Hazelcast, Pentaho, Freemarker (und bew\u00e4hrte Java, Spring, Tomcat, nginx). Freemarker gab nicht sehr informative Fehlermeldungen aus. Aber ElasticSearch, Hazelcast und Pentaho mussten wir mehrfach patchen - wir hatten ein Talent daf\u00fcr, die F\u00e4lle zu finden, in denen sie nicht so funktionierten, wie es die Dokumentation vorgab.<\/p>\n<p><\/p>\n<p>Ein leichter Start und schnelle Vorteile durch die Nutzung neuer Technologien sind gut, aber sie f\u00fchren zu Euphorie und senken die Wachsamkeit. Denn neue Technologien haben Bugs, sie enthalten definitiv Bugs. Und wenn noch nichts dar\u00fcber geschrieben wurde, freuen Sie sich - Sie werden derjenige sein, der als Pionier etwas Fehlerhaftes entdeckt und dann gegoogelt oder auf Stack Overflow nachsehen muss. Sicherlich gibt es auch Fehler in bew\u00e4hrten Produkten, aber in neuen ist es viel einfacher, sie zu finden.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Eine R\u00fcckschau auf unsere Herausforderungen: Wie eine eigene L\u00f6sung besser war als die kostenpflichtigen Alternativen\" src=\"\/wp-content\/uploads\/2020\/03\/86d505a5125b8106503497b72ff7761e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Trotz aller Schwierigkeiten sind wir in die Produktion gegangen. Ja, mit Verz\u00f6gerungen. Ja, nicht sehr stabil. Aber insgesamt \u2013 ohne Katastrophen.<\/p>\n<p><\/p>\n<p>Ich m\u00f6chte noch einmal die Fallstricke hervorheben, die die gesunde Wahrnehmung des Arbeitsprozesses verzerren.<\/p>\n<p><\/p>\n<ol>\n<li><strong>\u00bbExtrapolator-Superstar\u00ab<\/strong>. Inspiriert von den aktuellen Erfolgen gehen wir fr\u00f6hlich weiter und extrapolieren die Entwicklungsgeschwindigkeit auf bevorstehende Projekte.<\/li>\n<li><strong>\u00abStachanowiec\u00bb<\/strong>. Wir arbeiten bis zur Ersch\u00f6pfung, sind mit uns selbst zufrieden, merken jedoch nicht, dass die Probleme, die wir l\u00f6sen, die Folge unserer pers\u00f6nlichen Fehler \/ Vers\u00e4umnisse \/ Nachl\u00e4ssigkeiten sind. Arbeiten, die nicht erledigt werden m\u00fcssen.<\/li>\n<li><strong>\u00abDie Kraft von Hello World\u00bb<\/strong>. Wir eilen, um alles Neue und Interessante in die Produktion einzuf\u00fchren.<\/li>\n<\/ol>\n<p><\/p>\n<h2 id=\"pochemu-vsyo-poluchilos\">Warum es geklappt hat<\/h2>\n<p><\/p>\n<p>Nat\u00fcrlich habe ich nicht alle Fehler aufgelistet, die wir in dieser Zeit gemacht haben, sondern nur die h\u00e4ufigsten, die f\u00fcr Projekte jeder Art wahrscheinlich sind. Solch eine Dokumentation von Fehlern hilft, diese in Zukunft zu vermeiden.<\/p>\n<p><\/p>\n<p>Ein bisschen dar\u00fcber, wie es uns \u00fcberhaupt gelungen ist, ein solches Mini-Startup innerhalb des Unternehmens zu gr\u00fcnden und das Gesch\u00e4ft davon zu \u00fcberzeugen, von einem bereits gekauften System auf etwas Eigenes umzusteigen.<\/p>\n<p><\/p>\n<p><strong>Bedingung Nr. 0<\/strong>. Ein gesundes Klima im Unternehmen. Es geht nicht nur um die \u201eleuchtenden Augen\u201c der Mitarbeiter und Kommunikationsbereitschaft in stressigen Situationen, in denen Kekse gebacken werden; es betrifft alle Interaktionen.<\/p>\n<p><\/p>\n<p><strong>Bedingung Nr. 1<\/strong>. An das glauben, was man tut. Im Ernst, ich glaube nicht, dass wir irgendeine Chance gehabt h\u00e4tten, wenn wir uns dem Piloten widmeten, ohne das gekaufte System \u201ebis zur letzten Schraube\u201c zu analysieren \u2013 das hei\u00dft, einen Schritt zur\u00fcckzutreten und unbewusst zu wissen, dass dieses System besser ist und uns \u00fcberlegen wird.<\/p>\n<p><\/p>\n<p>Was wir erreicht haben: 1) Wir haben das Kaufsystem durchdrungen und damit die wichtigsten Anforderungen des Gesch\u00e4fts gel\u00f6st. 2) Wir haben eine Liste von Aufgaben erstellt, die nicht nur aktuell, sondern auch in naher Zukunft anstehen. 3) Wir haben die passendste L\u00f6sung ausgew\u00e4hlt. Unsere Bewertung der L\u00f6sung bestand also aus einer Experteneinsch\u00e4tzung.<\/p>\n<p><\/p>\n<p>W\u00fcrden Sie uns etwas geben, wenn wir einfach gekommen w\u00e4ren und gesagt h\u00e4tten: \u201eLeute, das ist alles Mist, wir wollen uns damit nicht besch\u00e4ftigen und machen alles von Grund auf neu\u201c? Wahrscheinlich nicht. Die Antwort w\u00e4re in einer Form gekommen, die sich gut eingepr\u00e4gt h\u00e4tte \ud83d\ude42<\/p>\n<p><\/p>\n<p><strong>Bedingung Nr. 2<\/strong>. Den ersten Schritt machen wir klein. Wir generieren die erste Hypothese und \u00fcberpr\u00fcfen sie. Man kann daf\u00fcr auch seine pers\u00f6nliche Zeit investieren. Wenn man seine Zeit nicht aufwenden m\u00f6chte \u2013 dann sollte man sich \u00fcberhaupt nicht mit so etwas befassen. Und wenn man nicht bereit ist, eine kleine Hypothese zu \u00fcberpr\u00fcfen, sondern sofort alles gro\u00dfartig und gl\u00e4nzend machen m\u00f6chte \u2013 dann halten Sie sich von solchen Leuten fern!<\/p>\n<p><\/p>\n<p>Wir hatten Gl\u00fcck, und die erste Hypothese hat funktioniert. Aber das ist nicht immer der Fall. Zum Beispiel gab es in einem der n\u00e4chsten Projekte, als wir ein Admin-Panel im Rahmen eines \u00e4hnlichen Piloten voranbrachten, nur die 18. Variante. Die ersten 17 Ans\u00e4tze waren umsonst. \u00dcbrigens war die Geschichte mit der Erstellung des Admin-Panels so spannend wie brasilianische Serien, da das Team aus Jungs bestand, die zu diesem Zeitpunkt bereits Veteranen waren, echte \"alte Hasen\".<\/p>\n<p><\/p>\n<p><strong>Bedingung Nr. 3<\/strong>. Wir erstellen ein MVP und identifizieren die Probleme der Entscheidungstr\u00e4ger. Nat\u00fcrlich kann sich das Entsetzen bereits in ihrem Gesicht widerspiegeln, nur weil Sie ihm zum drei\u00dfigsten Mal eine neue Idee pr\u00e4sentieren. Aber dennoch. Und wir zeigen unbedingt, wie wir seine Probleme mit unserem Produkt l\u00f6sen.<\/p>\n<p><\/p>\n<p><strong>Bedingung Nr. 4<\/strong>. Wir entwickeln schnell einen Prototyp, der <em>ungef\u00e4hr<\/em> dem Endergebnis \u00e4hnelt. Alles perfekt zu machen ist verlockend, aber das kann in Perfektionismus enden, was bedeutet, dass Sie anstelle eines Prototyps bereits eine perfekte Produktversion zeigen wollen. Die gibt es nicht. Machen Sie es deshalb wenigstens aus etwas Unfertigem.<\/p>\n<p><\/p>\n<p><strong>Bedingung Nr. 5<\/strong>. Produkt. Das Projekt w\u00e4chst, erh\u00e4lt Finanzierung, und Experten mit solider Erfahrung kommen ins Team.<br \/>\nUnd wenn Sie ein typischer Startup-Gr\u00fcnder sind, ist jetzt der Moment, um mit Schwung zu handeln. Denn die leichten H\u00f6henfl\u00fcge und das Gef\u00fchl allgemeinen Wohlbefindens zerstreuen sich schnell.<\/p>\n<p><\/p>\n<p>Der Markteintritt bedeutet, sich realen Belastungen zu stellen und sich mit zahlreichen Systemen zu integrieren. Wenn Sie neue Funktionen entwickeln, m\u00fcssen Sie gleichzeitig die alten Versionen weiter unterst\u00fctzen. All das sind Herausforderungen, die weit schwerwiegender sind, als lediglich eine Idee zu entwickeln und ein, auch wenn gut umgesetztes, aber nur ein Kundenproblem zu l\u00f6sen.<\/p>\n<p><\/p>\n<p>Diese Herausforderungen erm\u00f6glichen das Wachstum Ihrer F\u00e4higkeiten \u2013 genau in diesem Stadium.<\/p>\n<p><\/p>\n<p>Danke f\u00fcrs Lesen. Happy New Code!<\/p>\n<p>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/sportmaster_lab\/blog\/485088\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043b\u0435\u043a\u0441\u0435\u0439 \u041f\u044c\u044f\u043d\u043a\u043e\u0432, \u044f \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440. \u0421\u043a\u0430\u0436\u0443 \u0441\u0440\u0430\u0437\u0443, \u0447\u0442\u043e \u00ab\u0433\u043b\u0430\u0432\u043d\u044b\u0439\u00bb \u043d\u0435 \u0437\u043d\u0430\u0447\u0438\u0442 \u00ab\u0441\u0430\u043c\u044b\u0439 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0438\u0437 \u0432\u0441\u0435\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432\u00bb, \u043d\u0435\u0442, \u044d\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435, \u0442\u0430\u043a\u043e\u0439 \u043e\u0447\u0430\u0440\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0434\u043b\u044f \u00abSenior+&quot;\u00bb. \u0412 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440 \u044f \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0441 2012 \u0433\u043e\u0434\u0430, \u0438 \u0437\u0430 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0431\u044b\u043b\u043e \u0441\u0434\u0435\u043b\u0430\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0439, \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0445 \u0441 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b. \u041d\u043e \u0441\u0435\u0433\u043e\u0434\u043d\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":73945,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-73944","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043b\u0435\u043a\u0441\u0435\u0439 \u041f\u044c\u044f\u043d\u043a\u043e\u0432, \u044f \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440. \u0421\u043a\u0430\u0436\u0443 \u0441\u0440\u0430\u0437\u0443, \u0447\u0442\u043e \u00ab\u0433\u043b\u0430\u0432\u043d\u044b\u0439\u00bb \u043d\u0435 \u0437\u043d\u0430\u0447\u0438\u0442 \u00ab\u0441\u0430\u043c\u044b\u0439 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0438\u0437 \u0432\u0441\u0435\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432\u00bb, \u043d\u0435\u0442, \u044d\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435, \u0442\u0430\u043a\u043e\u0439 \u043e\u0447\u0430\u0440\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0434\u043b\u044f \u00abSenior+&quot;\u00bb. \u0412 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440 \u044f \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0441 2012 \u0433\u043e\u0434\u0430, \u0438 \u0437\u0430 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0431\u044b\u043b\u043e \u0441\u0434\u0435\u043b\u0430\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0439, \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0445 \u0441 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b. \u041d\u043e \u0441\u0435\u0433\u043e\u0434\u043d\u044f\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/retrospektiva-grablej-kak-samopisnoe-reshenie-okazalos-kruche-platnogo\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0435\u0442\u0440\u043e\u0441\u043f\u0435\u043a\u0442\u0438\u0432\u0430 \u0433\u0440\u0430\u0431\u043b\u0435\u0439. \u041a\u0430\u043a \u0441\u0430\u043c\u043e\u043f\u0438\u0441\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u043a\u0440\u0443\u0447\u0435 \u043f\u043b\u0430\u0442\u043d\u043e\u0433\u043e | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043b\u0435\u043a\u0441\u0435\u0439 \u041f\u044c\u044f\u043d\u043a\u043e\u0432, \u044f \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440. \u0421\u043a\u0430\u0436\u0443 \u0441\u0440\u0430\u0437\u0443, \u0447\u0442\u043e \u00ab\u0433\u043b\u0430\u0432\u043d\u044b\u0439\u00bb \u043d\u0435 \u0437\u043d\u0430\u0447\u0438\u0442 \u00ab\u0441\u0430\u043c\u044b\u0439 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0438\u0437 \u0432\u0441\u0435\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432\u00bb, \u043d\u0435\u0442, \u044d\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435, \u0442\u0430\u043a\u043e\u0439 \u043e\u0447\u0430\u0440\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0434\u043b\u044f \u00abSenior+&quot;\u00bb. \u0412 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440 \u044f \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0441 2012 \u0433\u043e\u0434\u0430, \u0438 \u0437\u0430 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0431\u044b\u043b\u043e \u0441\u0434\u0435\u043b\u0430\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0439, \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0445 \u0441 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b. \u041d\u043e \u0441\u0435\u0433\u043e\u0434\u043d\u044f\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/retrospektiva-grablej-kak-samopisnoe-reshenie-okazalos-kruche-platnogo\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-03-12T23:42:03+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-12T23:42:03+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47 R\u00fcckblick auf Herausforderungen. Wie eine selbstentwickelte L\u00f6sung besser war als eine kostenpflichtige | ProHoster","description":"Hallo! Mein Name ist Alexey Pyankov und ich bin der Hauptprogrammierer bei Sportmaster. Ich m\u00f6chte gleich klarstellen, dass \"haupt\" nicht \"der wichtigste aller Programmierer\" bedeutet; es ist nur eine charmante \u00dcbersetzung f\u00fcr \"Senior+\". Bei Sportmaster arbeite ich seit 2012 und in dieser Zeit hat unser Entwicklungsteam viele technisch interessante L\u00f6sungen erarbeitet. Aber heute","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/retrospektiva-grablej-kak-samopisnoe-reshenie-okazalos-kruche-platnogo","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0435\u0442\u0440\u043e\u0441\u043f\u0435\u043a\u0442\u0438\u0432\u0430 \u0433\u0440\u0430\u0431\u043b\u0435\u0439. \u041a\u0430\u043a \u0441\u0430\u043c\u043e\u043f\u0438\u0441\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u043a\u0440\u0443\u0447\u0435 \u043f\u043b\u0430\u0442\u043d\u043e\u0433\u043e | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043b\u0435\u043a\u0441\u0435\u0439 \u041f\u044c\u044f\u043d\u043a\u043e\u0432, \u044f \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440. \u0421\u043a\u0430\u0436\u0443 \u0441\u0440\u0430\u0437\u0443, \u0447\u0442\u043e \u00ab\u0433\u043b\u0430\u0432\u043d\u044b\u0439\u00bb \u043d\u0435 \u0437\u043d\u0430\u0447\u0438\u0442 \u00ab\u0441\u0430\u043c\u044b\u0439 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0438\u0437 \u0432\u0441\u0435\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432\u00bb, \u043d\u0435\u0442, \u044d\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435, \u0442\u0430\u043a\u043e\u0439 \u043e\u0447\u0430\u0440\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0434\u043b\u044f \u00abSenior+&quot;\u00bb. \u0412 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440 \u044f \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0441 2012 \u0433\u043e\u0434\u0430, \u0438 \u0437\u0430 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0431\u044b\u043b\u043e \u0441\u0434\u0435\u043b\u0430\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0439, \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0445 \u0441 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b. \u041d\u043e \u0441\u0435\u0433\u043e\u0434\u043d\u044f","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/retrospektiva-grablej-kak-samopisnoe-reshenie-okazalos-kruche-platnogo","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-03-12T23:42:03+00:00","article:modified_time":"2020-03-12T23:42:03+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"73944","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 18:24:23","updated":"2022-10-06 05:35:50"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/73944","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=73944"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/73944\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/73945"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=73944"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=73944"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=73944"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}