У нас тут виявляється в Tableau є доволі велика група велосипедистів і деякі з них кожного вівторка в обід гасають по місту разом. Ну я і вирішив приєднатися.

Дуже швидко з’ясувалося що вони занадто сильні для мене: на прямій женуть 45 км/г і я безнадійно відстаю, в гірки стають на ноги і “атакують” (тобто прискорюються) що для мене виглядає дивно – звик берегти сили та тримати рівний темп, щільно їдуть у групі бо вміють (а мені страшно так тісно їхати), з гірки несуться понад 50 км/г (насправді швидше, але я вже коли доходю до 50 то починаю перелякано гальмувати, а вони відриваються). Ну і так далі.

Але тим не менш це нагода і покататися і може навіть щось покращити в своїх велосипедних вміннях.

Щодо відео – воно таке саме нудне як і в нещодавному записі Поїздка на велі з роботи додому, але коротше :) На відео ви можете побачити Фрімонт (частина Сіетлу), а саме його центральний та спальні райони.

 

На цьому у мене все.

А, ледь не забув, дані з велокомп’ютера для цієї конкретної поїздки ось тут – https://connect.garmin.com/modern/activity/1853161576. Тепер все.

Так, я закінчив працювати в GoDaddy і перейшов у Tableau.

 

Чому? Кілька причин, деякі суттєві, деякі не надто, але усі разом нарешті сформували критичну масу яка і спричинила мій перехід.

 

Що не так з GoDaddy? Насправді крім незначних недоліків які можуть бути характерними лише для моєї та споріднених команд (читайте ось тут чим я займався в GoDaddy ось тут). Мабуть все ж таки головна причина в тому що зараз там йде велика робота над новою архітектурою і запланований перехід на Java, Docker, Kubernetes і усе таке подібне. Перше – мені не надто цікаво знову робити те саме, нехай навіть з кращою архітектурою і новішими технологіями. І друге – самі ці технології мені не цікаві взагалі.

 

Коли я почав шукати нову роботу то звузив свої пошуки до C++ та високих вимог чи то до оптимізації чи до чогось типу багатопоточності. Ходив на співбесіди у Facebook, Google, nVidia та іншими, з іншими компаніями (dropbox, Amazon та інші) сам перервав процес коли зрозумів що у тих командах в які мені сватали було б не те що я хотів. Було ще кілька маленьких інших компаній, зараз вже не суттєво. Від деяких з названих навіть отримав офери.

 

Чому ж Tableau і що я там буду робити? Зараз розкажу, але почати мабуть треба з того що таке Табло (саме так вимовляється назва, а не Таблєау чи Табльо як мені вже кілька людей з України казали).

 

Люди які заснували компанію зрозуміли дуже просту і навіть очевидну річ – даних у компаній стає все більше, дані ці треба аналізувати, але представлення даних у наочній та доступній формі відсутнє. Тобто у самому спрощеному подані Табло це візуалізація даних. Будь-яких даних у будь-якій формі. І візуалізацію цю вони роблять краще ніж будь-хто інший. А при наявності хорошої візуалізації легше побачити що ховається у цих даних і “пірнути” у них глибше.

 

Продукт розуміє природу даних: наприклад для дати можна групувати дані по роках, кварталах, місяцях і так далі. Зверху на це можна додати групування скажімо по країнах чи прямо на карті розмістити ці дані. І ще додати кольори для політичних вподобань. І кожна з цих дій вимагає однієї операції мишкою.

 

Рекомендую подивитися відео на каналі https://www.youtube.com/user/tableausoftware – там дійсно є багато інформативних відео. А з самим продуктом можна побавитися встановивши 14-денну безкоштовну версію з https://www.tableau.com/products/desktop/download. Також хочу сказати що за даними того ж LinkedIn Табло як вміння (skill тобто) знаходиться на третьому місці за популярністю для відкритих ІТ-позицій.

 

Компанію було засновано в 2003-му році. 20 вихідців з Amazon та Microsoft за всі ці роки виростили компанію до більше ніж 3 тисячі людей. Фінансовий звіт за 2016-й рік – http://s1.q4cdn.com/149179428/files/doc_financials/2016/FY2016-Annual-Report.pdf.

 

Я ж буду працювати в команді яка займається кластерізацією даних, трендами, прогнозами і таким іншим. Тобто математика, статистика, перформанс і усе подібне. Код наший збирається під Windows, MacOS та Linux і потрапляє як в десктопний продукт так і в сервер.

 

В Сіетлі у компанції 4 офіси, в одному з них я і буду працювати (бо саме там сидить моя команда), але можливо з часом переведуся в офіс в Кьоркланді – він недалеко від офісу GoDaddy і близько до дому. Просто літом можна їздити велосипедом на/з роботи – це 34 км в одну сторону і дозволяє суттєво економити час на тренування (тим більше що бігти мені ще не можна) і нерви на водіння машини в Сіетлі :)

 

Що ще сказати? Ну мабуть про їжу і напої треба :) Як з’ясувалося, хоча компанія цього зовсім не рекламує, крім стандартних напоїв є ще кілька видів кави з машинок та завареної зернової. Є холодильники з овочами, м’ясом/ковбасою, сиром, різний хліб, фрукти і таке інше. Є плити де з усього цього можна собі щось готувати (ті ж яйця підсмажити). І до того ж ще і приносять їжу з місцевих ресторанів (суші/роли, тайська кухня і так далі).

 

Є кімната де можна паркувати велосипеді і звісно є душ з рушниками.

 

Що ще важливо це те що майже через 10 років в США моя зарплатня нарешті виросла вдвічі у порівнянні з тим з чого я почав в Microsoft у жовтні 2007-го року. Це мабуть щось означає…

 

Коротше пишіть питання, буду пробувати відповідати :)

 

Більше світлин можна подивитися тут – https://1drv.ms/f/s!An2jFEIZkBKykuAhqNJm85l58kzWDw.

 

Вже на протязі кількох років мій пост про те яким на мою думку має бути резюме є найпопулярнішим в моє блозі (читайте оригінальний пост тут).

Але час йде, уявлення та розуміння змінюються, та і те що можна запхати в резюме займає все більше і більше місця. І тому я в черговий раз майже повністю переписав своє резюме. Головні зміни:

  • з’явилася секція Highlghts (важливе/вражаюче) в якій можна вказати важливі та/або останні досягнення і те що на вашу думку має привернути увагу рекрутерів та менеджерів які шукають людей собі в команду.
  • Усі мови програмування, бібліотеки, фреймоврки та інші абревіатури зібрані в один список без категорій. У спису є лише те чим я хотів би займатися у майбутньому і у знанні чого впевнений більше ніж не впевнений. Також прибрав усі ці скорочення і технології з опису робіт, лише для останньої залишив список – бо це самі актуальні вміння. З появою нового проекту так само приберу список з попередньої роботи.
  • Усі таблиці замінив на прості параграфи тексту. Виглядає може не так святково, але і редагувати легше і при копіюванні між редакторами не втрачається форматування та взаємозв’язок між фрагментами тексту.
  • Для кожної роботи додав конкретну позицію в заголовок.
  • Чим далі у минулому був проект тим коротшим стає опис. Взагалі далі Microsoft ніхто тут не буде читати моє резюме. Особливо враховуючи що попередні роботи були у якісь далекій незрозумілій Україні.
  • Так само скоротив (і спростив форматування) для освіти. Головне – що я Master of Science, це цікавить в першу чергу. І також додав що оте незрозуміле “Іститут підприємництва “Стратегія” є насправді університетом. Бо це те на що тут дивляться.

У підсумку мені вперше в житті вдалося вмістити усе резюме на одній сторінці і навіть не довелося для цього звужувати поля.

Радо відповім на будь-які питання. І ось вам же ж нове спрощене резюме, можна критикувати – https://1drv.ms/w/s!An2jFEIZkBKyksQO5k8mp7h_sywNAQ.

Якось я ніколи і не розказував особливо чим я займаюся в GoDaddy у своїй поточній команді. Не розказував тому ще це не так цікаво як bing чи Windows Phone з точки зору розпізнавання та гучності імені проекту. Але тим не менше є певні складні задачі (хоча і зовсім іншого плану) які доводиться розв’язувати майже щодня.

Також варто зауважити що я не знаю визначення електронної комерції як її дають словники та енциклопедії тому те що я далі розказую скоріше за все не співпадає з якимось академічними визначеннями та тлумаченнями.

Отже коли я прийшов в GoDaddy одна з речей яка дуже привабила мене це була обіцянка того що писати коду я зможу стільки скільки в мене буде бажання це робити. Історично компанія працювала над усіма своїми проектами в такій манері щоб зробити продукти доступними для покупки якомога скоріше і софт який розробляли програмісти не вважався головною цінністю компанії як це є в софтверних фірмах – головною цінністю були саме продукти які можна продавати. Після того як компанія почала приносити більше одного мільярда прибутків на рік нею зацікавилися великі інвестори, викупили частку у власника (до того компанія була у приватній власності) і найняли менеджмент який мав би вивести компанію на новий рівень – до десятків мільярдів прибутку на рік. Нові власники подивилися на стан речей і жахнулися – усі можливі ОС, фреймворки, мови програмування, СУБД і так далі. І звісно дуже мало процесів і контроль якості лише умовний. Все це треба було довести до якогось ладу. І головна причина того що з’явився офіс GoDaddy у нас в тому що тут можна наймати досвідчених людей які розуміють і знають як розроблюється та супроводжується програмне забезпечення (а не просто пишеться код) і їх можна переманити з гігантських Microsoft та Amazon.

Команда в яку я потрапив як ви вже мабуть зрозуміли називається eCommerce. Вірніше це кілька команд зараз. Коли я лише прийшов уся компанія переходила на agile, двотижневі ітерації і усі супутні процедури. Чим же займається eCommerce? Для того щоб щось продавати треба мати як мінімум список речей доступних для продажу з їх цінами. Це так званий каталог. Але не думайте що тут достатньо буде таблички в базі даних з переліком продуктів та цінами. Нюансів багато, назву лише декілька. По-перше, не усі продукти доступні у всіх країнах. А якщо і доступні то їх ціна та конфігурація скоріше за все є різною для різних країн. Потім, якщо ви подивитеся на наш сайт то побачити що багато продуктів доступні у різних варіаціях (наприклад базова, стандартна, професійна і так далі). Деякі продукти мають розширення або доповнення що можна придбати разом з цими продуктами і які не можна придбати самі по собі. До того ж набір характеристик у продуктів різний. Одне діло мати електрону пошту на кілька тисяч адрес, а інше – віртуальний хостінг де рахунки в кінці періоду складаються з того як було використано процесор, пам’ять, диск і так далі. Також придбані продукти можна за часом апгрейдити чи даунгрейдити – тобто переходити на потужнішу чи простішу версію. І те які способи апгрейду та даунгрейду доступні теж треба зберігати у якійсь формі. Тобто каталог це продукти, ціни для різних ринків, модифікації, доповнення до них та дерева апгрейду. Це як мінімум.

Далі у нас є користувачі. Крім відносно простих даних типу адреси та продуктів якими користувач володіє у користувача є перелік методів оплати (банківські рахунки, кредитні та дебітні картки, PayPal і таке інше). Також деякі користувачі мають права доступу до облікових записів інших користувачів. Це можна зробити або через делегування якихось прав, або надавши доступ веб-розробнику який міг би виконувати для користувача роботи зі створення та підтримки сайту. Власне якщо ви хоч колись були задіяні у проекті де треба підтримувати велику кількість користувачів (у нас їх більше 15 мільйонів) то приблизно уявляєте собі що це таке і які задачі типу злиття, блокування і подібних треба автоматизувати.

Ну добре – у нас є каталог продуктів і користувачі з методами оплати, тепер все це треба скласти до купи. Перше це те що називається “корзина” – покупець вибирає все що хоче придбати, ми вираховуємо ціну враховуючи те що деякі продукти йдуть як безкоштовні доповнення, на деякі діють знижки, може було введено код на скидку і так далі. Та ще і податки треба нарахувати в залежності від місця проживання покупця. Це я до того що ціна корзини теж не складається так просто. Але уникнемо усі інші деталі і подивимося що відбувається далі. У деяких випадках ми можемо просто спробувати зняти гроші. І в залежності від методу робимо ми все це дуже по різному. Ось тут я трошки схематично показав як усе це працює для кредитних карток. А це лише один з кількох десятків методів оплати. Навіть якщо не згадувати що для кожного методу способів здійснити оплату теж як правило більше одного в залежності від багатьох факторів. Додам що деякі методі роблять так звану відкладену оплату. Це коли ви комусь типу PayPal кажете “зняти ось скількись грошей”, а він відповідає “думаю що все буде добре, але точно знатиму через пару днів”. Ми це сприймає як сигнал до того щоб надати клієнту продукт навіть якщо остаточний результат нам повідомлять лише пізніше. Ось власне різними методами оплати я і займаюся – працюю в команді яка забезпечує оплату абстрагуючи код від різних методів, країн, валют і типів оплати.

Опустимо ще трохи деталей і уявимо що клієнт придбав якісь продукти і успішно ними користується якийсь час. І ось треба їх оновити. Це теж одна з наших задач – знайти продукти термін дії яких закінчується і повідомити клієнта якщо автоматичне оновлення не дозволено. Якщо ж дозволено то ми самі кладемо відповідні оновлення в корзину. А ці оновлення це не те саме що було куплено спочатку – нам же потрібне саме продовження терміну дії вже купленого продукту, а не такий самий продукт ще раз. Тобто привіт каталог, в тобі ми ще будемо зберігати усі можливі варіанти оновлення для усіх наших продуктів. І ось ми склали цю корзину і пробуємо її оплатити. А тут з’ясовується що нам потрібен PIN-код кредитки чи податковий номер (в залежності від правил які діють на ринку клієнта). І для того щоб усе це працювало без того щоб клієнт мав купувати все вручну ми у методах оплати коли створюємо їх для користувача робимо це таким чином щоб далі можна було виконувати транзакції без залучення покупця. А для кожної з кількох десятків організації з якими ми працюємо для цього є свій протокол та способи досягнення цього. А отже у кожного користувача для кожного методу оплати зберігається якась інформації яка потрібна лише для цього методу.

Ну і ще багато речей я не буду розписувати, але серед них такі як:

  • виявлення користувачів які роблять щось підозріле – послідовно пробують картки вводячи неправильний PIN, роблять багато покупок і відмін і таке інше. Усі подібні випадки мають призводити до блокування такого користувача або методу оплати.
  • повідомляти іншим система про зміни які сталися у користувача, його продуктах (наприклад апгрейд) та методах оплати.
  • відміняти покупки та повертати гроші – це окрема і дуже велика область діяльності.
  • надавати API як внутрішнім так і зовнішнім командам – іншим провайдерам та фірмам які перепродають наші продукти та ми продаємо їхні. Як, наприклад, Microsoft (Office 365), WordPress і так далі.
  • і ще багато-багато усього…

 

Що стосується технічної частини, і це мабуть один з великих викликів. Оскільки система дуже стара (їй більше 10 років) то технології які в ній використовуються вже неймовірно застаріли на сьогодні: COM+ (тобто це Windows), С++, SOAP, MSMQ, IIS, MS SQL. Роки 4 тому була спроба осучаснити все це і не міняючи суттєво платформи – усе що ми маємо обслуговує як я вже сказав вище мільйони клієнтів і проводить транзакції на сотні тисяч доларів на день. Тому не можна все просто взяти та переписати. А через дуже складні схеми в базі даних та потоки даних між компонентами написати нову систему яка працювала б паралельно теж не вийде – в ній доведеться дублювати усе, тобто роботи там на кілька років. Тому зрозуміло що була спроба перейти на C# з C++ та на REST з SOAP, але з часом цю ініціативу було відмінено – дуже багато зусиль для того щоб фактично отримати копію. Зараз ми працюємо над тим як деякі нові компоненти та потоки даних перевести на Java, Linux, Node.js, Hadoop, Docker і подібне. Це дуже цікава і складна інженерна задача – вдосконалити, або навіть переробити систему як працює при цьому не зупиняючи її. Майже як вдосконалювати автомобіль на ходу :)

 

Щодо складності автоматизації електронної комерції то якщо відкинути складність самих технології типу COM то у написанні коду нічого складного нема в принципі (звісно завжди є нюанси). Але складна сама область яку ми автоматизуємо – занадто вже багато в ній кроків, даних і зв’язків. Наскільки багато що розуміти що відбувається у кожному сценарії і як дані куди йдуть та через які компоненти майже неможливо не підглядаючи весь час в діаграми та код тих компонентів. А тому і у разі проблем та помилок дослідження причин теж є не аби яким викликом.

 

 

Одразу скажу – ні, це не я, це справді знайомий з яким ми недалеко сидимо одне від одного. Я поки йти нікуди не збираюся, але в майбутньому звісно усе можливо.

Ну так от, ось цей мій знайомий на днях пройшов інтерв’ю в гуглі, отримав офер і переходить до них працювати через пару тижнів.

Звісно ми з ним обговорювали як проходив весь процес, що питали і таке інше. І я згадав що недавно тут у блозі мене питали як проходять інтерв’ю в американських софтверних компаніях, що питають, які вміння очікують. Отже можна знову трошки про це поговорити.

Перше що треба повторити це те що у великих компаніях типу Microsoft, Google, Amazon, тощо вас не беруть за те що ви добре знаєте якусь мову чи якийсь фреймворк. У якихось дуже окремих випадках вас можуть взяти за якісь специфічні знання типу вміння писати компілятори чи менеджер пам’яті в ОС. Але у більшості випадків компанії шукають просто розумних людей які б могли розв’язувати проблеми та знаходити рішення. Бо мови, фреймворки та проекти виникають і зникають, а продукти клієнтам треба продовжувати продавати.

Тому коли ви починаєте процес інтерв’ю з тим же гуглом то не очікуйте що у вас будуть питати знання хоч якоїсь мови чи технології (знову ж таки якщо ви не в команду компілятор/ядро/залізо йдете) і задачі які вам будуть давати можна розв’язувати будь-якою мовою якою вам зручно. Також дуже важливо те що це не процес прийнятий в гуглі в цілому – може бути що у кожної команди чи офіса свій процес, я просто переказую те що почув.

Так ось цей мій знайомий він переважно С++ програміст, місцями щось робив на Java, але ніколи її не вчив. Гумор ситуації в тому що співбесіда проходила в офісі в Кікрланді, а працювати він буде в іншому штаті де і буде його команда. І коли він питав які мови/інструменти і таке інше треба буде використовувати йому відповідали “а звідки ми знаємо? на місці і спитаєш”. Скоріше за все проте буде Java бо це внутрішній проект, ну та то таке. Це я до того щоб в черговий раз повторити що софтверні компанії які знають як писати софт і вміють це робити наймають людей не на задачу чи проект, а в компанію в цілому – тобто людей яких можна буде при необхідності використати будь-де.

Ну а тепер до самого інтерв’ю та питань.

Звісно спочатку було телефонне інтерв’ю де ХР задають питання по своїй якійсь внутрішній анкеті щоб відсіяти зовсім безнадійних. Ну може бути ще інтерв’ю з представником команди що наймає, але оскільки це телефонне інтерв’ю то там або писати код не треба взагалі, або писати щось дуже умовне у вікні чату. Для такого інтерв’ю треба знати основні алгоритми пошуку/сортування/обходу графу і структури даних як вектор, список, бінарне дерево, черга, стек, хеш-таблиця і так далі. Також треба розуміти що таке “О велике”, як воно вимірюється і що означає.

Після проходження телефонного інтерв’ю (називається “скріннінг” – screening) запрошують on site. Тепер інтерв’ю проходять в кімнатах з дошками де інтерв’юери дають задачі, а ви їх розв’язуєте. Усього відбувається 5 інтерв’ю по 45 хвилин кожне з перервою на обід та 15 хвилин відпочинку між зустрічами. За ці 45 хвилин треба зрозуміти задачу, задати уточнюючі питання, знайти рішення, написати його на дошці і обговорити додаткові питання стосовно рішення. Повторюся що оцінюють ваші вміння розв’язувати задачі в принципі і написання 100% працюючого коду не є гарантією найму. Краще не дописати щось чи написати умовно, але показати що ви на шляху до правильного рішення і розумієте усі недоліки, переваги та обмеження рішення яке пропонуєте.

Тепер безпосередньо до задач.

Перша задача така. У нас є сейф з кодом з чотирьох цифр. Кожна наступна введена цифра зміщує введену комбінацію на одну позицію вліво (тобто старша цифра втрачається). Перше питання – якої мінімальної довжини має бути послідовність цифр щоб гарантовано відкрити сейф? Ну тут треба зрозуміти що з наявного коду ми можемо взяти три останні цифри і додати до них четверту щоб утворилася нова комбінація. Тобто для 10000 можливих комбінацій нам треба усього 10003 цифри.

А друге питання – згенерувати таку послідовність. Тут думайте самі :)

 

Друга задача. Згенерувати лабіринт заданого розміру так щоб у нього був гарантований вхід і вихід і вони були б поєднані. Існує багато алгоритмів генерації лабіринтів, мабуть найпростіший буде модифікований пошук в глибину з поверненням до попередніх позицій (backtracking), щось типу такого – https://en.wikipedia.org/wiki/Maze_generation_algorithm#Depth-first_search. Якщо не хвилюватися і спокійно подумати то цей алгоритм можна “винайти” самостійно доволі швидко. Ну або можна уявити кожну позицію в лабіринті як вузол у дереві і почати будувати зв’язки між ними.

 

Третя задача. Реалізувати BigInt. Це такий тип даних де розмір числа не обмежений. Тобто треба скажімо створити клас, додати підтримку усіх арифметичних операції, конвертацію типів, конвертацію в/з рядка. Але додаткова вимога – реалізувати операцію додавання довільної кількості BigInt’ів (наприклад вектору) у найбільш ефективний спосіб. Теж нічого надзвичайного, але якщо ви знаєте якісь хитрощі цілочисельних операцій для якоїсь платформи то це дуже стане у нагоді і допоможе позитивно вразити інтерв’юера.

 

Четверта задача. Спроектувати архітектуру (ніякого кодінгу) сервісу обміну повідомленнями: клієнти, повідомлення що десь зберігаються і їх можна шукати і таке інше. Тобто усе включно з тим як і де зберігаються дані, як усе це передається та підтверджується, і усі інші нюанси про які можна подумати. Звісно тут є великий простір для обговорень усього що завгодно. До того ж таке питання показує область знань та інтересів кандидата. І мабуть як і в Microsoft четверте і п’яте інтерв’ю проводять лише якщо три попередні пройшли добре, хоча компанії кажуть що це не так :)

 

П’ята задача. Тут я не всі деталі зловив, але склалося таке враження що інтерв’ю це було вже не надто обов’язкове. Задача як така стосувалася внутрішнього представлення чисел типу double (мантиса, експонента, ну ви в курсі) та як можна реалізувати певні арифметичні операції з ними на платформі де нема підтримки такого формату “з коробки”. На цьому інтерв’ю той хто дав задачу пояснював усе включно з тим як числа представлено і як вони нормалізуються і просто треба було показати що розумієш як працювати з бітами та байтами та де можна зробити оптимізації.

 

Ну ось таке от :)

Моя компанія щороку проводить TechFest де впродовж двох днів можна послухати доповіді на різні теми (Security, Mobile, Front-End, Cloud, Agile, тощо) і поспілкуватися з представниками інших компаній партнерів (Microsoft, Dell, Cisco та іншими). Також можна зустрітися з клієнтами. Але головне що можна зустрітися з людьми яких до того знав по роботі виключно через інтрернет: пошта, чати, дзвінки та історії в JIRA.

 

 

Сама ідея проводити це дійство посеред літа в Аризоні виявился не надто вдалою – температура на дворі сягала 50 градусів по Цельсію. Взагалі з готелю вийти можна було або рано вранці, або вже пізно вночі. І все одно о 12-й ночі було більше 30 градусів на дворі. Добре що в готелі кругом було 18-19 градусів і ніякої необхідності виходити з нього не було – нас годували і розважали прямо в готелі.

Проте є певний сенс в такому часі і місці проведення – в таку спеку ніхто в здоровому глузді туди “відпочивати” не поїде, а отже розміщення більше ніж 1000 людей обійшлося не надто дорого :)

 

 

Треба сказати що сам готель дуже шикарний, на рівні, а то і вище найкращих готелів у Лас-Вегасі: фонтани, басейни, мармур і килима, зелені рослини, галявинки, усе кондиціоновано. Одне крило готелю (яке GoDaddy і зайняли на три дні) повністю складається з великих конференц-залів.

 

Додатково до двух днів доповідей самого TechFest’у один день до того проводився Hackathon. Це коли команди працюють над чимось новим і несподіваним (дуже бажано над чимось що не є їх повсякденною діяльністю) і мають на всю роботу обмежений час. В нашому випадку це було 24 години. Команда до якої я приєднався робила інтеграцію з Amazon Echo. Ідея була така що можна запитати у Алекси (це аналог Сірі чи Кортани від Amazon) чи зареєстровано вже якийсь домен, і якщо ні то вона пропонувала його додати у кошик користувача на GoDaddy.com. Ну і ціну озвучувала. Ну тобто в прямому сенсі запитати – кажеш їй “Алекса, спитай у ГоДедді чи домен blah-blah.com зареєстровано”. А вона тобі подумавши – “Ні, домен не зареєстровано. Він коштуватиме $2.99. Додати у кошик?”. Ну і так далі.

 

В більшості нам вдалося це зробити. Не на 100% від задуманого, бо у технології виявилися обмеження про які ми навіть не могли подумати перед початком роботи. Але технічними деталями вас навантажувати не буду.

 

Взагалі в цьому і ціль хакатонів – зробити щось іноваційне, навіть божевільне, продемонструвати прототип. Дещо потім може стати реальним продуктом. Звісно після відповідних доопрацювань, а то і повної переробки.

 

В перший день ми просиділи до першої години ночі, а потім ще наступного ранку з 8-ї пару годин попрацювали.

Далі комісія з близько 60-ти проектів вибирала по 4 найкращих в чотирьох категоріях. Нас вибрали в категорії “Перший пінгвін” – категорія де вибирали “першопроходців”. Таким чином ми потрапили в 16-ку найкращих проектів. Але далі пройти не змогли :(

 

А світлини які ви тут бачите я зробив коли бігав вранці з готелю і по полю для гольфу. Воно там просто неосяжних розмірів! З безліччю доріжок, з поливалками що не дають померти зеленій травичці, та мексиканцями що цілий день за цим полем доглядають.

 

Взагалі план був пробігти десь 15 км, і почав, як я думав рано – о 6-й ранку. Але швидко з’ясувалося що то було запіздно – вже було дуже спекотно і сонце лупило шалено. Я ледь пробіг 7 км і зрозумів що більше не варто.

 

Ну а власне весь вище написаний текст є просто виправданням щоб опублікувати світлини :) До речі усі їх ви можете якщо цікаво подивитися ось тут – https://1drv.ms/f/s!An2jFEIZkBKyj_wieAXacpqu2k8cTQ.

Вступ

Часто при обговорені зарплат за кордоном на українських форумах звучить фраза що “зарплатня це ще не все”, але що вона означає не всі знають і розуміють. Далі я спробую як умію коротко описати які ще види прибутків існують окрім зарплатні.

Отже поїхали.

Базова зарплатня

Це сума до податків за рік. Сума залежить від географічного місцезнаходження: скажімо Senior Software Developer може розраховувати на зарплатню від 150 тисяч на рік у Каліфорнії, або від 130 у Сіетлі. Така різниця обумовлена вартістю життя: ціни на житло, зручність транспотру, тощо.

Звісно також впливає набір вмінь (у випадку програмістів це досвід, знання інструментів та технологій) та інші досягнення.

Але треба враховувати що це сума до податків. В США податки кожен платить сам за себе і сума залежить від складу і сумарного доходу родини, зроблених покупок та інвестицій, хвороб та госпіталізації і іншого. Ось тут трохи розписував – Про виплату податків в США.

Додаткове читання – Рівні і зарплатня в МС.

ESPP

Employee Stock Purchase Plan, або Програма Купівлі Акцій для Працівників. Суть цієї програм в тому що працівникам компанії дають можливість купувати акції компанції за ціною нижче за ринкову.

Працівник всказує відсоток своєї зарпланті яку хоче відкладати на цей план, гроші накопичують і раз у період (квартал чи пів-року, наприклад) компанія купує від імені працівника свої акції. В Microsoft наскільки я пам’ятаю можна було до 5% заплатні відкладати і акції купували на 10% дешевше за рикову ціну на день купівлі. Тобто можна було одразу їх автоматично продавати і отримувати плюс скількись відсотків до зарплатні (мінус податок за прибуток). В GoDaddy можна відкладати до 15% зарплатні і продають нам за нижчою з двох цін: на початок і кінець періоду накопичення.

Тут також треба зауважити що у торгівлі акціями (і не лише для цієї програми) є суттєві обмеження для людей які приймають рішення, або мають знання про продукти які готуються на ринок. Справа в тому що ці люди мають незагально доступні знання, а значить і перевагу завдяки цьому, а це протирічіть законодавству. В результаті якщо вам “пощастило” працювати у групі яка має доступ до такої інформації то для вас спеціально і для членів вашої родини буде виділено пару днів на рік коли ви зможете купити чи продати акції компанії. А у вищого керівництва у більшості випадків можливість продати свої акції з’являється лише після того як вони залишають роботу.

Опціони

Деякі компанії не виходять на ринок акцій по кілька років навіть якщо справи у них йдуть добре. Взагалі говоловна причина такого виходу це залучення нових коштів: акціонери купують акції (частки компанії), а компанія отримані гроші спрямовує на розвиток продуктів.

У нового працівника йому можуть запропонувати певну суму акціями компанії, навіть ще не випущеними. І може статися що попрацювавши кілька років працівник йде з компанії і не отримує свої акції. Так само тим хто працює кілька років у компанії в якості нагороди можуть додавати якихось опціонів (також можливо ще не існуючих акцій).

Але розглянемо випадок коли акції таки почали торгуватися. Працівнику дають певну суму (читай нижче про “золоті кайдани”), наприклад 5 тисяч акцій по ціні 15 доларів за акцію. Якщо на момент отримання усих акцій ціна їх складала 20 доларів то стається наступне. По-перше, доступні акції “забрати” у компанії (називається “завестити”). Це буде прибуток (5000 * 15) з якого треба буде заплатити податок. Потім акції можна продати за 20 кожну і це вже заробіток (5000 * 5) з якого теж треба буде заплатити вже інший податок. Відповідно ціна опціона для кожного індивідуальна і люди навіть з однаковою зарплатнею і однаковим обсягом опціонів можуть в результаті мати різні суми: комусь дали опціон по 5 доларів, а комусь по 15.

Іншими словами опціон це пакет акцій компанії по ціні значно нижчій ніж ринкова. У деяких випадках бонуси також дають опціонами.

Обмежені акції

Ця опція близька до опціонів, а відміна в тому що працівнику дають пакет акції (розподілено на кілька років), але дають їх безкоштовно. Таким чином коли пакет стає доступним для продажу то усю поточну ціну акції отримує працівник і платить відповідний податок з цього.

Пенсійний план

В США він має назву 401k. Треба також сказати що якщо ви хочете отримувати пенсію в США і не працюєте на уряд то вам доведеться самому собі на пенсію відкладати. Для цього існує спеціальний фонд куди відкладаються гроші до податків. А після 65 років можна почати їх отримувати назад у вигляді щомісячних виплат. Скільки саме будуть виплати залежить від того скіьки було накопичено.

Так ось компанії можуть робити так зване “парування”, наприклад: перший відсоток відрахувань з зарплатні компанія подвоює, а для наступних 4 додає половину. Таким чином ви відраховуєте у фонд 5% зарплатні (повторю що до податків), і компанія туди ж вам додає ще 3% (1% + 4 * 0.5%).

Але не усе так райдужно – є максимальне обмеження на виплати у пенсійний фонд на рік і не вийде кілька останніх років перед пенсією накидати туди грошей і потім жити з виплат. Щоб мати хорошу пенсію треба з молодого віку відраховувати гроші туди.

Бонус

Бонус (премія по нашому) дається як правило по результатам перформанс рев’ю (оцінки досягнень) раз на рік коли для кожного порівнюється план роботи і що було реально досягнено, а потім люди виставляються по рангу: комусь велику премію і наступну сходинку в ієрархії, більшості середню премію, а деяких взагалі з роботи виганяють.

Бонус дається комбінацією грошей і акцій (опціонів та обмежених акцій) і як правило виплата розтягується на кілька років.

“Золоті кайдани”

Таку назву отримала ситуація коли у працівника багато премій (акцій та грошей), але їх виплата відбудеться у наступні роки. Як правило усі премії не видають одразу а розтягують: грошову премію можуть виплатити по 50% за два роки, акції дають порціями 5 років по 5% на квартал. Відповідно після кількох років роботи, особливо якщо кілька з них були вдалими у майбутньому такого працівника може накопичуватися до кількох десятків тисяч.

От тому це і називається “кайданами” –  коли йдеш з компанії то втрачаєш усі майбутні виплати за кілька років. І люди через це мучаються, але не наважуються змінити компанію навіть якщо робота вже що називається дістала.

Оплачувана відпустка

Взагалі в США гарантована оплачувана відпустка за законом – 0 днів. Але звісно компанії мають кожна свою власну політику стосовно цього питання.

Наприклад у Microsoft давали здається 15 робочих днів відпустки, пару днів лікарняних і ще пару “плаваючих свят”. Тобто виходило 4 тижні. Після 5 років роботи кількість днів зростала до 5 тижнів, але вже мало хто з тих хто залишився в компанії так довго вибирав усю відпустку: більше роботи і більше відповідальності робили свою справу. Після 10 років здається можна було брати 6 тижнів.

В GoDaddy кількість відпусткних днів не обмежена, але звісно треба зарані (за 2-3 тижні) узгодити дати зі своїм керівником. Такий підхід переймають все більше компаній – дослідження показують що люди відповідальніше ставляться до днів відпустки і насправді витрачають на неї менше днів.

Саббатікал

Інша форма відпустки яка практикується лише як правило для найвищих рівнів праціників – компанія надає тривалу відпустку (від пів-року і довше) зі збереженням робочого місця, а часто і зі збереженням зарплатні чи відстоку від неї. Така відпустка надається раз на життя і люди як правило беруть її щоб подоружувати, написати книгу, завершити наукову роботу і таке інше.

Страховка

Треба розуміти що медична, зубна та страховка на зір це не пов’язані між собою речі. В страховках важливо те яка сума покривається, після якої суми паціент взагалі не платить нічого та так звані ко-платежі: наприклад з моєю поточною страховкою я плачу за кожен візит до доктора фіксовану суму (скажімо 70 доларів), а усе інше скільки б там не було покривається страховкою.

Треба сказати що у Microsoft не лише найкраща в індустрії страховка, але і одна з найкращих в США взагалі і у плані покриття і тому що компанія дає страховку на усіх членів родини. В GoDaddy страховка є лише на працівника, а от за Олену ми платимо додатково (це може бути 300-500 доларів на місяць).

Про зубну страховку ще трохи тут – Американська стоматологія.

Різні дрібниці

Їжа на роботі

Якщо компанія годує обідами або безкоштовно (в GODaddy це 4 рази на тиждень безкоштовно – доставка з ресторанів), або частоково покриває вартість обіду (в столових Microsoft можна нормально пообідати за 5-8 доларів при повній ціні також обіду 15-20 доларів) така “благодійність” виливається у кілька тисяч додатково зекономлених за рік.

Також треба враховувати усі ті холодильники з безкоштовними напоями, чаї та кави. Дещо додатково можна почитати тут – Їжа в Microsoft та Microsoft: автомати з газіровкою.

Спортклуб та програми здоров’я

Тут все просто – компанії зацікавлені щоб працівники були здорові і іноді частково оплачують (називається “спонсорують”) членство у спортклубі. Якщо ви, а ще краще уся ваша родина регулярно ходите у клуб то така приємна підтримка дозволить зекономи від 60 доларів на місяць на члена родини. Дещо почитати можна тут – Про наший спортклуб.

Транспортування

Чим більша компанція і місто в якій вона розташована тим більшою стає проблема добиратися на роботу і додому – трафік займає час, з’являється залежність від машини, тощо. Деякі компанії надають сервіс “шатлів” (міні- або нормальні автобуси) що курсують певними маршрутами і розвозять працівників. У Microsoft так взагалі свій вокзал, автобуси у різні міста, маршрути мікроавтобусів між корпусами та безкоштовні індивідуальні таксі.

Іншим приємним бонусом може стати картка сплати місцевого транспорту яка поповнюється компанією.

 

 

На цьому все, з часом, якщо будуть питання щось допишу та/або виправлю.

 

Раз на рік фактично під вікна нашого офісу (менше пари сотні метрів насправді) припливають і тиждень стоять два кораблі. Це бріг Леді Вашингтон та кеч Вождь Гаваїв. Обидва є репліками човнів що насправді існували багато років тому.

 

Леді Вашингтон засвітилася у фільмі “Пірати Карибського моря: прокляття чорної перлини” в якості корабля “Інтерсептор”, а також у фільмах “Стар Трек” та серіалі “Якось у казці”.

 

Обидва човни побудовано з використанням сучасних матеріалів (сучасних звісно на час їх побудування), в тому числі їх вкрито металевими листами. Але якщо не придивлятися з дуже близької відстані то виглядають вони абсолютно старовинними. Враження додають ще дерево та канати на палубі і щоглах, ну і вітрила звісно ж.

 

За той тиждень що човни стоять на причалі можна за $3 сходити на “екскурсію” по ним, або за $45 поплавати годину і навіть побачити як вони маневрують одне проти одного і роблять по одному вистрілу з гармат.

 

Власне бачити як все відбувається дуже вражає. По-перше, це все дуже повільно. Човен відпливає лише чи стає до берега майже цілу годину. Далі пливе він зі швидкістю неспішного пішохода…

 

А ще прикольний народ там працює. Коли підходиш до човнів вперше бачиш якихось зарослих бородами-вусами бомжів від яких зблизька ще й смердить. А потім розумієш що то команда для автентичності так робить. І одяг у них не лахміття з мішка, а дорбе пошита і мабуть нарядна в ті часи форма. Але бомжі-бомжами. Там же вони собі готують їжу прямо на вогні і таке інше.

 

Так ось дивишся на такі човни довжиною 20-30 метрів і шириною метрів 5-8 і жахаєшся як команда 25-30 людей могла на таких плавати місяцями. Там не лише недостатньо місця щоб комфортно спати (ще ж і капітану свою кімнату зі столом треба), але і нема де зберігати воду і їжу. Тіснява страшенна, все заставлене бочками, кругом мотузки, сморід від немитих тіл та їжі, збите волосся та бороди, одежа кольору і покрою наче її довго в помиях виварювали… Ні, все ж таки героїчі люди були ці ваші мореходи!

 

Якщо ж задерти голову і подивитися на щоглу то просто паморочиться: там не лише високо, але її ще і страшенно хитає навіть на спокійній воді. Це навіть якщо не згадувати про слизькі перекладини по яких треба ходити і важелезні велетенсікі вітрила які треба складати розкладати вручну. Причому це іноді при сильному вітрі робили. Жах просто.

 

 

 

   

 

 

…або гра в яку мають грати усі. Так, ти, хто читає зараз цей текст – ти маєш грати в пінг-понг якщо ще ні!

Я сам не те що б добре грав, скоріше погано. Ну на такому рівні який трохи краще за середнього випадкового чайника з вулиці. А головна причина чому я вважаю що усім треба грати в пінг-понг (тим хто проводить день за комп’ютером – обов’язково) в тому що кілька хвилин гри дають вашим очам шанс попрацювати у природньому режимі.

Людина еволюціонувала так що для виживання використовувся як “далекий” так і “близький” зір, а за швидку зміну фокусу відповідають спеціальні м’язи. Так от коли ви сидите за комп’ютером ваш фокус постійно знаходиться в одній точці, тобто ті м’язи година за годиною мають тримати фокус в одному положенні. Це для них (м’язів очей) неприродньо і вони перенапружуються і слабшають одночасно через те що нема зміни фокусу. Взагалі є така думка що за кілька сот років люди взагалі можуть втратити здібність бачити більше ніж на сотню метрів: для виживання хороший зір сьогодні не потрібен і люди зі слабким зором від народження не лише не помирають від голоду в ранньому віці, але і мають нащадків через яких закріплюють свою ваду.

Так ось пінг-понг хоча і не є повноцінною заміною сильної зміни фокусу проте все ж таки примушує очі працювати і м’язи не так швидко деградують. А якщо грати регулярно на протязі життя то є шанс мати хороший зір (звісно крім вікових проблем) до глибокої старості. Не кажучи вже про те що граючи ви рухаєтеся хоч якось.

Як і більшість людей в дитинстві я грав у настільний теніс у дворі на бетонному “столі” дерев’яною ракеткою. І це звісно була не гра, а “тикання”. Грав у спортивних та піонерських таборах коли була можливість, з часом з’явилася більш-менш нормальна (не совєцька) ракетка якою вже можна було “крутити” та більш точно відбивати кульку. Потім багато-багато років не грав взагалі чи грав дуже випадково.

 

А коли потрапив у Microsoft побачив в будівлях столи і людей що навіть зробили свій внутрішній чемпіонат і грали доволі серйозно. Почав грати зі співробітниками і швидко з’ясував що майже усі індуси та китайці грають дуже добре (тобто краще за мене). Мені кожне з них відповідали що під час навчання в університеті у них було багато вільного часу і вони його переважно і витрачали граючи у пінг-понг.

Я ніколи не займався з тренером і звісно моя техніка та рухи зовсім колгоспні, навіть не сумніваюся. Але граючи кілька років я навчився деяким новим речам і технікам і відкрив для себе що хоча я не можу “тушувати” (це так у нас називали в дитинстві сильний різкий удар) проте часто можу примати такі удари і повертати їх на стіл сильно уповільнюючи.

За рекомендаціями тих же співробітників я купив собі і Олені ракетки Butterfly 401 ($35) та Butterfly 302 ($25). І знову ж таки прекрасно розумію що деякі з вас скажуть що це китайське сміття, а не ракетки, і я навіть погоджуся. Але зауважу що їх невисока ціна дуже виправдовує їх можливо посередню якість. До того ж граючи обома з них я не можу помітити жодної різниці яка б коштувала $10. Тому думаю що і з більш дорогою ракеткою я б різниці не відчув.

 

Ще я дізнався що виявляється кульки бувають двох розмірів (різниця в 2 мм), а також розрізняються “швидкістю” яка позначається зірочками: кульки з однією зірочкою здаються важчими, повільнішими, а з трьома зірочками дуже швидкі і одночасно наче зависають у повітрі. Мені саме три зірочки найбільше подобається.

Олена як і я почала грати більш-менш регулярно вже тут, коли пішла на роботу. І треба сказати що данні для настільного тенісу в неї від природи краще ніж у мене: вона швидко вибилася на перші місця в турнірах своєї компанії і навіть іноді обігрує мене.

Коли я перейшов в GoDaddy з Microsoft то знову припинив грати бо на роботі не було стола. Але ось у новий офіс поставили таки стіл і я почав грати знову. І дуже цьому радий! А от стіл який поставили мабуть коштує шалені гроші (GoDaddy взагалі не економить на офісах) і зроблений дуже в стилі усього іншого щоб гармонійно поєднуватися з інтер’єром проте має одну ваду: на ньому не промальовано білим контури і край столу дещо зливається з сірим килимом підлоги. Не те що б це була велика проблема, але я б надав перевагу зеленому столу з нормальною розміткою. Також в офіс купили ракетки та кульки Adidas (на фото). Ракетки наче непогані, але як на мене занадто легкі. Тому я приніс свою і граю виключно нею.

 

Та і місця би побільше по боках не завадило. Хоча народ більше радий фусболу і грають переважно саме у нього.

Ще хочу сказати що цікавіше і захопливіше за звичайну гру в пінг-понг є парна гра. І в ній важливі не скільки індивідуальні уміння скільки координованість членів команди. Вкрай рекомендую!

 

 

А ви граєте в пінг-понг в офісі? А поза офісом? І взагалі чи маєте що сказати з приводу вище написаного?