Отчет с финала 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!
    Метки:
    Поделиться публикацией
    Комментарии 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
                                            Передавай большое спасибо маме, что довезла и обеспечила тебя!
                                          • +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
                                                                      Да, новое поколение растет. у меня был только спектурм 48К 5 классе.

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