
Alexander Baranov arbeitet bei Veeam als F & E-Direktor und lebt zwischen den beiden Ländern. Er verbringt die Hälfte seiner Zeit in Prag, die andere Hälfte in St. Petersburg. Diese Städte haben die größten Veeam-Entwicklungsbüros.
Im Jahr 2006 war es ein Startup von zwei Unternehmern aus Russland, die sich mit Software zum Sichern virtueller Maschinen befassten (der Name V [ee] [a] M, eine virtuelle Maschine, stammte von derselben Stelle). Heute ist es ein riesiges Unternehmen mit mehr als viertausend Mitarbeitern auf der ganzen Welt.
Alexander erzählte uns, wie es ist, in einem solchen Unternehmen zu arbeiten und wie schwierig es ist, in dieses Unternehmen einzusteigen. Unten ist sein Monolog.
Traditionell werden wir Sie über die Einschätzung des Unternehmens bei My Circle informieren: Veeam Software erhielt von seinen Mitarbeitern eine durchschnittliche Bewertung von 4,4 . Er wird für ein gutes soziales Paket, eine angenehme Arbeitsatmosphäre im Team, für interessante Aufgaben und für die Tatsache geschätzt, dass das Unternehmen die Welt zu einem besseren Ort macht.

Welche Produkte entwickelt Veeam?
Produkte, die Ausfallsicherheit der IT-Infrastruktur bieten. Glücklicherweise ist Eisen im Laufe der Zeit ziemlich zuverlässig geworden, und Wolken bieten Fehlertoleranz. Aber die Fehler der Menschen existieren immer noch.
Zum Beispiel das klassische Problem der Inkompatibilität von Updates mit der Infrastruktur der Organisation. Der Administrator hat ein nicht verifiziertes Update eingeführt oder es wurde automatisch durchgeführt. Aus diesem Grund wurde der Betrieb der Unternehmensserver unterbrochen. Ein weiteres Beispiel: Jemand hat Änderungen an einem gemeinsamen Projekt oder einer Reihe von Dokumenten vorgenommen, die er für angemessen hält. Später wurde ein Problem entdeckt, und es war erforderlich, den Staat vor einer Woche zurückzugeben. Manchmal sind solche Veränderungen nicht einmal mit bewussten menschlichen Handlungen verbunden: Cryptolocker-Viren haben in letzter Zeit an Popularität gewonnen. Ein Benutzer bringt ein Flash-Laufwerk mit zweifelhaftem Inhalt auf einen funktionierenden Computer oder besucht eine Website mit Siegeln. Infolgedessen sind Computer im Netzwerk infiziert.
In einer Situation, in der das Böse bereits geschehen ist, geben wir die Möglichkeit, die Änderungen rückgängig zu machen. Wenn Änderungen nur geplant sind, können wir ihre Auswirkungen in einer isolierten Infrastruktur überprüfen, die aus einer Sicherungskopie des Rechenzentrums neu erstellt wurde.
Backups fungieren häufig als „stiller Zeuge“ bei der Prüfung in einer Organisation. Öffentliche Unternehmen müssen die Anforderungen externer Regulierungsbehörden erfüllen (z. B. das Sarbanes-Oxley Act), und dies ist kein Zufall. Im Jahr 2008 wurde die Lage der Weltwirtschaft erschüttert, weil einige Teilnehmer am Finanzmarkt grob gesagt die Ergebnisse ihrer Aktivitäten verfälschten. Dies startete einen Schneeball und die Wirtschaft brach ein. Von diesem Moment an haben die Aufsichtsbehörden die Prozesse in öffentlichen Unternehmen genau überwacht. Die Fähigkeit, den Status der IT-Infrastruktur, des Mailsystems und des Dokumentenverwaltungssystems für Berichtsperioden wiederherzustellen, ist eine der Anforderungen der Prüfer.
Microsoft, Amazon, Google und andere Cloud-Anbieter verfügen über native Lösungen, die Ressourcen in der Cloud sichern. Aber ihre Entscheidungen sind "Dinge an sich". Das Problem ist, dass große Unternehmen in den meisten Fällen über eine hybride IT-Infrastruktur verfügen: Ein Teil davon befindet sich in der Cloud, ein Teil befindet sich vor Ort. Webbasierte Projekte und kundenorientierte Anwendungen befinden sich normalerweise in der Cloud. Anwendungen und Server, die vertrauliche Informationen oder persönliche Daten speichern, sind am häufigsten vor Ort.
Darüber hinaus verwenden Unternehmen mehrere verschiedene Clouds, um einen Hybrid zu erstellen, um Risiken zu minimieren. Wenn ein multinationales Unternehmen eine Hybrid-Cloud erstellt hat, benötigt es ein einziges und gemeinsames Fehlertoleranzsystem für die gesamte Infrastruktur.

Wie schwierig ist es, solche Produkte zu entwickeln
Es entstehen ständig neue Technologien, die Studium, Anpassung und Erfahrung erfordern. Als wir zum ersten Mal auftraten und ein Startup waren, nahmen nur wenige Leute die Virtualisierung ernst. Es gab Anwendungen zum Sichern physischer Rechenzentren. Virtualisierte Rechenzentren wurden als Spielzeug angesehen.
Wir haben von Anfang an damit begonnen, Backups unter Berücksichtigung der Virtualisierung zu unterstützen, als die Technologie nur von Enthusiasten verwendet wurde. Und dann geschah sein explosives Wachstum und seine Anerkennung durch den Standard. Jetzt sehen wir andere Bereiche, die auf den gleichen qualitativen Sprung warten, und versuchen, auf der Welle zu sein. Die Fähigkeit, die Nase gegen den Wind zu halten, ist irgendwo in der DNA des Unternehmens verankert.
Jetzt hat das Unternehmen die Zeit des Starts bereits überstanden. Jetzt sind Stabilität und Zuverlässigkeit für viele große Kunden wichtig, und die Entscheidung über die Fehlertoleranz kann mehrere Jahre dauern. Anpassung, Produktverifizierung, Einhaltung zahlreicher Anforderungen. Es stellt sich eine lustige Situation heraus - einerseits müssen Sie Zuverlässigkeit und Vertrauen in die Produkte sicherstellen und andererseits müssen Sie modern bleiben.
Das Neue ist jedoch immer mit einem gewissen Grad an Unkenntnis der Technologie, des Marktes oder beidem verbunden.
Nach mehreren Jahren Arbeit haben wir beispielsweise festgestellt, dass wir die integrierten Funktionen von Speichersystemen nutzen müssen, um Backups zu beschleunigen. So wurde eine ganze Richtung für die Integration mit Eisenproduzenten geboren. Heute sind die Veeam-Partner in diesem Programm die größten Akteure auf diesem Markt - HP, NetApp, Dell EMC, Fujitsu usw.
Es schien uns auch, dass die Virtualisierung klassische Server ersetzen würde. Das Leben hat jedoch gezeigt, dass die letzten 10% der physischen Server verbleiben, deren Virtualisierung entweder nicht möglich oder nicht sinnvoll ist. Und sie müssen auch gesichert werden. So entstand Veeam Agent für Windows / Linux.
Einmal hatten wir das Gefühl, dass es Zeit für Unix war, seinen Platz im Museum einzunehmen, und weigerten uns, es zu unterstützen. Sobald wir jedoch Kunden mit einer langen Geschichte erreichten, stellten wir fest, dass Unix lebendiger ist als alle lebenden. Trotzdem haben sie eine Lösung für ihn geschrieben.
Die gleiche Geschichte war mit Bandlaufwerken. Wir dachten: "Wer braucht sie in der modernen Welt?" Anschließend haben wir an Funktionen wie der granularen Datenwiederherstellung oder der inkrementellen Sicherung mit einer synthetischen Vollkopie gearbeitet. Dies ist auf einem Band nicht möglich, Sie benötigen lediglich eine Festplatte. Dann stellte sich heraus, dass Bandlaufwerke eines der Mittel sind, um unveränderte Backups bereitzustellen, die für die Langzeitspeicherung erforderlich sind. Um in 5 Jahren zu kommen, nehmen Sie ein Band aus einem Regal und führen Sie ein Audit durch. Nun, die Größe der Kunden - wir haben mit kleinen angefangen - und niemand benutzt die Bänder dort. Und dann sind sie zu Kunden herangewachsen, die uns gesagt haben, dass sie kein Produkt ohne Bänder kaufen werden.

Welche Technologien werden in Veeam verwendet?
Für Aufgaben im Zusammenhang mit Geschäftslogik verwenden wir .NET. Wir haben damit begonnen und optimieren weiter. Jetzt verwenden wir in einer Reihe von Lösungen .NET Core. Als das Startup gerade gegründet wurde, hatte das Team mehrere Unterstützer dieses Stacks. Er ist gut darin, Geschäftslogik, Entwicklungsgeschwindigkeit und den Komfort von Werkzeugen zu schreiben. Damals war es nicht die beliebteste Lösung, aber jetzt ist klar, dass diese Unterstützer Recht hatten.
Gleichzeitig schreiben wir unter Unix, Linux, arbeiten mit Hardware, dies erfordert die Verwendung anderer Lösungen. Die Systemteile bezogen sich auf die Informationen zu den Daten, die wir in der Sicherung speichern, Datenabrufalgorithmen, Algorithmen für den Betrieb von Eisen - all dies ist in C ++ geschrieben.

Wie Mitarbeiter auf der ganzen Welt verteilt sind
Mittlerweile beschäftigt das Unternehmen rund viertausend Mitarbeiter. Ungefähr tausend von ihnen sind in Russland. Das Unternehmen hat zwei große Gruppen. Der erste befasst sich mit der Entwicklung und dem technischen Support von Produkten. Die zweite macht Produkte für die Außenwelt sichtbar: Vertrieb und Marketing liegen in ihrer Kompetenz. Das Verhältnis zwischen den Gruppen beträgt ungefähr dreißig bis siebzig.
Wir haben ungefähr dreißig Büros auf der ganzen Welt. Der Vertrieb ist umfangreicher verteilt, aber auch die Entwicklung ist nicht weit entfernt. Einige Produkte werden gleichzeitig in mehreren Büros bearbeitet - teils in St. Petersburg, teils in Prag. Einige werden in nur einem entwickelt, zum Beispiel wird in Prag ein Produkt entwickelt, das ein physisches Linux-Backup bietet. Es gibt ein Produkt, an dem nur Kanada arbeitet.
Wir entwickeln verteilt, um die Kundenanforderungen zu erfüllen. Großkunden fühlen sich sicherer, wenn sich die Entwicklung in derselben Region befindet, in der das Produkt funktioniert.
Wir haben bereits ein sehr großes Büro in der Tschechischen Republik und planen, nächstes Jahr ein weiteres Büro in Prag zu eröffnen - für 500 Entwickler und Tester. Diejenigen, die in der „ersten Welle“ auf Habré in die tschechische Hauptstadt gezogen sind, teilen ihre Erfahrungen und Hacks gerne mit allen, die an der Möglichkeit interessiert sind, in Europa zu arbeiten. In Russland befindet sich das Büro in St. Petersburg, ein Teil der internen Projekte läuft in Ischewsk und die Unterstützung erfolgt teilweise in Moskau. Im Allgemeinen sind mehrere hundert Menschen auf der ganzen Welt mit technischer Unterstützung beschäftigt. Es gibt Spezialisten unterschiedlicher technischer Ausbildung und Spezialisierung. Die höchste Ebene sind Personen, die das Produkt auf Quellcodeebene verstehen können und mit der Entwicklung im selben Büro arbeiten.

Wie die Prozesse angeordnet sind
Ungefähr einmal im Jahr veröffentlichen wir große Releases mit neuen Funktionen und alle zwei bis drei Monate - Updates mit Fehlerkorrekturen und Verbesserungen, die den dringenden Marktanforderungen oder Plattformänderungen entsprechen. Anforderungen werden Prioritäten zugewiesen - von geringfügig bis kritisch, ohne die eine Freigabe nicht möglich ist. Letztere werden "Epen" genannt.
Es gibt ein klassisches Dreieck - Qualität, Quantität der Ressourcen, Begriffe (bei gewöhnlichen Menschen „schnell, effizient, kostengünstig, wählen Sie zwei“). Wir können es nicht schlecht machen, die Qualität muss immer hoch sein. Die Ressourcen sind ebenfalls begrenzt, obwohl wir ständig versuchen, sie zu erweitern. Das Zeitmanagement ist viel flexibler, wird aber häufig auch behoben. Daher können wir nur den Umfang der Funktionalität in der Version variieren.
Epikov versucht in der Regel, nicht mehr als 30-40% der geplanten Veröffentlichungszyklusdaten einzuhalten. Wir können den Rest abschneiden, übertragen, modifizieren, modifizieren. Dies ist unser Handlungsspielraum.
Für jede Anforderung wird in der Version ein temporäres Team erstellt. Je nach Komplexität können drei und fünfzig Personen anwesend sein. Wir halten uns an eine flexible Entwicklungsmethode und organisieren einmal pro Woche Überprüfungen und Diskussionen der durchgeführten und bevorstehenden Arbeiten für jede Funktionalität.
Die Hälfte der Release-Zykluszeit wird für die Entwicklung und die Hälfte für die Fertigstellung des Produkts aufgewendet. Aber wir haben ein Sprichwort: "Die technische Verschuldung eines bankrotten Projekts ist Null." Daher ist es wichtiger, ein Produkt herzustellen, das funktioniert und gefragt ist, als den Code endlos zu lecken. Wenn das Produkt beliebt ist, lohnt es sich bereits, es weiterzuentwickeln und an zukünftige Änderungen anzupassen.

Wie Veeam Menschen beschäftigt
Der Auswahlalgorithmus ist mehrstufig. Die erste Ebene ist ein Gespräch zwischen einem Kandidaten und einem Personalvermittler über die Wünsche der Person selbst. In dieser Phase versuchen wir zu verstehen, ob wir für den Kandidaten geeignet sind. Für uns ist es wichtig, dass wir als Unternehmen interessant sind, denn die Einführung einer Person in ein Projekt ist ein teures Vergnügen.
Wenn Interesse besteht, bieten wir auf der zweiten Ebene eine Testaufgabe an, um zu verstehen, wie relevant die Erfahrung des Bewerbers ist und was er als Spezialist nachweisen kann. Erstellen Sie beispielsweise einen Dateikomprimierer. Dies ist eine Standardaufgabe und zeigt, wie sich eine Person auf Code bezieht, der sich an Kultur und Stil hält und Lösungen verwendet.
Bei der Testaufgabe ist normalerweise alles perfekt sichtbar. Eine Person, die gerade einen Brief kennengelernt und zuerst einen Brief geschrieben hat, unterscheidet sich deutlich von einer Person, die ständig Briefe schreibt.
Dann führen wir ein Interview. Normalerweise wird es sofort von drei Teamleitern durchgeführt, damit alles so objektiv wie möglich ist. Darüber hinaus hilft es, technisch kompatible Mitarbeiter zu rekrutieren, die ungefähr die gleichen Entwicklungsmethoden und -ansätze haben, auch wenn sie letztendlich in verschiedenen Teams arbeiten.
Im Laufe der Woche führen wir mehrere Interviews für eine offene Stelle durch und entscheiden, mit wem wir weiterhin zusammenarbeiten.
Oft kommen die Jungs zu uns und sagen, dass sie Arbeit suchen, weil sie bei der jetzigen nirgendwo hin müssen - man kann nur auf eine Erhöhung warten, wenn der Chef in den Ruhestand geht. Wir haben eine etwas andere Dynamik. Vor zwölf Jahren war Veeam ein Startup mit zehn Mitarbeitern. Jetzt ist es ein Unternehmen, in dem mehrere tausend Menschen arbeiten.
Die Leute kommen hierher wie ein stürmischer Fluss. Es tauchen ständig neue Richtungen auf: Die einfachen Entwickler von gestern werden zu Teamleitern. Menschen wachsen technisch, administrativ. Wenn Sie ein kleines Feature entwickeln, es aber weiterentwickeln möchten, ist der halbe Kampf bereits beendet. Die Unterstützung erfolgt auf allen Ebenen, vom Teamleiter bis zu den Eigentümern des Unternehmens. Ich weiß nicht, wie man etwas administrativ macht - es gibt Kurse, interne Trainer, erfahrene Kollegen. Es gibt nicht genug Erfahrung in der Entwicklung - es gibt ein Projekt der Veeam Academy. Wir sind also offen für alle, sowohl für Profis als auch für Anfänger.
Das Veeam Academy-Projekt ist ein abendliches kostenloses Offline-C # -Intensiv für Programmieranfänger mit der Aussicht auf eine Anstellung in Veeam Software für die besten Studenten. Ziel des Projekts ist es, die Lücke zwischen dem Wissensvolumen und den praktischen Fähigkeiten eines durchschnittlichen Hochschulabsolventen und der Menge an Wissen zu schließen, die erforderlich ist, um einen guten Arbeitgeber zu interessieren. Drei Monate lang studieren die Jungs die Prinzipien von OOP in der Praxis, tauchen in die Funktionen von C # ein und studieren den Haubenraum .Net. Neben Vorträgen, Tests, Labor- und persönlichen Projekten entwickeln die Jungs ihr gemeinsames Projekt nach allen Regeln dieser Unternehmen. Das Thema des Projekts ist nicht im Voraus bekannt - es wird in den ersten Tagen nach Kursbeginn gemeinsam mit allen ausgewählt. Im letzten Stream wurde sie zur virtuellen Bank.
Öffnen Sie nun die Wahl zu einem neuen Thread .