Интеграция в Швейцарии. Языки.

Наши первые месяцы жизни в Швейцарии были чрезвычайно насыщенными - нужно было учить языки, учиться все бытовым мелочам заново, искать жилье, изучать технологии Google, разбираться с местными языками, городом, горами, регистировать машину, адаптировать детей. Сейчас уже значительно спокойнее, но всё равно очень много времени уходит на интеграцию. Чего всё еще сильно не хватает, это языков. Я изучал немецкий в школе, но как и многие пост-советские школьники, не считал владение иностранным языком чем-то полезным или вообще реальным, а поэтому запомнил только пару десятков фраз, несколько сотен слов и пару грамматических правил. По приезду в Цюрих я мог лишь с большим трудом разбирать простые вывески, а даже перевод небольшого письма требовал долгого сидения со словарем. Спасало то, что Цюрих - интернациональный город, где многие говорят по-английски.

Читать дальше →

Блог переехал на GitHub Pages

Наконец-то я нашел свободный день и перенес блог из самописного Django приложения на GitHub Pages. Теперь все посты хранятся в системе контроля версий, а при каждом их обновлении весь сайт генерируется и дальше отдается как набор статических страниц.

Прочитать про то, как это сделать, можно найти на сайте GitHub Pages, а посмотреть как у меня сконфигурирован этот сайт можно в git репозитории vorushin.github.io. Вот, например, исходник этого поста.

Мой опыт собеседования в Google

Этим летом я проходил собеседование на роль Software Engineer в Google Zürich. Процесс меня приятно удивил - оказалось, что алгоритмическим задачкам отводится не так уж много времени, а такие важные области как software engineering и software design прорабатываются весьма тщательно.

Читать дальше →

Я работаю в Google Zürich

Я давно не писал статей в этот блог и причиной тому был переезд. Ровно две недели назад мы выехали на нагруженной под завязку машине из Киева на запад. Четыре страны, три дня и 2200 км спустя мы приехали в Цюрих. Я работаю в Google Zürich, а мои девочки осваивают местные детские площадки, зоопарк и прочие гулятельные места.

Читать дальше →

Какой совет я мог бы дать себе 20-летнему?

Вчера по дороге из офиса я думал на тему “Какой совет я мог бы дать себе 20-летнему?”. И вот что у меня получилось:

  1. Развивать возможности своего тела, а не только забирать их

  2. Больше путешествовать, чтобы терять застарелые предрассудки, открывать новые способы думать и находить новые интересные места для жизни

  3. Активно искать умных деятельных людей и общаться с ними, вдохновляясь на развитие и активность в новых для себя областях

А если бы я советовал себе 10-летнему, то первый пункт стоит заменить на “Ищи хорошего учителя боевых искусств”.

Еще одна отличная книга, "Doug Lea, Concurrent Programming in Java"

Вчера начал читать книгу Doug Lea “Concurrent Programming in Java”. Пусть слово Java вас не смущает - хоть примеры в книге и написаны на Java, принципы, приемы и паттерны применимы и ко многим другим языкам.

Если вкратце, то несмотря на 1999 год выпуска и ничем не примечательное название, книга великолепна. Никакой воды, очень плотный текст. Как будто читаешь связанную серию статей (papers) очень сильного ученого.

А вот отзыв Steve Yegge, из-за которого я когда-то добавил эту книгу в свой reading-list:

The best, most practical book I’ve ever personally read on the subject is Doug Lea’s Concurrent Programming in Java. It got me the most bang per page.

Читаю с ручкой в руках, многое подчеркиваю, многое снова и снова перечитываю. Книга не дает заскучать. Рекомендую!

О статье "Кормление и уход за программистами"

В недавнем дайджесте dou.ua я нашел ссылку на статью The care and feeding of software engineers. Название не особо впечатляло, размер статьи не очень вдохновлял, но я все же начал ее читать. И оказалось, что не напрасно. Многие фрагменты я выделил и хочу поделиться ими с вами.

Читать дальше →

Встреча с Дмитрием Шаменковым в Киеве

19 апреля в Киеве состоится встреча с Дмитрием Шаменковым, врачом-исследователем, развивающим систему управления здоровьем. Я уже несколько лет слежу за деятельностью Дмитрия. Сначала смотрел видеозаписи его выступлений, потом прочитал книгу, а недавно участвовал в первом вебинаре по его системе.

Upd.Видеозапись встречи - “Дмитрий Шаменков о Системе Управления Здоровьем”

Читать дальше →

Что у меня нового

После курсов AI/ML я как будто проснулся - обнаружил существование большого количества интересных полезных вещей, которые можно сделать с компьютером. И конечно же захотел их делать. И работать с людьми, которые их делают каждый день. Посмотрел что нужно знать, чтобы попать в какую-нибудь супер-крутую компанию с супер-крутыми перцами.

Get that job at Google. Сколько тут незнакомых вещей!!! Меня никогда не возьмут в Гугл! Надо было учиться не на инженера-электрика в маленьком вузе, а на software engineer в Стэнфорде!

Ну ладно, ладно, вдруг все не так печально.

Читать дальше →

Grammarly, ищем Natural Language Processing Engineer

С тех пор, как мы переехали в Киев, я работаю в компании Grammarly. Это частная продуктовая компания с офисами в Киеве и Сан-Франциско. Продукты компании нацелены на улучшение англоязычных текстов (spelling-grammar-plagiarism checker, English Q&A community, English Handbook).

Читать дальше →

Сложности обучения

Учиться тяжело

Хорошее обучение - это выход за границы возможного, делание того, чего не делал раньше. Можно каждый день бегать 3 километра в комфортном режиме и не особо прогрессировать (иногда это нормально, если цель - расслабление после дневной “вахты” за компьютером), а можно каждый раз стараться пробежать немного быстрее и это непросто - не хватает дыхания, силы ног, техники. Можно писать день за днем одни и те же сайты, что и год-два назад, а можно “влезать” в новые проекты, для которых приходится читать кучу книг, изучать новые подходы, новые разделы науки. Результаты и сроки малопредсказуемы, неопределенность - высокая. Можно читать статьи на Хабре и Hacker News (и считать что ты учишься), а можно - прорабатывать упущенные раньше фундаментальные области (например, разделы математики и computer science), читать код ведущих программистов и решать сложные задачи.

Читать дальше →

Продуктивно ли считать себя самым умным и как решать действительно сложные задачи

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

Читать дальше →

Про стэнфордские онлайн-классы

Этой осенью я обычно просыпаюсь в 5-6 часов утра, чтобы учиться в ai-class.com и ml-class.org. Позади 6 из 10-ти учебных недель. Уже десяток раз я восклицал “Ну почему же я не начал так учиться год назад?!”. Эти курсы изменили меня - открыли новые интересные предметные области и помогли вспомнить как сильно я люблю математику. Я изменил отношение к университетскому образованию и расширил набор принципов эффективного самообразования, которые собираю на протяжении семи лет.

Читать дальше →

Programmers at work (1989)

С большим удовольствием читаю книгу “Programmers at work”, выпущенную в 1989 году. Думаю, что она понравится всем тем, кому понравилась книга “Coders at work” (также известная как “Кодеры за работой”). Ниже - некоторые цитаты, которые я уже подчеркнул (а я еще в самом начале книги).

Читать дальше →

Django Dash 2011, мои впечатления

Понедельничной ночью 1-го августа, примерно в 03:30 пять человек потихоньку укладывали ноутбуки в свои рюкзаки и выходили из офиса чтобы разъехаться по домам. Кто-то на такси, кто-то на своей машине. Еще трое ушли несколькими часами раньше. Закончились двое суток напряженного труда над созданием проектов в рамках конкурса Django Dash 2011.

Я приехал домой, лег спать, а проснулся героем. За два дня наша команда сделала проект FamilyFeed, идею которого придумала моя любимая жена Яна. Ее глаза горели, я чувствовал себя суперменом после успешной битвы. Дети были счастливы, потому что счастливы их родители.

Напишу несколько важных мыслей, которые я сформулировал на основе полученного в конкурсе опыта.

Читать дальше →

Лев Валкин про Силиконовую долину

Вчера Лев рассказывал про то, что отличает Силиконовую долину от России-Украины и что нам делать чтобы появилась среда, благоприятная для стартапов.

Горизонтальная коммуникация

Первым большим сдерживающим фактором на постсоветском пространстве является остутствие горизонтальной коммункации.

Вертикальная коммуникация: разработчик - менеджер - сейлз - клиент.

Читать дальше →

Лев Валкин про ФП и Erlang

Вчера ходили с @vseloved и @matveym на выступление Льва Валкина про функциональное программирование в целом и Erlang в частности. Кратко запишу основные тезисы, которые мне очень актуальны.

Новый набор инженерных принципов, непривычных для императивных языков

Функциональные языки дают возможность поработать с другими способами построения программных систем. Эти новые способы позволяют писать лучше даже на императивных языках. Это очень важный для меня тезис. Я немного поработал с Эрлангом, когда мы работали над Рисоваськой, теперь по совету Льва я изучу Haskell.

Читать дальше →

Стоит ли мне работать руководителем?

Меня давно интересует вопрос “Стоит ли мне работать руководителем?”. В прошлую пятницу я был в Москве и разговаривал там с моим одноклассником Костей Кузнецовым. Много лет назад он был для меня проводником в мир компьютеров. Костя сам является отличным программистом, а сейчас руководит командой из 20 человек и скоро станет руководителем собственной компании. Ему это нравится. Есть хорошие руководители-предприниматели в Grammarly, кто-то с программистским опытом, кто-то без. Им тоже нравится то, что они делают. А вчера я прочитал комментарий Алексея Колупаевахороший программист и хороший менеджер - это совершенно разные люди”, который стал последней каплей в этом вопросе.

Читать дальше →

Неопределенность и страх

Вчера начал работать над новым большим проектом. В нем понятно что нужно получить на выходе, но совершенно не понятно как это сделать. Очень много нетехнических задач, исследований, экспериментов. И я чувствую страх. Страх, что “вот, блин, непонятно что-именно программировать, нужно самому все придумывать”.

Но у меня есть опыт таких проектов, и я помню, что они становятся очень интересными, когда появляется драйв и личная заинтересованность в том, что ты создаешь. Неинтересно устранять неопределенность в той области, которая тебя не интересует. Потому что в этом случае эта неопределенность становится безразличностью. А неопределенность в любимой области называется свободой!

А еще заинтересованность и горящие глаза обычно помогают находить единомышленников.

Django Dash 9-10 июля

Django Dash - международный конкурс, в котором компактные спецназ-команды за 48 часов создают полноценный проект. Правила простые:

Читать дальше →

Страница: 1 из 4