Этим летом я проходил собеседование на роль Software Engineer в Google Zürich. Процесс меня приятно удивил - оказалось, что алгоритмическим задачкам отводится не так уж много времени, а такие важные области как software engineering и software design прорабатываются весьма тщательно.
Процесс собеседования в целом
Разговор с рекрутером
После того как вы ...
Я давно не писал статей в этот блог и причиной тому был переезд. Ровно две недели назад мы выехали на нагруженной под завязку машине из Киева на запад. Четыре страны, три дня и 2200 км спустя мы приехали в Цюрих. Я работаю в Google Zürich, а мои девочки осваивают местные ...
Вчера по дороге из офиса я думал на тему "Какой совет я мог бы дать себе 20-летнему?". И вот что у меня получилось:
Развивать возможности своего тела, а не только забирать их
Больше путешествовать, чтобы терять застарелые предрассудки, открывать новые способы думать и находить новые интересные места для жизни
Активно ...
Вчера начал читать книгу Doug Lea "Concurrent Programming in Java". Пусть слово Java вас не смущает - хоть примеры в книге и написаны на Java, принципы, приемы и паттерны применимы и ко многим другим языкам.
Если вкратце, то несмотря на 1999 год выпуска и ничем не примечательное название, книга великолепна. Никакой ...
В недавнем дайджесте dou.ua я нашел ссылку на статью The care and feeding of software engineers. Название не особо впечатляло, размер статьи не очень вдохновлял, но я все же начал ее читать. И оказалось, что не напрасно. Многие фрагменты я выделил и хочу поделиться ими с вами.
О мотивации ...
19 апреля в Киеве состоится встреча с Дмитрием Шаменковым, врачом-исследователем, развивающим систему управления здоровьем. Я уже несколько лет слежу за деятельностью Дмитрия. Сначала смотрел видеозаписи его выступлений, потом прочитал книгу, а недавно участвовал в первом вебинаре по его системе.
Upd.Видеозапись встречи - "Дмитрий Шаменков о Системе Управления Здоровьем"
Краткая суть ...
После курсов AI/ML я как будто проснулся - обнаружил существование большого количества интересных полезных вещей, которые можно сделать с компьютером. И конечно же захотел их делать. И работать с людьми, которые их делают каждый день. Посмотрел что нужно знать, чтобы попать в какую-нибудь супер-крутую компанию с супер-крутыми перцами.
Get that ...
С тех пор, как мы переехали в Киев, я работаю в компании Grammarly. Это частная продуктовая компания с офисами в Киеве и Сан-Франциско. Продукты компании нацелены на улучшение англоязычных текстов (spelling-grammar-plagiarism checker, English Q&A community, English Handbook).
Я успел написать на Python/Django пару-тройку веб-приложений, а затем переключился на ...
Учиться тяжело
Хорошее обучение - это выход за границы возможного, делание того, чего не делал раньше. Можно каждый день бегать 3 километра в комфортном режиме и не особо прогрессировать (иногда это нормально, если цель - расслабление после дневной "вахты" за компьютером), а можно каждый раз стараться пробежать немного быстрее и это непросто ...
Сегодня мне очень удачно попался замечательный комментарий про ощущение себя самым умным и про то, как решать действительно сложные задачи. Эти два вопроса очень важны для меня в последнее время, поэтому воспользуюсь таким прекрасным поводом поделиться своими находками.
Быть "самым умным"
Я закончил школу с отличием. И институт тоже. Побеждал ...
Интересные ссылки
"Сядьте и пошлите резюме в Google. Или Echo. Или Oracle, прости, Господи. Получите отлуп – растите. Не получите ответа вообще – бомбите инсайдеров, спрашивайте, до какого уровня нужно развиваться, какие знания и опыт приобретать. Не хватает опыта – временно понизьте планку и устройтесь в компанию поменьше (но все равно с запросами). Это не отказ от Гугла, это – часть пути развития.
И последнее. Попробуйте не рассылать резюме в массу компаний. Просто выберите одну. Ту самую. И вцепляйтесь в нее мертвой хваткой. До победного."
Я на этой встрече буду делать короткий рассказ про опыт использования машинное обучения для сортировки n-gramms.
3 августа с 6 до 9 вечера. Лев - редактор журнала "Практика функционального программирования" и CTO компании Echo
Простое и четкое объяснение механизма __slots__ (via @raymondh)
Tom Preston-Werner (сооснователь и CTO github.com) рассказывает про git, показывая в консоли как он сам пользуется гитом. Я скоро два года как пользователь git'a, но все же узнал интересные вещи.
"The biggest rule is that the point of code review is to find problems in code before it gets committed - what you're looking for is correctness. The most common mistake in code review - the mistake that everyone makes when they're new to it - is judging code by whether it's what the reviewer would have written."
Замечательная бесплатная Khan Academy начала издавать видео-лекции по Computer Science с примерами на Python. И как они пишут в комментариях к одному видео "Google uses it [Python] for a lot of their development (I believe it is their language of choice). Khan Academy's server side code is all Python."
"Wikipedia says software erosion is "slow deterioration of software over time that will eventually lead to it becoming faulty [or] unusable" and, importantly, that "the software does not actually decay, but rather suffers from a lack of being updated with respect to the changing environment in which it resides."
Если еще не читали 2 статьи на близкую тему в блоге Ивана Сагалаева, рекомендую прочитать: Вместе или врозь, Вместе или врозь: новая идея
А вот и видео с DjangoCon Europe подоспели. Их по традиции выложили на blip.tv (в отличии от Europython, которые выложили на амазоновский cloudfront).
Видеозаписи выложены на страничках с выступлениями. (via reddit)