
Александър Баранов работи във Veeam като директор на R&D и живее между две страни. Половината от времето си прекарва в Прага, а другата половина — в Санкт Петербург. В тези градове се намират най-големите офисите за разработка на Veeam.
През 2006 година това беше стартап на двама предприемачи от Русия, свързан с софтуер за резервно копиране на виртуални машини (оттам и името — V[ee][a]M, виртуална машина). Днес това е гигантска корпорация с над четири хиляди служители по целия свят.
Александър ни разказа какво е да работиш в такава компания и колко трудно е да се влезе в нея. По-долу — неговият монолог.
Традиционно ще говорим за оценката на компанията на „Моя кръг“: Veeam Software получи от своите служители . Ценят я за добрия социален пакет, комфортната работна атмосфера в екипа, интересните задачи и за това, че компанията прави света по-добър.

Какви продукти разработва Veeam
Продукти, които осигуряват устойчивост на ИТ инфраструктурата. За щастие, с течение на времето хардуерът стана достатъчно надежден, а облаците осигуряват устойчивост. Но човешките грешки продължават да съществуват.
Например, класическата проблема с несъвместимостта на актуализациите с инфраструктурата на организацията. Администраторът е приложил неизпитана актуализация, или тя е настъпила автоматично, и в резултат на това е нарушена работата на сървърите на предприятието. Друг пример: някой е направил промени в общ проект или набор от документи, смятайки го за целесъобразно. По-късно е открита проблема и е необходимо да се върне състоянието от преди седмица. Понякога такива промени дори не са свързани с осъзнати действия на човека: относително наскоро стана популярно вирусите-криптолокери. Потребителят носи на работния компютър флашка със съмнително съдържание или влиза в сайт с котки, и в резултат на това се заразяват компютрите в мрежата.
В ситуация, когато лошото вече се е случило, ние даваме възможност да се върнат промените назад. Ако обаче промените само се планират, ние позволяваме да се извърши проверка на тяхното влияние в изолирана инфраструктура, възстановена по резервно копие на датацентъра.
Често резервните копия служат като "нем свидетел" по време на одит в организацията. Публичните компании трябва да отговарят на изискванията на външните регулатори (например, Закона за Сарбанес-Оксли), и това не е случайно. През 2008 г. състоянието на световната икономика се разклати заради факта, че някои участници на финансовия пазар, грубо казано, фалшифицираха резултатите от дейността си. Това задейства снежна топка и икономиката се срине. Оттогава регулаторите внимателно следят процесите в публичните компании. Възможността за възстановяване на състоянието на ИТ инфраструктурата, пощенската система и системата за документооборот за отчетни периоди — това е едно от изискванията на одиторите.
Microsoft, Amazon, Google и други облачни доставчици имат нативни решения, които осигуряват резервно копиране на ресурсите в облака. Но техните решения са "неща сами по себе си". Проблемът е, че в повечето случаи големите компании имат хибридна ИТ инфраструктура: част от нея е в облака, а друга част — на земята. В облака обикновено живеят уеб проекти и приложения, насочени към клиента. Приложенията и сървърите, които съхраняват конфиденциална информация или лични данни, най-често се намират на земята.
Освен това организациите използват няколко различни облака, за да изградят едно хибридно, с цел минимизиране на рисковете. Когато транснационална компания е изградена хибридно облако, ѝ е необходима единна и обща за цялата инфраструктура система за отказоустойчивост.

Колко сложно е да се разработват такива продукти
Постоянно се появяват нови технологии, които изискват изучаване, адаптация и опит. Когато се появихме и бяхме стартап, малко хора разглеждаха виртуализацията сериозно. Имаше приложения за резервно копиране на физически дата центрове. На виртуализираните дата центрове гледаха като на играчки.
Започнахме да поддържаме резервно копие с оглед на виртуализацията от самото начало, когато технологията се използваше само от ентусиасти. А след това настъпи нейният експлозивен растеж и признаване за стандарт. Сега виждаме други области, които очакват такъв качествен ръст и се опитваме да бъдем на вълната. Умението да държим носа си по вятъра е заложено някъде в ДНК на компанията.
Сега компанията вече е преминала през времето на стартапа. Сега на много големи клиенти им е важна стабилността и надеждността, а вземането на решение за отказоустойчивост може да отнеме години. Протича адаптиране, тестване на продукти и съответствие с многобройни изисквания. Получава се забавна ситуация - от една страна трябва да осигурим надеждност и увереност в продуктите, а от друга - да останем съвременни.
Но новото винаги е свързано с определено ниво на неразбиране на технологиите, пазара или и двете.
Например, след няколко години работа осъзнахме, че трябва да използваме вградените възможности на системите за съхранение на данни, за да ускорим резервното копиране. Така се роди цяло направление за интеграция с производителите на хардуер. В наши дни партньори на Veeam по тази програма са всички големи играчи на този пазар - HP, NetApp, Dell EMC, Fujitsu и др.
Също така ни се струваше, че виртуализацията ще изтласка класическите сървъри. Но животът показа, че остават последните 10% физически сървъри, които или не могат да бъдат виртуализирани, или няма смисъл от това. И те също трябва да се архивират. Така се появи Veeam Agent for Windows/Linux.
В свое време сметнахме, че Unix трябва да заеме своето място в музея, и отказахме да го поддържаме. Но когато започнахме да обслужваме клиенти с дълга история, осъзнахме, че Unix е по-жив от всякога. И все пак написахме решение за него.
Същата история беше и с лентовите устройства. Помислихме: "Кому са нужни в съвременния свят?" Тогава работехме върху функции като грануларно възстановяване на данни или инкрементално архивиране със синтетична пълна копия - а такова не може да се направи на лента, нужен е диск. После се оказа, че лентите работят като едно от средствата за осигуряване на неизменни резервни копия, които се нуждаят за дългосрочно съхранение - за да дойдем след 5 години, да вземем лента от рафта и да направим одит. И размерът на клиентите - започнахме с малки - а там ленти никой не използва. А после нараснахме до клиенти, които ни казаха, че без ленти продуктът няма да бъде закупен.

Какви технологии се използват в Veeam
За бизнес логика задачи използваме .NET. С него започнахме и продължаваме да оптимизираме. В момента в редица решения използваме .NET Core. Когато стартапът току-що се образува, в екипа имаше няколко поддръжници на тази стек. Той е отличен по отношение на писането на бизнес логика, бързината на разработка и удобството на инструментите. Тогава това не беше най-популярното решение, но в момента е видно, че тези поддръжници са били прави.
Също така пишем под Unix, Linux, работим с хардуер, което изисква използването на различни решения. Системните компоненти, свързани с информацията за данните, които съхраняваме в резервно копие, алгоритмите за търсене на данни, алгоритмите, свързани с работата на хардуера — всичко това е написано на C++.

Как са разпределени служителите по света
В момента в компанията работят около четири хиляди човека. Около хиляда от тях — в Русия. В компанията има две големи групи. Първата се занимава с разработката и техническата поддръжка на продуктите. Втората прави продуктите видими за външния свят: в нейните компетенции са продажбите и маркетингът. Съотношението между групите е приблизително тридесет на седемдесет.
Имаме около тридесет офиса по целия свят. Продажбите са разпределени по-широко, но и разработката не изостава. Над някои продукти работата върви едновременно в няколко офиса — част в Санкт Петербург, част в Прага. Някои се разработват само в един, например, продуктът, който осигурява физичен бекъп на Linux, се разработва в Прага. Има продукт, по който работят само в Канада.
Правим разпределена разработка, за да отговорим на изискванията на клиентите. Големите клиенти се чувстват по-сигурни, когато разработката е в същия регион, където работи продуктът.
Вече разполагаме с много голям офис в Чешката република и за следващата година планираме да открием още един в Прага — за 500 разработчици и тестери. Онези, които се преместиха в столицата на Чешката република в "първата вълна", с удоволствие споделят опит и съвети в Хабра с всички, които се интересуват от възможността да работят в Европа. В Русия офисът се намира в Санкт Петербург, част от вътрешните проекти се води в Ижевск, а поддръжката частично е в Москва. Всъщност техническата поддръжка се извършва от няколко стотин души по целия свят. Там има специалисти с различни нива на техническа подготовка и специализация. Най-високото ниво е за хора, които могат да разбират продукта на ниво изходен код и те работят в един офис с разработчиците.

Как са изградени процесите
Приблизително веднъж годишно излизат значителни версии с нова функционалност, а на всеки два до три месеца — актуализации с поправки на дефекти и доработки, които отговарят на спешни изисквания на пазара или промени в платформите. На изискванията се определят приоритети — от минорни до критични, без които не е възможна версия. Последните се наричат „епики“.
Има класически триъгълник — качество, количество ресурси, срокове (в народен език, „бързо, качествено, евтино, изберете два“). Не можем да се справяме зле, качеството винаги трябва да е високо. Ресурсите също са ограничени, въпреки че опитваме постоянно да се разширяваме. Има много повече гъвкавост в управлението на времето, но и то често е фиксирано. Затова единственото, което можем да варираме, е количеството функционалност във версията.
Епиците обикновено се опитваме да запазим на не повече от 30-40% от прогнозните срокове на цикъла на версията. Останалото можем да отрежем, пренесем, доработим, модифицираме. Това е нашето пространство за маневри.
За всяко изискване в версията се създава временен екип. В него може да има и трима, и петдесет души, в зависимост от сложността. Придържаме се към гъвкава методология на разработка, веднъж седмично провеждаме разбори и обсъждания на извършената и предстоящата работа по всяка функционалност.
Полвината от времето на релизния цикъл отива за разработка, а другата половина за довършване на продукта. Но имаме утвърдена поговорка - „техническият дълг на банкрутирало проект е равен на нула“. Затова е по-важно да направим продукт, който работи и е търсен, отколкото да доизчистваме кода безкрайно. Ако продуктът е популярен, тогава вече си заслужава да го развиваме и адаптираме за бъдещите промени.

Как Veeam наема хора в разработка
Алгоритъмът за подбор е многостепенен. Първото ниво - това е разговорът на кандидата с рекрутера относно желанията на самия човек. На този етап се опитваме да разберем дали отговаряме на изискванията на кандидата. Важно е за нас да бъдем интересни като компания, защото въвеждането на човек в проекта е скъпо удоволствие.
Ако интересът е налице, на второто ниво предлагаме тестово задание, за да разберем колко релевантен е опитът на кандидата и какво може да демонстрира като специалист. Например, молим да направи компресор на файл. Това е стандартно задание и показва как човек подхожда към кода, каква култура и стил следва, какви решения използва.
По тестовото задание обикновено всичко е ясно. Човек, който току-що е започнал да пише, се различава значително от човек, който редовно пише писма.
След това провеждаме интервю. Обикновено то се провежда от трима тимлидери, за да бъде максимално обективно. Освен това, това помага да се наемат технически съвместими хора, които имат приблизително еднакви методи и подходи към разработката, дори ако в крайна сметка ще работят в различни екипи.
През седмицата провеждаме няколко интервюта за откритата позиция и взимаме решение с кого ще продължим да работим.
Често момчетата идват при нас и казват, че търсят работа, защото в настоящата им няма къде да продължат - повишенията могат да се чакат само с пенсионирането на шефа. При нас динамиката е малко по-различна. Преди дванадесет години Veeam беше стартап с десет служители. Сега това е компания с хиляди хора.
Хората влизат тук като в бурна река. Постоянно се появяват нови направления, а тимлидерите стават вчерашни редови разработчици. Хората растат технически и административно. Ако работиш по разработката на малка функция, но искаш да я развиеш, половината работа вече е свършена. Подкрепата ще бъде на всички нива, започвайки от тимлидерите и стигайки до собствениците на компанията. Не знаеш как да правиш нещо административно — има курсове, вътрешни треньори и опитни колеги. Липсва ти опит в разработката — има проект Veeam Academy. Така че сме отворени за всички, както за професионалисти, така и за новаци.
Проект Veeam Academy — вечерен безплатен офлайн интензивен курс по C# за начинаещи програмисти с перспектива за трудоустройство в Veeam Software за най-добрите ученици. Целта на проекта е да намали разликата между обема на знанията и практическите умения на средния завършил университет и обема на знанията, който е необходим, за да привлече добър работодател. Три месеца момчетата изучават принципите на ООП на практика, потапят се в особеностите на C# и изучават под капака на .Net. Освен лекции, тестове, лабораторни и личен проект, момчетата разработват своя съвместен проект по всички правила на истинските компании. Темата на проекта не е предварително известна — тя се избира заедно с всички в първите дни след старта на курса. На последния поток темата беше Виртуална банка.
В момента е отворен набор за .
Източник: habr.com
