
Alexander Baranov werkt bij Veeam als directeur R&D en woont tussen twee landen. Hij brengt de helft van zijn tijd door in Praag en de andere helft in Sint-Petersburg. In deze steden bevinden zich de grootste ontwikkelingskantoren van Veeam.
In 2006 was dit een startup van twee ondernemers uit Rusland, gericht op software voor het back-uppen van virtuele machines (vandaar ook de naam ā V[ee][a]M, virtuele machine). Vandaag de dag is het een gigantisch bedrijf met meer dan vierduizend werknemers wereldwijd.
Alexander vertelde ons hoe het is om in zo'n bedrijf te werken en hoe moeilijk het is om erin te komen. Hieronder zijn monoloog.
Traditioneel vertellen we over de beoordeling van het bedrijf op āMijn Kringā: Veeam Software kreeg van zijn medewerkers . Het wordt gewaardeerd om zijn goede sociale pakket, de comfortabele werksfeer in het team, de interessante taken en omdat het bedrijf de wereld beter maakt.

Welke producten ontwikkelt Veeam
Producten die IT-infrastructuur veerkrachtig maken. Gelukkig is de hardware in de loop der tijd betrouwbaar genoeg geworden en zorgen clouds voor de veerkracht. Maar menselijke fouten bestaan nog steeds.
Bijvoorbeeld, het klassieke probleem van incompatibiliteit van updates met de infrastructuur van de organisatie. De beheerder heeft een niet-geverifieerde update uitgerold, of deze gebeurde automatisch, en daardoor viel de werking van de servers van het bedrijf stil. Een ander voorbeeld: iemand heeft wijzigingen aangebracht in een gezamenlijk project of documentenset, ervan uitgaande dat dit nuttig was. Later werd een probleem ontdekt en moest de status van een week geleden worden hersteld. Soms zijn zulke wijzigingen zelfs niet gerelateerd aan bewuste acties van een persoon: relatief recent zijn cryptoviren populair geworden. Een gebruiker brengt een USB-stick met verdachte inhoud mee naar de werkcomputer of bezoekt een kattenwebsite, en als gevolg daarvan worden de computers in het netwerk geĆÆnfecteerd.
In een situatie waarin het kwaad al is geschied, bieden we de mogelijkheid om wijzigingen terug te draaien. Als de wijzigingen nog in planning zijn, stellen we in staat om de impact ervan te testen in een geïsoleerde infrastructuur, gerecreëerd vanuit een back-up van het datacenter.
Back-ups spelen vaak de rol van een "stille getuige" tijdens een audit binnen een organisatie. Publieke bedrijven moeten voldoen aan de eisen van externe toezichthouders (bijvoorbeeld de Sarbanes-Oxley Act), en dat is niet zonder reden. In 2008 wankelde de wereldeconomie omdat sommige deelnemers aan de financiƫle markt, simpelweg gezegd, hun bedrijfsresultaten vervalsten. Dit leidde tot een sneeuwbal effect, waardoor de economie inzakte. Sindsdien controleren toezichthouders strenger de processen binnen publieke bedrijven. De mogelijkheid om de staat van de IT-infrastructuur, het mailsysteem, en het documentbeheer tijdens rapportageperiodes te herstellen, is ƩƩn van de eisen van auditors.
Microsoft, Amazon, Google en andere cloudproviders hebben native oplossingen die back-up van bronnen binnen de cloud mogelijk maken. Maar hun oplossingen zijn ādingen op zichā. Het probleem is dat grote bedrijven meestal een hybride IT-infrastructuur hebben: een deel daarvan bevindt zich in de cloud, een deel on-premise. In de cloud bevinden zich meestal webprojecten en applicaties die klantgericht zijn. Applicaties en servers die vertrouwelijke informatie of persoonlijke gegevens opslaan, bevinden zich meestal on-premise.
Daarnaast gebruiken organisaties meerdere verschillende clouds om ƩƩn hybride cloud op te bouwen, om risico's te minimaliseren. Wanneer een multinational een hybride cloud heeft opgebouwd, heeft zij een uniforme en gezamenlijke failover-systeem voor de gehele infrastructuur nodig.

Hoe moeilijk is het om zulke producten te ontwikkelen
Constant verschijnen er nieuwe technologieƫn die studie, aanpassing en ervaring vereisen. Toen we net begonnen en een startup waren, beschouwde vrijwel niemand virtualisatie serieus. Er waren applicaties voor het back-uppen van fysieke datacentra. Gevirtualiseerde datacentra werden beschouwd als speelgoed.
We zijn vanaf het begin begonnen met het ondersteunen van back-ups rekening houdend met virtualisatie, toen de technologie alleen door enthousiastelingen werd gebruikt. En toen kwam de explosieve groei en erkenning als standaard. Nu zien we andere gebieden die eenzelfde kwaliteitsverschuiving wachten, en proberen we op de hoogte te blijven. Het vermogen om je aan te passen is ergens in de DNA van het bedrijf geworteld.
Het bedrijf heeft inmiddels de startupfase achter zich gelaten. Nu is stabiliteit en betrouwbaarheid belangrijk voor veel grote klanten, en de beslissing over fouttolerantie kan jaren duren. Er vindt aanpassing plaats, producttesten en naleving van talrijke eisen. Daardoor ontstaat een grappige situatie ā enerzijds moet de betrouwbaarheid en het vertrouwen in de producten worden gegarandeerd, terwijl anderzijds moderniteit ook belangrijk blijft.
Maar het nieuwe gaat altijd gepaard met een bepaald niveau van onbekendheid met technologieƫn, de markt, of met beide.
Bijvoorbeeld, na enkele jaren werk realiseerden we ons dat we de ingebouwde mogelijkheden van opslag systemen moesten gebruiken om het back-uppen te versnellen. Dit leidde tot een geheel nieuwe richting in de integratie met hardwareleveranciers. Tegenwoordig zijn alle grote spelers op deze markt partners van Veeam in dit programma ā HP, NetApp, Dell EMC, Fujitsu, enz.
Ook dachten we dat virtualisatie klassieke servers zou vervangen. Maar het leven heeft aangetoond dat er nog steeds de laatste 10% fysieke servers zijn die niet gevirtualiseerd kunnen worden of waarvan dat zinloos is. En die moeten ook geback-upt worden. Zo zijn Veeam Agent for Windows/Linux ontstaan.
Ooit dachten we dat Unix zijn plaats in het museum moest innemen en stopten we met de ondersteuning ervan. Maar zodra we met klanten met een lange geschiedenis in contact kwamen, beseften we dat Unix springlevend is. En uiteindelijk hebben we toch een oplossing voor Unix geschreven.
Een soortgelijke situatie deed zich voor met tape-opslag. We dachten: "wie heeft het nog nodig in de moderne wereld?" Toen waren we bezig met functies zoals granulaire gegevensherstel of incrementele back-up met een synthetische volledige kopie ā iets wat met tape gewoon niet mogelijk is, je hebt echt een schijf nodig. Later bleek dat tape-opslag een middel is om onveranderlijke back-ups te garanderen, die nodig zijn voor langdurige opslag ā zodat je na 5 jaar een tape van de plank kunt pakken en een audit kunt doen. En qua klanten ā we begonnen met kleintjes ā daar wordt geen tape gebruikt. Maar toen groeiden we naar klanten die ons zeiden dat ze het product niet zouden kopen zonder tapes.

Welke technologieƫn worden er bij Veeam gebruikt?
Voor taken die verband houden met businesslogica gebruiken we .NET. Daar zijn we mee begonnen en blijven we optimaliseren. Tegenwoordig gebruiken we .NET Core in een aantal oplossingen. Toen de startup net was opgericht, waren er enkele voorstanders van deze stack in het team. Het is goed in het schrijven van businesslogica, de ontwikkeling snelheid en gebruiksgemak van de tools. Destijds was het geen populair oplossing, maar nu blijkt dat die voorstanders gelijk hadden.
Tegelijkertijd schrijven we voor Unix, Linux, en werken met hardware, wat andere oplossingen vereist. De systeemcomponenten die verband houden met informatie over de gegevens die we in de back-up opslaan, databasering algoritmen, algoritmen die met hardwarewerkzaamheden te maken hebben ā alles is geschreven in C++.

Hoe medewerkers over de wereld zijn verdeeld
Momenteel werken er ongeveer vier duizend mensen in het bedrijf. Ongeveer duizend van hen zijn in Rusland. Het bedrijf heeft twee grote groepen. De eerste houdt zich bezig met ontwikkeling en technische ondersteuning van producten. De tweede maakt producten zichtbaar voor de buitenwereld: hun verantwoordelijkheden zijn verkoop en marketing. De verhouding tussen de groepen is ongeveer dertig tegen zeventig.
We hebben ongeveer dertig kantoren over de hele wereld. De verkoop is breder verspreid, maar ook de ontwikkeling blijft niet achter. Aan sommige producten wordt tegelijkertijd in verschillende kantoren gewerkt - een deel in Sint-Petersburg, een deel in Praag. Sommige worden alleen in ƩƩn kantoor ontwikkeld, bijvoorbeeld het product dat fysieke back-ups van Linux biedt, wordt in Praag ontwikkeld. Er is een product waaraan alleen in Canada wordt gewerkt.
We voeren gedistribueerde ontwikkeling uit om te voldoen aan de eisen van klanten. Grote klanten voelen zich veiliger wanneer de ontwikkeling zich in dezelfde regio bevindt als het product.
We already have a very large office in the Czech Republic, and next year we plan to open another one in Prague ā for 500 developers and testers. Those who moved to the capital of the Czech Republic in the 'first wave' happily share their experiences and life hacks on Habrahabr with everyone interested in the opportunity to work in Europe. In Russia, our office is located in St. Petersburg, some internal projects are managed in Izhevsk, and support is partially based in Moscow. In total, several hundred people around the world take care of technical support. There are specialists with different levels of technical knowledge and specialization. The highest level consists of people who are able to understand the product at the source code level, and they work in the same office as the development team.

How the processes are structured
About once a year, we release major updates with new functionalities, and every two to three months ā updates with bug fixes and enhancements that address urgent market needs or platform changes. Requirements are assigned priorities ā from minor to critical, without which a release is impossible. The latter are referred to as 'epics'.
There is a classic triangle ā quality, resource quantity, deadlines (in layman's terms, 'fast, quality, cheap, choose two'). We cannot do poorly; quality must always be high. Resources are also limited, although we are constantly trying to expand. There is much more flexibility in managing time, but it is often fixed as well. Therefore, the only thing we can vary is the amount of functionality in the release.
We generally try to keep the number of epics to no more than 30-40% of the projected release cycle timelines. The remainder we can cut, postpone, refine, or modify. This is our space for maneuvering.
For each requirement in the release, a temporary team is created. It can consist of three people or fifty, depending on the complexity. We adhere to agile development methodology, meeting once a week to review and discuss completed and upcoming work for each functionality.
De helft van de tijd in de releasecyclus gaat op aan ontwikkeling, de andere helft aan het verfijnen van het product. Maar we hebben een gezegde dat zegt: 'de technische schuld van een failliet project is nul'. Het is daarom belangrijker om een product te maken dat werkt en populair is, dan eindeloos de code te perfectioneren. Als het product populair is, dan is het tijd om verder te ontwikkelen en het aan te passen aan toekomstige veranderingen.

Hoe Veeam mensen aanneemt voor ontwikkeling
Het selectieproces is meertraps. De eerste stap is een gesprek tussen de kandidaat en de recruiter over de wensen van de kandidaat. In deze fase proberen we te begrijpen of we geschikt zijn voor de kandidaat. Het is belangrijk voor ons dat we interessant zijn als bedrijf, omdat het duur is om iemand in een project in te voeren.
Als er interesse is, bieden we op het tweede niveau een testopdracht aan om te begrijpen hoe relevant de ervaring van de kandidaat is en wat hij of zij kan demonstreren als specialist. Bijvoorbeeld, we vragen om een bestand te comprimeren. Dit is een standaardopdracht en het laat zien hoe iemand met code omgaat, welke cultuur en stijl hij of zij aanhangt, en welke oplossingen worden gebruikt.
Aan de testopdracht is meestal alles goed te zien. Een persoon die net kennis heeft gemaakt met grammatica en voor het eerst een brief heeft geschreven, is duidelijk anders dan iemand die regelmatig brieven schrijft.
Daarna voeren we een interview uit. Gewoonlijk wordt dit gedaan door drie teamleaders om de objectiviteit te waarborgen. Bovendien helpt dit bij het aannemen van technisch compatibele mensen die ongeveer dezelfde methoden en benaderingen voor ontwikkeling hebben, zelfs als ze uiteindelijk in verschillende teams werken.
In een week voeren we meerdere interviews voor de openstaande vacature en nemen we een beslissing met wie we verder willen werken.
Vaak komen mensen naar ons toe en zeggen dat ze op zoek zijn naar werk omdat ze in hun huidige functie geen vooruitgang kunnen boeken - verhogingen zijn alleen mogelijk als de baas met pensioen gaat. Onze dynamiek is iets anders. Twaalf jaar geleden was Veeam een startup met tien medewerkers. Nu is het een bedrijf waar duizenden mensen werken.
Mensen komen hier binnen als in een woelige rivier. Er ontstaan voortdurend nieuwe richtingen, teamleiders worden de gewone ontwikkelaars van gisteren. Mensen groeien technisch, ze groeien administratief. Als je een kleine functie ontwikkelt, maar deze wilt uitbreiden, dan is al het halve werk al gedaan. Ondersteuning is beschikbaar op alle niveaus, van teamleider tot de eigenaren van het bedrijf. Weet je administratief niet hoe iets te doen ā er zijn cursussen, interne trainers, ervaren collegaās. Heb je niet genoeg ervaring in ontwikkeling ā er is het Veeam Academy-project. We staan open voor iedereen, zowel professionals als nieuwkomers.
Het Veeam Academy-project is een gratis avondintensief in het offline op C# voor beginnende programmeurs met de mogelijkheid om bij Veeam Software te worden aangesteld voor de beste leerlingen. Het doel van het project is om de kloof tussen de kennis en praktische vaardigheden van een gemiddelde afgestudeerde en de kennis die nodig is om een goede werkgever te interesseren, te verkleinen. Drie maanden leren de deelnemers de principes van OOP in de praktijk, duiken ze in de bijzonderheden van C# en verkennen ze de onderliggende architectuur van .Net. Naast lezingen, toetsen, laboratoriumwerk en persoonlijke projecten ontwikkelen de deelnemers hun gezamenlijke project volgens alle regels van echte bedrijven. Het onderwerp van het project is vooraf niet bekend ā het wordt samen met iedereen gekozen in de eerste dagen na de start van de cursus. Bij de laatste editie werd het een Virtuele Bank.
Er wordt momenteel ingeschreven voor .
Bron: habr.com
