Я делаю разный софт на Go, Python и C++
0,0
рейтинг
10 мая 2013 в 17:26

Разработка → Отчет с финала Google Code-In, Калифорния



Привет, Хабрахабр.

Начнем с предисловия. Меня зовут Илья Ковалевский, я ученик 8-Б класса киевского лицея. Недавно я принял участие в конкурсе по разработке опенсорсного ПО Google Code-In 2012. Получил победу и стал финалистом от KDE. Гранд-призом была поездка в США, а если быть точнее, в Сан-Франциско, а после в Мантин-Вью (подробнее в предыдущем моем посте). Перелеты, перемещения, проживание оплачивает Google.

Я решил, что буду писать этот пост по мере моих приключений в Штатах. К сожалению, тут находиться я буду только 5 дней, но это не страшно :)


День 1. Приехали!


San Francisco International Airport. Прошли паспортный контроль, сели в такси (которое обошлось нам ужасно дорого — $150) и поехали в Sunnyvale. Почему именно туда? Программа предполагала перемещения: SFO -> Sunnyvale -> Mountain View -> SFO. Мы (я и моя мама) поселились в Domain Hotel, получили замечательный однокомнатный номер (2 двухместные кровати по 10 подушек на каждую). Нужно преодолеть временной барьер, так что пришлось до вечера много гулять, чтобы нормально лечь спать и нормально проснуться. В Sunnyvale улицы приятные, нету индустриальных запахов (что меня смущает) и солнечно. Погода теплая и ветряная. Люди добрые и доброжелательные. Я, оказалось, классно знаю английский, меня все американцы понимают, пару раз сказали что у меня хорошее произношение. Смотрим Doctor Who сейчас…


День 2. General meeting & Free day


Утро. Целый день нужно гулять (до 06:30 PM), ну что поделаешь, погуляем. По крайней мере, интересно что же будет происходить на вечеринке… Момент истины. Открываются двери Apex зала, Google Stаff уже тут, замечательно!


Не успел тортик сфоткать — разрубали...

Во время вечеринки проходили различные мероприятия (аля «Давайте-ка познакомимся») и объявления. Фотографировать много не получилось, освещение не совсем хорошее, да и времени особо не было. После всего этого, нас напичкали swags (мелкие побрякушки), пару футболок, игрушек:


Классика: фарш вещей из swag bag на кровати

Я всегда думал, что еда — это основная составляющая корпораций, таких как Google, Facebook, Twitter, Microsoft. Так вот, я не ошибался. Кормили нас сильно, сильно и много — не представляю как там в Googleplex люди сохраняют вес и не превращаются в больших дядь и тёть. В любом случае, я еще не ел еду оттуда, завтра будет такая возможность!

День 2. Googleplex


Первое, что я увидел, когда приехал в Googleplex — много велосипедов. У гугла свои велосипеды — называются Googlebike (по-крайней мере нам их так представили). Они встретели нас возле входа в лобби:



Далее нас провели в конференц-зал, где должно проходить награждение победителей. Прямо перед входом стоит линия еды — снеки, содовая, печенье. Внутри — стоместный зал с парочкой людей. Одна из них — Stephanie Taylor, глава Google Code-In и член команды Google Opensource.



Talk 1. Chris DiBona о Google Opensource



Chris, как глава Google Opensource обязан был сказать, что в наше время, опенсорс — это очень классная штука, и что все это очень важно, что мы большие молодцы, и что попали сюда не по приколу. Потом последовало награждение (я — слева):





Особо оно больше ничего не говорил, рассказал как ездил на Аляску, и все такое :) Короче говоря, шутник.

Talk 2. Jeremy Allison о Engeneering в Google



Оказывается, Джереми пришел к нам, рассказать как работают инженеры-гении в Google. А чтобы это было интереснее, он решил построить с нами design протокола передачи данных, based on TCP. Это должен быть прротокол работы с файлами на удаленном сервере, с поддержкой «мульти-пользователькости».

На доске изображены наши идеи, причем из зала, где сидело 20 человек, говорил только я и один китаец. Он разработал stat-open-close, etc, а я семифорный storage с внешним API (все должно работать на два процесса) и систему спасения, в случае падения одного из коннектов или малвари в запросе.

Talk 3. Justin Mattson о Android



Джастин пришел, чтобы рассказать о том, как работает Android на уровне железа, о его истории, о том, какой он опенсорсный, и что это реально очень хорошо что есть те, кто контрибьютит в него. Еще он очень много говорил на тему приложений. Пересказал часть гайдов разработчиков андроида.

Промотивировав людей не нагружать main thread и пожелав нам подрасти и идти работать в Google, а точнее в Android Team, Джастин ушел.

Talk 4. Дмитрий Долгов о Google self-driving cars



Дмитрий, из России, и может быть даже есть на хабре. Он рассказал нам как работает навигация машин Google с «автопилотом», рассказал историю таких машин и вывел наружу — поглазеть на образец:



Потом Дмитрий сел в машину, и уехал далеко-далеко… Это было круто.



Talk 5. Nathaniel Manista о том, как он попал в Google



Этот talk был самый душевный, о том, как Натаниэль попал в Google, о том, что именно ему офисы Google обязаны своей легкостью и открытым, я бы даже сказал прозрачным рабочим пространсвом. Свой путь он прошел со старой школы, через ускоритель электронных частиц и софтварную компанию нелегко. О этом он и говорил в своей презентации, которую он построил на результатах поиска в Google, картинками.

Помимо этого, Натаниэль очень хорош в Python, долгое время в него контрибьютил и очень грамотно его критикует. Он рассказал о том, как однажды ему пришлось построить на нем сложную вычеслительную систему, которая считала физические процессы — познавательно.

Talk 6. Mark Diaz о Google Glass



Shawn рассказал о том, как на нем сидят очки и продемонстрировал нам их работу, пока кто-то из зала отчаяно выкрикивал «ok glass shutdown», который, конечно же не сработал. Если быть точнее, Шон нашел высоту горы Эверест (по его словам «сверху вскочила фотография горы») и приятный женский голос сообщил высоту!



Talk 7. Shawn Pearce о Git и Gerrit



Суть в том, что Gerrit — это очень удобно, и что он отвечает за его использование в Google. Внутри они используют Git, Perforce, Mercurial, SVN. В форме демонстрации научил ревьюить код на Gerrit-сервере. Как-то так, в основном вопросы задавали мы, на тему Git-а, и о том, как постигнуть Дзен в его использовании.

Любимое место Шона в Мантин-Вью, рядом со входом в столовую Big Table, на шезлонгах в траве, там он и работает. Любимый спорт: плавание.

Talk 8. Grant Grundler о Google Chromebook



Грант занимается разработкой интерфейса хромбуков для железа. От него мы узнали, как на примере датчика освещения можно отлаживать приложения низкого уровня (таких способов 4) и о том, что кромбуки стопроцентно займут свою нишу на рынке, особенно Pixel.

Нам подарили модель Google Chromebook Samsung Series 3 (по одной на призера). Я использую его в качестве серфера, печатной машинки (на нем пишу эту статью) и станции разработки (да-да. иногда делаю быстрые багфиксы через cloud9 и через него же деплою проекты на Heroku).

Между прочим, не самый плохой нетбук. Я целый день прошел с ним на батарее и пару раз деплоил проект через Cloud9 -> Heroku в макдональдсе, параллельно поигрывая в Little Alchemy.

Talk 9. Sudhakar Chandra о важности i18n



Судкахар рассказывает о том, какие есть способы интернационализации и упрощения ввода для людей из разных стран, и что самый лучший из них — голосовой ввод. Он дает очень много советов по интернационализации в Google и в целом. Интересно и познавательно

Любимое место Судкахара: кафешка в центре кампуса. По его словам, там достаточно сытно и тихо. Спорт: волейбол.

Talk 10. Carol Smith о Google Summer of Code



Кэрол, как и Стефани, организатор этой поездки, она вместе с остальными принимала в ней активное участие. Под конец она решила рассказать о том, что такое GSoC и почему студенты-программисты должны принимать в нем участие.

Google Summer of Code (GSoC) — инициативная программа компании Google, в рамках которой ежегодно проводится отбор проектов с открытым исходным кодом, в которых могут принять участие студенты. Победителям выплачиваются денежные гранты. Проекты должны предложить будущим участникам задания по программированию в рамках проекта. Каждый проект получает $5500, из которых $5000 достаётся студенту-участнику, выполнившему задание, а $500 — самому проекту.

Google использует данные участников для рекрутинга, так что это отличный вариант попасть туда на работу!

Google Tour

Опять-же, времени особо не было, успел сделать только несколько фоток с тура, среди них:









День 3. Google Summer...Day of Fun


Google решили, что лучше дать детям и их родителям отдохнуть после всего это программерского барахла и решили, что им стоит посетить бывшую тюрьму на острове Алькатрас или прокатиться по Сан-Франциско на сегвеях (это такие машинки на двух колесах, с платформой для ног и стволом).

Я выбрал сегвеи, и оказывается не напрасно. Как мы примерно провели день в фотографиях:





image

image

image

image

image

image

image

image



Заключение


Поездка была замечательная, мы очень много поели и получили кучу подарков от Google. До Nexus у меня никогда не было серьезного телефона, тем не менее я умудрялся собирать приложения под Android. Теперь этот процесс стал гораздо легче. Организаторы были просто замечательными: Stephanie, Carol и Cat сделали свою работу идеально хорошо!

В америке я купил макбук и возникло несколько вопросов по нему (может кто поможет):
  • Есть какой-то нормальный пакетный менеджер, по-серьезнее homebrew?
  • Можно как-то настроить действия компа при закрытии крышки?
  • Как вы делаете все эти .dmg которые монтируют диск и ставятся чисто в Applications?


Спасибо за внимание, и используйте Qt!
Илья @namespace
карма
24,7
рейтинг 0,0
Я делаю разный софт на Go, Python и C++
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

Комментарии (61)

  • +12
    Да — Google молодец: отлично работает с талантливой молодежью. Думаю многие из них потом захотят попробовать свои силы в Google.
    • +19
      Вы немного ошиблись.

      Думаю многие из них потом захотят уже хотят попробовать свои силы в Google.
  • +70
    8-й класс?! Очень круто! Я аж завидую)
    • +4
      Удивительное поколение и вот ещё почему. Я такого же мнения, как и вы. Герой поста учится в одном классе с моим младшим братом и со слов брата в классе мало кто считает достижение нашего героя чем-то крутым и достойным настоящего уважения. Как по мне на, следующий день все должны были бы пойти изучать программирование (утрирую), а на деле очень сложно заинтересовать их хоть каким-нибудь кружком, спортивной секцией, факультативом.

      А вообще интересный класс у них. Есть какой-то чемпион Европы по какому-то единоборству. А ещё есть какой-то киберспортсмен, который ездил на финал соревнований по какому-то командному шутеру то ли в Китай, то ли ещё куда во время учебного процесса. В моё время в школе такого не было. Завидую.
      • 0
        Насколько я знаю, герой поста учится в лицее, а в лицеях такие достижения чтут. Думаю ваш брат не видит полной картины. Собственно в лицеи обычно попадают мотивированные ученики, которые таки учат что-то помимо школьной программы, оттого там и столько разных чемпионов, призеров и прочих замечательных людей.
      • 0
        А как брата зовут, если не секрет?
        • 0
          Не секрет, отвечу в личку.
    • +3
      Стало интересно, откуда у автора при 300 голосах только 70 кармы в плюсе. Полистал комментарии. Холиварщик, причём довольно однобокий (C++ > Java + C#) — тролллинг толстый, без аргументов. Ну и так, резкие, необоснованные, необдуманные высказвания по мелочи. И гонор прёт изо всех щелей. Однако статьи годные.

      Что ж, теперь ясно, почему. :) Впрочем, это возрастное, со временем должно пройти.
      • +1
        Да я не знаю как оно так выходит. Я над собой работаю
  • НЛО прилетело и опубликовало эту надпись здесь
    • –6
      Вы написали открытый и закрытый bb-тег. Намек-ли это?
  • +3
    >Как вы делаете все эти .dmg которые монтируют диск и ставятся чисто в Applications?
    dmg ничего никуда не ставит, это лишь монтируемый пакет, приложения ставятся drag'n'drop-ом, ровно так же их можно поставить и без какого-либо dmg

    >Есть какой-то нормальный пакетный менеджер, по-серьезнее homebrew?
    macports. Тем не менее, советую пакетный менеджер использовать только для cli-утилит и всяких серверов, остальные приложения лучше ставить стандартным методом (или через App Store).
    • НЛО прилетело и опубликовало эту надпись здесь
    • +13
      Старье ваш макпортс, хоумбрю потому и сделали, что макпортс маздай.

      Топикстартер молодец, хабр торт, всем добра.
      • 0
        Да, а количество пакетов в вашем хоумбрю… напомните, как их обновление происходит? Пул-реквестами? Ну, ну, для 100 пакетов может и нормально.
        //Не холивара ради и предлагаю на этом данный спор прекратить, оставшись каждый при своём мнении

        А макпортс — да, не сказка, особенно при отсутствии бинарных пакетов (хотя возможность техническая вполне себе есть), постоянными поломками и пересборками уже установленного (так у меня внезапно поломался gimp и не захотел воскрешаться). Потому и говорю использовать его только для того, что обычно в консоли пинается, ибо адекватного способа установки и обновления библиотек и всяких mongodb, кроме как с пакетным менеджером, нет.

        Сам некоторое время назад горел желанием портировать (точнее запустить, ибо сорсы уже вполне себе мако-совместимые) pacman под макось, но вот незадача — хотел сделать как диплом, но тему оного сменили, а времени у меня вовсе не было на сторонние разработки.
        • 0
          Холивар разводить действительно лучше не будем. Просто в качестве пяти копеек — мне хоумбрю хватает за глаза, радуюсь ему и горя не знаю.
  • 0
    А когда следующий code-in?
    • 0
      В следующем году, если Google не закроет программу
      • 0
        А в каком месяце?
        • 0
          Предыдущие начинались в конце ноября и до середины января вроде. Зашли бы и почитали FAQ на сайте.
  • +6
    Не переводятся на земле русской таланты :)
    • +9
      Почему, очень даже переводятся:) Прямо из Москвы в Калифорнию) точнее перевозятся…
    • +5
      Нарываюсь на минусы путinботов. Но замечу – автор из Киева. Наверно вы хотели сказать „на руси“, верно?
  • +43
    С ужасом вспоминаю, чем занимался в 8 классе.
    • +4
      Мой 8-й класс прошел как обычно скучно: ZX-Spectrum, КР850ВМ80А, К555ИР33, КР573РФ2/РФ5, КТ556РТ4. Пока народ за амбарами пыхтел пыхтелку, я пыхтел с паяльником в руках…
    • +6
      C ужасом осознал, что уже не помню, чем занимался в 8 классе…
      • 0
        Я лишь читал книги — научную фантастику.
        Но в тот далекий 95 год и компов-то не было.
        • 0
          Мой седьмой класс был в 1987 году, и компьютеров было — море. В 1995 году уже была вин95.

          И мы закупали в техникумы и училища классы 486. Хотя дома у учеников компьютеры стояли у одного из десяти, пожалуй.
  • +1
    Поздравляю с победой!

    Вместо установок пакетов прямо в Mac OS я бы рекомендовал использовать виртуальные машины, например, Vagrant + VirtualBox.
    DMG можно создавать через Disk Utility.
  • 0
    > Можно как-то настроить действия компа при закрытии крышки?

    В самой mac os настроить нельзя. Мак бук всегда только ложится спать.
    Можно поменять способ засыпания: etherealmind.com/osx-hibernate-mode/ (думаю критично, если у тебя ssd)

    Есть 3rd party утилиты, которые не дают уснуть:
    www.ehow.com/info_12019890_can-set-macbook-nothing-close-lid.html
  • +6
    Немного оффтопик, но черт побери, я почку отдам, чтобы познакомиться с этим «Дмитрием» из топика. Тот, который про автономную машинку рассказывал. Правда.
    Я все больше кручусь в этой сфере и работать над гугл машинкой было бы венцом всех моих желаний.
  • +29
    Школота на хабре!!!11

    Шутка. Молодец! Завидую!
    • +3
      моя школьная жизнь проходила иначе
      за голову я взялся гораздо позже

      за парнишку гордость аж берет, ты просто молодец! двигай дальше, жизнь у тебя будет просто замечательной!

  • +1
    Гении на хабре (с)
  • +1
    Автор молодец. Что в восьмом классе, что сейчас в 21 год, занимаюсь всякой ерундой массу своего времени.
  • +3
    Илья, отлично! Поздравляю с победой! Молодец!
  • +4
    Передавай большое спасибо маме, что довезла и обеспечила тебя!
    • 0
      Тонко.
  • +4
    Автор молодец, что ж ещё можно сказать.

    Хотелось бы немного предостеречь желающих работать в Гугле — это уже большая компания, со всеми вытекающими.
    • 0
      С какими вытекающими? (:
    • 0
      Можно подробнее, что не так с большими компаниями?
      • +3
        Вероятно имеется в виду бюрократизация, внутренние политические игры и т.п.
        По факту, очень зависит от конретного отдела куда попадешь. И перейти в другой отдел, когда уже находишься внутри компании, проще.
      • +2
        Бюрократия и медленный карьерный рост? ;)
      • +4
        С ними всё так, вопрос в том, будет ли вам (хабраюзерам, комментариям этого топика и т.д.) комфортно в них работать. Это больше вопрос личных предпочтений. Но если вы ожидаете, что внутри Гугла атмосфера стартапа — это не так.

        Я работал в огромной компании, мирового лидера с одной из сфер софта для операторов связи. Классическая вертикальная организация управления, между мной и CEO было сильно чуть ли не больше 15 уровней разных менеджеров. Пытались делать матриционную структуру, тоже фигня какая-то получалась. Даже те, кто сидели в одном небольшом московском офисе, но были в разных отделах, были вынуждены использовать бюрократические процедуры, вместо того, чтобы попросить голосом сделать что либо. У менеджеров работа чисто менеджерская, профессиональный рост возможен, но он перпендикулярен росту позиций внутри компании. Взаимодействие команд — через наименьшего общего начальника, иногда он мог оказаться в другой стране. Среди софтверных компаний, куда могут захотеть пойти хабраюзеры — это старый Microsoft, туда же стремится Google из-за необходимости контролировать безумное количество сотрудников. Как отметила Julles, степень этой вертикальности в разных местах компании пока что разная. Плюсы для разработчика в такой компании — мало личной ответственности, дают задание и дают адекватные сроки, дальше работай себе и работай. Обычно такие компании делают здоровенные продукты, поэтому делать надо лишь небольшой кусочек. Далеко не всегда знаешь, что делают люди за соседними столами.

        Противоположность этому — так называемая плоская организация управления, в такой компании я работаю сейчас. Менеджеры проектов в этом случае встают на одну ступеньку с разработчиками, задача же груплидов скорее наставническая, и лишь немного организационная. Груплиды активно программируют. Их начальники (в разных компаниях будут разные звания) уже занимаются внутренней политикой, от разработчика до CEO — 3-5 уровней всего. У разработчиков много возможностей и много ответственности. Компании такого типа хотят делать много новых штук, и делать их быстро. Парню из соседнего отдела надо что-то от твоей программы? Он ножками (или по телефону, по почте, в чатике или в багтрекере) придёт к тебе и попросит это сделать, ты сам оцениваешь сроки и от своего начальника вместе с тем парнем просите только аппрува. Ну или аппрува вместе с советом, потому что груплиды — опытные разработчики, как я уже упоминал выше. Атмосфера тёплого лампового стартапа присутствует. Задерживаться на работе приходится довольно часто. Работать очень интересно. Компании с подобным устройством: Bing (да, я знаю, что это MS, но по факту это отдельная контора со своими правилами), Amazon Web Services, наверное Facebook. Яндекс :) Плакатик из сувенирного магазинчика Фейсбука гласит «move fast and break things».

        Как я уже написал в самом начале этого комментария, большая компания — это не хорошо и не плохо. Рекрутеры из Амазона рассказывали мне, что часть людей, работавших в старом МС, приходили к ним и вернулись обратно в МС, потому что им не пришёлся по душе стиль работы в горизонтальных компаниях. Лично мне кажется, что вертикальные компании подходят лучше для семейных людей и тех, кто не особо любит общаться с окружающими.
  • +8
    Автор молодец! Приятно посмотреть на улыбающееся лицо на фоне СФ! :)
    Родители молодцы, что стимулировали сына учить английский до уровня, когда в 8-м классе может вполне свободно общаться и поддерживают программистские начинания!
    Успехов!!! :)
  • 0
    Поздравляю и желаю дальнейших успехов!
  • +4
    Молодец! Главное — не зазвездеться. Это может просто выбить почву и объективность взглядов. От этого никто не застразован. Я считаю это важным. Я бы зазвезделся точно)
  • НЛО прилетело и опубликовало эту надпись здесь
    • +1
      13 лет хватит. В период полового созревания мозг лучше усваивает инфу, не знаю почему. Но я начал именно в это время и уже через 2 года отлично разбирался в веб-программировании. Детей своих, думаю, постараюсь также прокачать.
      • +4
        Лучше одиннадцать. В период полового созревания появляются левые мысли, и если я в 11-12 думал только о программировании, то потом…
  • 0
    Теперь, когда вы побывали в Сан Франциско, вы все еще считаете, что вас так просто не уговорить уехать, если пригласят? Или Гуглу удалось пошатнуть патриотизм? ;)
  • 0
    Круто, главное запал не растерять.
    Я в 9...10 классе хотел БЧПР делать и готовился к поступлению в МГТУ, ездил на всякие «Шаг в будущее», но чето как то не сраслось с роботами (не малую роль тут сыграли вылазки с друзьями на природу и прочие сомнительно-подрастковые развлечения)… Может даже и к лучшему, имхо найти работу с такой профессией не просто в России.
  • –1
    Почему все айтишники на этих фото так ужасно выглядят?
    А парня жалко. Детство потом уже будет не вернуть)
    • +2
      Может потому что они гики высокого уровня, при этом не получают зарплату превышающую среднюю по стране в 10раз? И что значит плохо?
  • +1
    Молодец. Только теперь главное не расслабляться и продолжать выигравать.
    Этим ты поднимаешь любого из нас в глазах IT гигантов.
    Под «нами» имею ввиду русских, украинцев, даже чехов — по моему, кажемся одинаковыми в их глазах :-)

    PS и налегай на спорт — здоровье в 11 классе и на первых курсах необходимо.
    • +2
      Хожу в зал и играю в футбол
  • 0
    На 7 фотографии Shawn Pearce в google glass. Интересно, он их как-то задействовал во время своего выступления?
    • 0
      Да. Он сфотографировал нас и расшарил со Stephanie. Как-то так:

      ok glass take a photo
      ok glass share with Stephanie Taylor

      Еще было несколько прикольных моментов такого рода
  • 0
    Ну наконец-то дождался статьи! )
    Поздравляю ещё раз, так держать!
    • 0
      Спасибо!
  • 0
    Да, новое поколение растет. у меня был только спектурм 48К 5 классе.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.