петък, 29 март 2024   RSS
    Барометър | Региони | Компании | Лица | Назначения


    6495 прочитания

    Какво е да работиш в един от най-желаните работодатели в света?

    Запознайте се с Мая Армянова - Софтуерен Инженер в Google
    22 ноември 2022, 10:10 a+ a- a

    Снимки: Личен архив

    Мая Армянова се запалва по програмирането още в училище, завършва СМГ, след което учи бакалавър „Информатика” и магистър по „Електронно обучение” във ФМИ на СУ. Започва кариерата си на програмист в българска фирма за компютърни игри, като с времето развива интереса си в посока уеб технологии. Комбинацията между уменията за програмиране на ниско ниво и уеб технологиите я отвеждат в екипа на V8 - JavaScript двигателя на браузъра Chrome, разработван от Google.

    С Мая разговаряме за пътя ѝ до Google и какво е да си част от екипа на един от най-желаните работодатели в света.

    Мая, кога и как започна в Google? Спомняш ли си първия контакт, през колко и какви интервюта премина и какво беше ключово да изберат теб с оглед на голямата конкуренция?
    За първи път се свързаха с мен, докато учех магистратура в СУ. Предложиха ми да кандидатствам за стажант и макар че вече имах няколко години професионален опит успоредно със следването, реших да опитам. Мисля, че извадих късмет с програмните езици, с които основно работех по това време – C++ и JavaScript/Node.js, което е неособено популярна комбинация. Това насочи интереса на текущия ми екип към мен и половин година след успешния летен стаж се върнах като инженер на пълно работно време.

    Google е популярна с предизвикателни въпроси и интересни задачи и загадки, които дава на интервю за работа. При теб имаше ли подобни въпроси/задачи и би ли ги споделила с нас?
    Определено интервютата са предизвикателни – набляга се на алгоритмични задачи от състезателен тип, а за по-високите позиции има и дизайн интервюта (например как да проектираш цяла система). Още си спомням с усмивка едната задача на интервютата след стажа – комбинаторна задача за двама анимационни герои Пинки и Мозъка, които се опитват да разбият сейф, заключен с 4-цифрен код, използвайки най-кратката последователност от цифри, която съдържа всички възможни кодове от 0000 до 9999. Тук знанията от математическата гимназия ми помогнаха да докажа защо решението ми е минимално и решава задачата, а познанията от университета – да напиша оптимална имплементация. Споделям задачата, защото като много други вече е „изтекла“ по популярните сайтове за подготовка за интервюта.

    Оправдаха ли се очакванията ти, когато започна? Какво си представяше и какво се оказа?
    Като във всяка друга работна среда и аз отидох с добър багаж от очаквания, някои от които не се оказаха напълно верни. Очаквах например всички служители да са запалени бивши състезатели по програмиране и да не се обръща много внимание на качеството на кода. Оказа се, че за щастие, колегите прилагат добри софтуерни практики и се стараят проектът ни, който е на повече от 10 години, да подлежи на дългосрочна поддръжка.

    Друго нещо, което ме впечатли, е, че заради отворения код на проекта ни работим с множество индивидуални програмисти, които искат да разработят дадена подсистема, често за собствено удобство, защото го ползват като библиотека в техни проекти. Това води до нуждата да поддържаме добра публична документация, да говорим на конференции в подробности за работата си, да взаимодействаме с много хора в публични форуми и GitHub.

    Снимка: Личен архив

    Разкажи ни какво включва работата ти? Кои са основните проекти, по които работиш сега?
    Проектът, част от чийто екип съм, е V8 – JavaScript, „двигателят“ на браузъра Chrome, който в реално време превежда (компилира) кода на уеб програмистите до машинен код, който се изпълнява при потребителите. Това дава огромно бързодействие на сериозни уеб приложения, като пощенски клиенти, платформи за видеоконферентни връзки, игри, напоследък и професионален софтуер като Photoshop. Аз работя конкретно по оптимизиращия компилатор, чиято задача е чрез множество алгоритми от областта на компилаторите и теорията на графите да постигне максимално ефективен за изпълнение код. Работата е на доста ниско ниво, което беше ново за мен, и е изключително интересно да работим съвместно с програмисти от Microsoft, Intel и някои китайски хардуерни производители, за да поддържаме кода работещ ефективно на 8 различни платформи (архитектури).

    Можеш ли да споделиш нещо друго специфично и интересно според теб от работата в Google? Google е популярна и с атрактивните си придобивки – кои са най-ценните лично за теб?
    За мен беше изключително впечатляваща мощната инфраструктура, която помага на програмистите от моя екип да поддържаме кода си в добро състояние. Ние сами пишем тестовете си – JavaScript програми, с които проверяваме валидността на генерирания от компилатора код, а множество „ботове“ – машини с най-различни архитектури и операционни системи – постоянно изпълняват тези автоматизирани тестове, за да хващаме и най-дребните проблеми възможно най-рано. Отделен екип се грижи само за тази инфраструктура, както и за по-сложните програми – fuzzers, които с помощта на различни генеративни алгоритми, построяват нови JavaScript програми, чиято цел е да „счупят“ нашия компилатор, ако сме пропуснали да тестваме нещо.

    Google наистина има куп допълнителни придобивки и глезотии в офиса – безплатна храна, стаи с различни игри (тенис на маса, билярд, дори лего), репетиционна с различни музикални инструменти, стая за масаж, фитнес в самия офис. За мен музикалната стая определено е страхотно попадение, а също и безплатни абонаменти, които получаваме за големи онлайн библиотеки с книги и курсове, както и за интересни мобилни приложения, например Headspace.

    Какво е усещането да имаш за колеги някои от най-големите таланти на планетата?
    Определено е доста заземяващо, когато научиш, че половината ти екип са с докторантури от някои от най-престижните технически университети в Европа и са учили при авторите, на дебелите книги и учебници, които се ползват в областта. :) Същевременно е страхотно, че повечето от тези хора обичат да споделят знанията си и умеят да поднесат на разбираем език често сложните концепции, с които работят. Все пак за мен това означава и че имам да наваксвам страшно много от липсващата фундаментална подготовка в областта на компилаторите. За жалост, в България тя почти не се засяга във висшето образование, до голяма степен поради липса на действащи преподаватели, които имат достатъчно знания и интерес в областта.

    Как работите в момента? Как протича типично един твой работен ден в Google?
    В последните месеци подобно на доста други компании и нашата въведе „хибридна“ работна седмица, т.е. до 2 дни работа от вкъщи и 3 дни в офиса. Това помага за свободата човек да ползва двата дни вкъщи, например ако се налага да чака пратка или има нужда да свърши дълга фокусирана работа. Същевременно дните в офиса вече са продиктувани основно от нуждата да се видим с колегите и да обсъждаме работата на живо. Това все пак позволява и на някои колеги да работят изцяло отдалечено от други градове или държави, в които фирмата има административен офис.

    Разпределението на времето ми всъщност е доста динамично в различните дни – обичайно на ден имам по 1 – 2 часа срещи, немалко време отива в офлайн комуникация с колегите и външните ни сътрудници. Все пак в добрите дни успявам да отделям по няколко часа за техническа работа – програмиране, ревюта на кода на колеги, писане или ревюиране на дизайн документи. Със сигурност това е различно спрямо малките фирми, където човек спокойно може да отдели по 6 – 7 часа от работния си ден за техническата работа.

    Имаш впечатляваща кариера на софтуерен професионалист – сподели накратко за пътя си дотук. Кой и какво ти помагаше да се развиваш в тази толкова конкурентна сфера?
    В България всъщност е много лесно да започнеш работа като програмист, даже бих казала твърде лесно… Аз се озовах на първата си работа, когато бях едва 11. клас в гимназията, и продължих да работя успоредно с училище и после с университета. Това със сигурност помага човек да натрупа рано опит за това да работи с други хора, да се вписва в професионална среда и да изпълнява практическата работа в разумни срокове. От друга страна, влияе негативно на времето, което отделя за учене и развиване на самия себе си като специалист. Правех паралел с мои колеги, които не бяха започвали работа чак докато завършат магистратура – те имаха впечатляващи лични проекти (често с отворен код) зад гърба си, в които бяха вложили много време и труд, научавайки се да развиват изцяло собствен проект.

    Все пак далеч не се оплаквам – имах късмета още на 20-годишна възраст да попадна в страхотна българска компания, Masthead Studios, която разработваше първата по рода си българска MMORPG игра. Там имах възможност да уча от много талантливи колеги и да работя по най-разнородни части на играта и нейния „двигател“, което ми даде бърз и стабилен старт в кариерата. Нашият технически директор беше отличен мениджър и искрено ценеше това да се развиваме като таланти – непременно държеше аз и други колеги студенти да се справяме отлично в университета, насърчаваше ни да проучваме, инвестираше в учебни материали, книги и неформални споделени вечери, в които гледахме и обсъждахме лекции от конференции на световно ниво.

    Същевременно в университета попаднах на страхотни преподаватели по доста от предметите, които ме мотивираха да записвам изборни курсове и да развивам умения около основното програмиране. Стараех се да работя по екипните проекти с други заинтересовани колеги и макар да не отделях достатъчно време за учене, все пак гледах да го оползотворявам, захващайки проекти, които да са предизвикателни и интересни за мен и колегите ми.

    Кои са най-големите митове за работата в Google?
    Това е доста интересен въпрос. Честно казано, преди да започна работата в Google, не съм чела куп статии за това как е работата там, предпочетох да се оставя на изненадата. Със сигурност един мит е, че понеже компанията е един от най-търсените софтуерни гиганти, в нея работят някакви „нечовеци“, които просто са много гениални и затова се справят добре. Относно хората – със сигурност много от колегите ми са много талантливи. Обаче подобно на елитна гимназия или университет, те много често са там основно заради упорита работа, желание да се развиват постоянно и смелостта да захващат предизвикателни проекти просто за да покажат какво е технически възможно. Аз самата изобщо не очаквах да се справя с интервютата, защото като ученичка опитите ми да се състезавам по програмиране бяха умерено посредствени. Все пак с помощта на наученото в университета и около месец тренировка чрез онлайн платформа за алгоритмични задачи, успях да набера скорост и да се справя добре със задачите. Това обаче беше само началото… Сега, 4 и половина години по-късно, вече знам достатъчно за компилаторите, за да съм наясно, че един живот не стига човек да научи достатъчно в дълбочина и ширина за тази сериозна област.

    Та според мен мит е това, че не е възможно човек да успее да влезе в подобна фирма, но със сигурност иска сериозна фундаментална подготовка, упорство и труд. Което далеч не свършва с интервютата, напротив – след това тепърва идва интересното. И въпреки всички стаи за отмора и глезотии в офиса в обичаен работен ден човек ще срещне едва няколко души в тези стаи и много повече колеги по бюрата им или пред белите дъски, обсъждайки как да се справят с някоя нова задача.

    Дипломната ти работа от СУ е свързана с приложението на VR в образованието. Случва ли се на практика, какви са предизвикателствата и какви иновации в тази област можем да очакваме?
    Приложението на технологиите в образованието със сигурност е тема, която дълбоко ме вълнува. И въпреки че често си мислим за съвременни технологии – как да „вкараме“ по един таблет във всяка ученическа раница – това далеч не е най-същественото. Още при появяването на телевизията например е имало подобен устрем на хората да излъчват образователни предавания. Важното обаче е технологията да се приема само като средство, а не като абсолютно решение. И не, един ученик не се мотивира автоматично повече, ако просто заменим хартиения учебник с електронен. Изключително важно е как е поднесено съдържанието, доколко позволява на неговото въображение и желание за откривателство да се развихри. И ролята на учителя далеч не е отслабнала, напротив – освен да предава знания и умения, той вече е натоварен и с необходимостта да следи в множество детайли представянето на учениците си.

    Иначе конкретно виртуалната реалност е интересна област, но засега все още трудно достъпна за обичайно училище или дори университет. За жалост, индустрията се насочи в посока сравнително скъп хардуер, който работи добре само с изключително мощен компютър. Решения като Google Cardboard, които даваха достъп до виртуална реалност с помощта на обикновен смартфон и очила, струващи $10-20, вече не се разработват и така и не добиха популярност, вероятно заради ниските печалби.

    Според изводите, които направихме с моя научен ръководител проф. Павел Бойчев от ФМИ, по-обещаваща конкретно за обучение би била технологията „добавена реалност“, при която, да речем, един хартиен учебник може да се обогати с тримерни модели, които с помощта на смартфон се виждат „позиционирани“ върху двумерното съдържание. Така например, ако в учебника има схема на сърце, при насочване на смартфона ученикът може да види как това сърце „оживява“ чрез анимации и да го разгледа от всички страни в детайли.

    Какви са близките ти планове? Обмисляла ли си да се завърнеш в България, какво би ти липсвало от Германия и от Google?
    Всъщност този въпрос идва доста навреме – поради семейни причини имам силно желание да се върна в близко бъдеще в България. Това обаче означава наистина да се откажа от работата си в Google, тъй като, за жалост, българският офис не съществува вече от няколко години. Със сигурност средата от надъхани и талантливи колеги ще ми липсва – знам, че и в България човек може да намери такава среда, но далеч не всички компании могат да се похвалят с такава.

    Иначе Германия е много приятна страна за живеене, с всичкия комфорт и спокойствие, които немците обичат и създават около себе си. Най-впечатляващо за мен там може би е как, в общи линии хармонично, се вписват с цялата си индустрия и човешка дейност в заобикалящата ги среда – дори в най-обикновен краен квартал уличките са залесени, оставени са широки пространства за детски площадки и спортуване, пешеходни зони, в които все пак има достъп на коли за местните живущи и техните гости. Но всичко това се постига чрез спазване на общоприетите правила – шофьорите спазват ограниченията в пешеходните зони, паркира се на установените места, не се вдига шум извън позволените часове, хората гледат да си поддържат пространствата около домовете чисти и подредени. Със сигурност това са неща, които ми се иска да виждам по-често и в нашата столица, защото имам наблюдението, че в някои областни и по-малки градове човек все още може да открие ентусиазъм у хората за подобно хармонично съжителство, а то дава едно чудесно ежедневие.

    Успяваш ли да постигаш баланс работа – личен живот? Как си почиваш?
    Всъщност това е ключова тема за мен и по-скоро откровеният отговор би бил „трудно“. Преди години преживях бърнаут и като много хора, минали през такъв проблем, сега съм много по-внимателна в търсенето на този баланс. Просто знам, че ако човек изпусне кормилото, последствията върху здравето му могат да са много сериозни и уви, дълготрайни.

    Сега се старая преди всичко да поддържам работния стрес в разумни граници, като чисто физически се откъсвам от работата – спирам компютъра навреме дори когато работя от вкъщи, използвам функцията на смартфона си за „тихи часове“, избягвам да оставам до късно в офиса. Проблемът с професия като програмирането е, че човек често отнася мислите за работните проблеми и у дома. Това понякога може да е полезно, ако например под душа ти хрумне някоя обещаваща идея за това как да се справиш с конкретен проблем. Но ако в работата има хроничен стрес и като цяло не се разбирате с колегите или проектите не вървят добре, това много силно влияе на настроението и в свободното време.

    Няколко са нещата, които най-добре ме откъсват от работните грижи – със сигурност най-ефективно работи пътуването и ходенето на планина. Човек и да иска, няма да понесе работния компютър в раницата си, а след няколко часа катерене и потене по баирите в главата му се изпаряват всякакви работни грижи. Когато с мъжа ми не можем да отделим един или няколко дни за планина, все пак се стараем да сме физически активни – обичам да карам колело, ролери, да плувам, да правя йога. Извън спорта музиката е за мен страхотен емоционален отдушник, независимо дали само ще я слушам, или ще седна да посвиря на пианото. Опитвам да се занимавам и с медитации, но засега не успявам да си създам навик да го правя редовно.

    Какво би посъветвала българите, които имат желание да започнат работа за Google?
    Едното нещо, което забелязвам като обща черта между мен и другите колеги българи в офиса, е стабилното университетско образование. Повечето от нас са завършили поне бакалавърска степен в България, някои са ходили по Еразъм или са правили магистратури в европейски университети. Съветът ми е, ако човек се насочи към този вариант, внимателно да проучи колко добър е университетът, в който избира да инвестира времето и парите си, защото и на Запад, както и у нас, са се появили ВУЗ-ове с много ниско ниво, които просто отчитат дейност. За целта може да се проучат класациите на университетите, статистики за реализация на завършилите съответния университет или колеж, да питате познати. Също докато човек е все още в университета, ако може да си позволи финансово, много по-добре е според мен да се съсредоточи върху учене, лични или екипни проекти с отворен код, летни стажове в интересна за него област, състезания и научни проекти, отколкото да се захване на пълен работен ден с не толкова перспективна работа само за да стигне по-бързо до висока заплата.

    Друго, което смятам, че ми е помогнало и може да е от помощ и на други хора, е фокусът – когато човек работи в някоя фирма в България, била тя и по-малка, винаги е от полза да се фокусира и да вложи всичките си усилия и творчество в текущите задачи, дори работата да не изглежда „престижна“. Понякога в дребни наглед проблеми има място за оригинални решения, които развиват собственото мислене и умения, а желанието на човек да се бори с предизвикателните проблеми, неминуемо му печелят позитиви дори и в малък колектив. Малко са хората, които от университета директно се озовават в голяма компания и вероятно почти никога не започват на висока позиция.

    А за самите интервюта малко „тренировка“ по решаване на състезателни задачи винаги е полезна и само ще ви направи по-уверени (а и ще ви срещне с необятния свят на алгоритмите) – онлайн има много платформи за това, а може да се сдобиете и с добри книги, да следите блогове. Един чудесен български портал например е сайтът http://www.informatika.bg/, в който можете да следите календар със световно признати състезания, да четете за теорията зад алгоритмите и да се предизвикате с множество интересни задачи.

    Нагоре
    Отпечатай
     
    * Въведеният имейл се използва само за целите на абонамента, имате възможност да прекратите абонамента по всяко време.

    преди 4 минути
    Бош Автомобилно оборудване открива център за обучения с ПГТЕ „Хенри Форд"
    Центърът има за цел да подготви специалисти в областта на поддръжката и ремонта на леки и тежкотоварни автомобили
    преди 1 час
    IWG продължава да разширява присъствието си у нас
    Доставчикът на гъвкави работни пространства откри няколко нови локации в Пловдив
    преди 1 час
    БДЖ и Deutsche Bahn договориха доставка на 76 модернизирани вагона
    Първите 19 идват в средата на април, а до началото на лятото всички вагони ще бъдат включени в състава на БДЖ
    преди 3 часа
    БСК: От 2030 най-малко 30% от пластмасовите опаковки ще трябва да се рециклират
    Системи за връщане на бутилки и кенчета предвиждат регулации на ЕП
    преди 3 часа
    Mazda и Panasonic сключиха споразумение за доставка на батерии
    Panasonic Energy произвежда батерии и за Tesla