На качество моего кода можно посмотреть на https://github.com/ tilarids, хоть там и не лучшие образчики.
Теперь про программирование в движении. Написание кода происходит не тогда, когда вы стучите по клавиатуре и код появляется на экране. Процесс созидания идет у вас в голове, причем хороший инженер одновременно удерживает в голове и созидаемый код, и машину, на которой этот код будет работать, да еще и постоянно прогоняет код через машину. Поэтому для того, чтобы писать хороший код, вам действительно нужно спокойствие, но спокойствие в вашей собственной голове. Нужно сконцентрироваться, отбросить лишние раздражители, оставить себе только то, что важно в этот момент.
Каждый человек достигает концентрации внимания разными способами, например можно запереться в комнате без внешних раздражителей, можно научиться медитации у йогов, некоторым помогает кофе, никотин и витаминки-ноотропы. Мне же достаточно музыки в наушниках. Как научиться этому? Пробовать разные варианты и развивать концентрацию внимания постоянными тренировками. Не сдаваться, упорствовать. Все.
Путь в Google у меня занял очень много времени, собеседования приходилось переносить из-за путешествий, я хотел работать в Mountain View и, соответственно, получал рабочую американскую визу, а потом ждал до осени, чтобы ею воспользоваться. В итоге впервые мне написал рекрутер из Google в мае 2012-го, а первый рабочий день был в октябре 2013-го. Впрочем, моя ситуация — это скорее исключение, и я был совсем не против потратить побольше времени на путешествия. Тем более что весь процесс никак не мешает ни работе, ни жизни. Все собеседования интересные, хорошо подготовленные, и мне доставляло удовольствие простое участие в процессе.
О том, как проходят интервью в Google, написано уже очень много, но если кратко, то пришлось пройти несколько созвонов с рекрутером (организационные вопросы), несколько телевидеофонных интервью (алгоритмы, общие вопросы) и один onsite-визит — пять интервью подряд по алгоритмам, общим вопросам и дизайну систем. Логических задачек, вопросов про круглые люки, а также тестов по особенностям языков программирования на интервью не было.
Техническая область сильно отличается от того, чем я занимался до этого. Data Analysis, Data Mining, Machine Learning, Big Data. Это очень близко по духу к академическим исследованиям, приходится читать научные статьи, а сопроводительная документация к системам сама может потянуть на статью в журнал. При этом в Google давно перебороли все акцидентные сложности, и писать код, перемалывающий гигантские массивы данных, очень легко и просто.
Если интересны технические подробности, то можно почитать недавний анонс на Google I/O 2014.
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии