Хоча і невеличкий, а все ж таки ювілей і певні підсумки певні можна робити. До речі те що пройшло 5 років навіть не відчувається, враження таке що максимум 2 роки пройшло, наче не так і давно був перший день…
Далі дещо сумбурно, спробую не повторювати те про що вже писав раніше.
Як все починалося
Своє резюме я кілька разів посилав у МС, але жодного разу навіть не відповідали. І от черговий раз відправивши резюме на [email protected] нарешті отримав відповідь (працював я тоді у Luxoft’і). Там питали коли мені краще подзвонити, ну а після нетривалої переписки власне мені хтось із ХРів і подзвонив і ми мило поспілкувалися з приводу мого досвіду з різних технологій та порозв’язували стандартні логічні задачки по телефону. Взагалі у мене склалося враження що інтерв’юєр звіряє мої відповіді з якоюсь формою і ставить галочки.
Ще через деякий час мене запросили на співбесіду у Москву куди я і поїхав. Там вже пройшов 5 співбесід (45 хвилин інтерв’ю + 15 хвилин відпочинку). Щоб такого особливо складного щось було так і ні, доволі стандартні задачки. Лише на відміну від наших ніхто про віртуальні методи не питав і взагалі сказали писати на чому зручніше. Ну типо наймають тих хто достатньо розумний щоб вивчити будь-що і щоб мав цінність для компанії в цілому.
А ще через деякий час прийшов офер, розмір зарплатні і таке інше. Я тоді погодився одразу, зараз розумію що сильно продешевив, але не шкодую все одно. Навіть з самого початку зарплатня була дуже добра, вища майже вдвічі за середню по США. Ну і до того ж компанія займається усіма юридичними питаннями, надає найкращу в індустрії страховку і взагалі є дуже комфортним місцем роботи.
Ну от вони робили все за мене, я, наприклад, у посольство прийшов тільки на співбесіду яка закінчилася на першому ж питанні де я сказав що буду працювати в МС
System Center Service Manager
Мій перший проект був Windows, C#, тестування… На відміну знову ж таки від українських реалій тестери тут пишуть код. Звісно це не код продукту (хоча бувають і такі випадки), це автоматизовані тести, інструменти що використовуються в процесі розробки і тестування, бібліотеки та фреймворки. Крім того тестери на відміну від програмістів мають майже повну свободу у виборі технологій, мов та бібліотек, а також отримують знання у областях куди вузькоспеціалізованим програмістам ніколи не вистачає часу залізти.
Зараз я дуже радий що попрацював тестером, а тоді мене це напружувало. Власне продукт, коли я до нього приєднався, було прийнято рішення переписати з нуля новою командою, а отже я побачив як починаються різні процеси і до того ж отримав досвід випуску першої версії.
Щоб по простому то цей продук має тісну інтеграцію з лідерами у свої категоріях Operations Manager (моніторинг стану заліза і софта) та Configuration Manager (управління оновленнями та конфігураціями софта і заліза) і призначений для ефективного управління процесами (наприклад розв’язанням апаратних чи програмних проблем в огранізації, але не лише). Призначений для великих організацій, здається від 20 тисяч комп’ютерів. Очикувану після випуску почав приносити добрі гроші. А такі продукти як ви мабуть розумієте не продаються у коробках, натомість за них платять кожен рік за кожен комп’ютер, користувача, тощо. І це сотні доларів, тобто організація типу банку з 20 тисячами працівників щороку сплачує десятки мільйонів.
Тут я дізнався по програми за якими партнери отримують задовго до всього ринку перші сирі версії, використовують їх і постійно дають свої відгуки. Були навіть великі організації з України. Ну і взагалі багато чого цікавого дізнався і побачив.
Але все одно хотілося більш технічної роботи, хотілося С++ та вказівників
Ну власне до випуску першої версії я і досидів (це було 2.5 роки), і пішов далі…
bing
Тут вже я повернувся до ролі програміста. Працював у команді яка володіє фрейморком на основі якого запити спрямовуються до спеціальних обробників та джерел даних, а відповіді акамулюються. Це не та частина яку бачить користувач, але через цю частину також проходить практично весь трафік.
Як ви розумієте тут було багато роботи з оптимізації перформансу, дослідження причин проблем та того як можна все покращити. Але було і багато іншої роботи – досліджувати що сталося з якимось сервісом у якомусь дата-центрі на сотні і тисячі машин, деплоїти нові версії, міняти конфігурації та дані. Ну і ще така мила річ як час від часу цілодобове чергування на протязі тижня щоб у випадку чого миттєво пофіксати будь-що, а інакше шалені гроші будуть втрачатися.
Ну все ж таки сервіс ще не коробочний продук. А ще і відмінності в стилі роботи. В бігну, і взагалі онлайн-бізнесах МС це agile, коротенькі ітерації, відсуність тестерів і гонитва за іноваціями. Доволі аргесивне середовище треба визнати.
Півтора роки працював з превеликим задоволенням і навіть не думав нікуди йти, але потім ситуація змінилася. Не хочу вдаватися в деталі, але фактично різко і неочикувано стало погано. Ну та буває, добре компанія велика і є з чого вибирати. Отже через 2 роки пішов я далі…
Windows Phone
Тут я працюю в команді (вже пів року) яка займається апдейтами ОС і знаходиться настільки близько до Windows наскільки це можна щоб не стати її частиною. Тобто те що ми робимо певною мірою є розшиненням ОС, але в саму ОС ми не ліземо. Розробка для мобільних пристроїв, навіть таких потужних як смартфони, доволі помітно відрізняється і від розробки десктопного/ентерпрайз софта, і звісно від розробки сервісів. Організація і стиль роботи тяжіють до довгих, по року і більше циклів, глибокого детального планування і не частих релізів, тобто абсолютно протилежне тому що було в bing.
Тут багато роботи у дебагері (windbg переважно) як з конкретними девайсами так і віртуальними машинами. Багато специфікі пов’язаної з різноманітними обмеженнями – так, наприклад, детальні логи з історією не доступні, дослідження причин якихось негараздів часто є детективною історією з елементами творчості “мабуть воно було ось так, а потім сталося ось це” А якщо серйозно то звичайна така програмістська робота звісно з певною специфікою.
Поки що подобається, цілком бачу себе тут ще на 8-10 років, але загадувати не буду. Тут можна сильно прокачати багато скілів, а найцікавіші на даний момент для мене ті що називають дебагінгом та системним програмуванням.
У підсумку
Треба ще раз повторити що компанія не просто велика, а неймовірно велика. І кожен великий продукт настільки відрізняється способами організації роботи що фактично це різні організації. А також це означає що серед сотень продуктів та команд завжди можна знайти те що буде подобатися і з точки зору організації роботи і з точки зору технологій та того чому можна навчитися. Я цілком бачу можливіть працювати в МС ще багато-багато років… Але знову ж таки зарікатися не буду.
МС таке доволі унікальне місце де переважна більшість людей не просто розумні, а як правило розумніші і краще за тебе як мінімум в кількох областях. Так, тут недостатньо “просто добре робити свою роботу”, далеко недостатнь. Тут треба пнутися щодня, добровільно брати на себе відповідальність за рішення, самотужки пропихувати свої рішення та бачення. Думаю що в інших успішних великих софтверних компаніях США ситуація відрізняється не суттєво. Ну та амерканці вони взагалі що називається горять на роботі – працюють дуже багато, але головне що ефективно.
Чи шкодую я про щось, чи повторив би ці 5 років ще раз? Скажімо так (без подробиць) – знову проходити я б не схотів, зробив би все розумніше, але з іншого боку дуже радий що пройшов через усе. Шкодую про те що не старався краще свого часу і не портапив сюди хоча б на рік раніше. Чи порекомендую я повторити свій шлях іншим? Знову ж таки залежить. Залежить від людини, її прагнень, очикувань та мотивації. Але в цілому так, порадив би
Додаткове читання
Список мої раніше написаних постів про МС: