Читаем Отъявленный программист: лайфхакинг из первых рук полностью

Пытаясь вывести некое руководство к действию, я бы резюмировал положение дел так: если вы уверены в себе как в специалисте, то есть имеете за плечами реальный опыт, а не только самомнение, и переживаете исключительно за факторы везения и удачи (а они, конечно, играют немаловажную роль), имеет смысл попробовать. Если к тому же вы молоды, то попробовать стоит обязательно! В плане денег это не будет стоить ничего, но взамен вы получите бесценный опыт. И если для айтишников-американцев трудоустройство в Google — это просто приятный бонус, то для жителей экономически депрессивных регионов, в частности некоторых стран Восточной Европы и Азии, это может радикально изменить их жизнь. Имея большие мотивы, они, как правило, прикладывают гораздо большие усилия, что очень хорошо видно по итоговой статистике трудоустройств.

(После паузы.)

Честно говоря, считаю все, что я посоветовал в этом ответе, отчасти бессмысленным (загадочно улыбается).

На самом деле люди, с которыми я работаю, делятся на две противоположные категории. Самооценка одних останавливает и всячески тормозит их, в конечном счете они не сделают даже, как им кажется, одной жалкой попытки (вне зависимости от их объективного уровня подготовки). Другие, что бы я ни бухтел здесь о шансах в 0,2 %, рассуждают про себя примерно так: «О’кей, настало время поразмять мозги, покажу-ка я этим засранцам из Google, как это делается» (опять же, вне зависимости от их реальных способностей). Чаще всего именно эта последняя категория (на пару с госпожой удачей) все и решает. Все остальные просто трезво оценивают свои шансы.

Тем не менее есть объективные шансы, чисто математическая вероятность показывает, что…

(Перебивает.) Хотите совет не только по Google?

В жизни нужно оценивать не абстрактные математические шансы, ведь, несмотря на все ваши «трезвые оценки», туда ежегодно устраиваются толпы, поверьте, вполне заурядных программистов.

Черт, с моим подходом что-то не так? Кто все эти люди? (Джон вскакивает, шутя изображая меня, пародируя крайнее недоумение.)

(Присаживается и продолжает серьезно.) На самом деле в любом проекте имеет смысл оценивать лишь проходные минимумы. У вас есть английский, у вас есть какой-то опыт, вы уверенно пишете код? — тогда нужно действовать, по возможности не спотыкаясь о свои же дурные мысли. Мяч круглый, игра длится 45 минут — это факты, все остальное — только ваши домыслы и ожидания.

Трудитесь, развивайтесь, верьте в себя. Область видимости локальных переменных в вашей жизни ограниченна, вы не можете принять правильное решение в принципе. Поэтому расслабьтесь, у инкапсуляции есть свои плюсы. Лучше сделайте свою часть работы на максимуме, а дальше, как советует инсталлятор Windows, «откиньтесь на спинку кресла и дождитесь результата».

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

Вот лишь несколько случайно отобранных вопросов.

• Что лучше использовать при реализации хэш-таблиц: дихотомии или сортировки?

• Почему для сортировки маленьких объемов данных используют алгоритм сортировки вставкой?

• Почему алгоритм сортировки слиянием быстрее других видов сортировки для больших объемов данных?

• Когда и где выгодно использовать связанный список, а когда — обычный динамический массив?

• Пожалуйста, проведите оценочный подсчет примерного количества переключений контекста процессов (context-switch) в течение одной секунды в современной ОС, работающей на процессоре с частотой 2 ГГц.

• В чем принципиальное отличие реализации Сuckoo hashing от стандартных хэш-таблиц?

• Что такое «Cache Hit Rate»?

• У вас есть миллион телефонных номеров. Каждую секунду у вас просят подсказать номер по фамилии абонента. Как бы вы реализовали программную систему для решения этой задачи? Обоснуйте, почему это самое эффективное решение из всех.

Очень много заданий построить максимально удобную и продуманную структуру данных (либо структуру классов) к какой-то конкретной задаче/ситуации. Много качественных вопросов (заданий) можно найти в секции «Алгоритмы» известного программистского сайта TopCoder. Все участники этого сайта, имеющие рейтинг «красного цвета», буквально завалены в своих инбоксах предложениями о работе от ведущих ИT компаний мира.

В завершение этого большого интервью мой финальный вопрос: что советуете отвечать своим клиентам на частый вводный вопрос первичного интервью: «Почему вы хотите работать именно в Google?»

Перейти на страницу:

Все книги серии Библиотека программиста

Программист-фанатик
Программист-фанатик

В этой книге вы не найдете описания конкретных технологий, алгоритмов и языков программирования — ценность ее не в этом. Она представляет собой сборник практических советов и рекомендаций, касающихся ситуаций, с которыми порой сталкивается любой разработчик: отсутствие мотивации, выбор приоритетов, психология программирования, отношения с руководством и коллегами и многие другие. Подобные знания обычно приходят лишь в результате многолетнего опыта реальной работы. По большому счету перед вами — ярко и увлекательно написанное руководство, которое поможет быстро сделать карьеру в индустрии разработки ПО любому, кто поставил себе такую цель. Конечно, опытные программисты могут найти некоторые идеи автора достаточно очевидными, но и для таких найдутся темы, которые позволят пересмотреть устоявшиеся взгляды и выйти на новый уровень мастерства. Для тех же, кто только в самом начале своего пути как разработчика, чтение данной книги, несомненно, откроет широчайшие перспективы. Издательство выражает благодарность Шувалову А. В. и Курышеву А. И. за помощь в работе над книгой.

Чед Фаулер

Программирование, программы, базы данных / Программирование / Книги по IT

Похожие книги

Ведьмак. История франшизы. От фэнтези до культовой игровой саги
Ведьмак. История франшизы. От фэнтези до культовой игровой саги

С момента выхода первой части на ПК серия игр «Ведьмак» стала настоящим международным явлением. По мнению многих игроков, CD Projekt RED дерзко потеснила более авторитетные студии вроде BioWare или Obsidian Entertainment. Да, «Ведьмак» совершил невозможное: эстетика, лор, саундтрек и отсылки к восточноевропейскому фольклору нашли большой отклик в сердцах даже западных игроков, а Геральт из Ривии приобрел невероятную популярность по всему миру.Эта книга – история триумфа CD Projekt и «Ведьмака», основанная на статьях, документах и интервью, некоторые из которых существуют только на польском языке, а часть и вовсе не публиковалась ранее.В формате PDF A4 сохранен издательский макет книги.

Рафаэль Люка

Хобби и ремесла / Зарубежная компьютерная, околокомпьютерная литература / Зарубежная прикладная литература / Дом и досуг
Оптимизация BIOS. Полный справочник по всем параметрам BIOS и их настройкам
Оптимизация BIOS. Полный справочник по всем параметрам BIOS и их настройкам

Прочтя эту книгу, вы узнаете, что представляет собой BIOS, какие типы BIOS существуют, как получить доступ к BIOS и обновлять ее. Кроме того, в издании рассказано о неполадках в работе BIOS, которые приводят, например, к тому, что ваш компьютер не загружается, или к возникновению ошибок в BIOS. Что делать в этот случае? Как устранить проблему? В книге рассказывается об этом и даже приводится описание загрузки BIOS во флэш-память.Также вы научитесь использовать различные функции BIOS, узнаете, как оптимизировать их с целью улучшения производительности и надежности системы. Вы поймете, почему рекомендуемые установки являются оптимальными.После прочтения книги вы сможете оптимизировать BIOS не хуже профессионала!Книга предназначена для всех пользователей компьютера – как начинающих, которые хотят научиться правильно и грамотно настроить свою машину, используя возможности BIOS, так и профессионалов, для которых книга окажется полезным справочником по всему многообразию настроек BIOS. Перевод: А. Осипов

Адриан Вонг

Зарубежная компьютерная, околокомпьютерная литература / Программирование / Книги по IT
Тайны и секреты компьютера
Тайны и секреты компьютера

Эта книга предназначена для тех, кто самостоятельно осваивает мир информационных технологий. Программирование в среде Microsoft Office, устройство сетей Internet и Fidonet, работа системы электронной почты, структура системного реестра Windows и файловой системы, строение жидкокристаллических дисплеев и проблема наличия различных кодировок русского языка, — про все это рассказывается в ней. Многообразие тем и легкий стиль изложения сделают ее вашим спутником на долгое время, и вы всегда сможете найти в ней нужную именно в данный момент информацию.Если Вы интересуетесь компьютерными технологиями, желали бы расширить свои знания и умения в этой области, то она Вам наверняка понравится.http://comptain.nm.ru

Антон Александрович Орлов , Антон Орлов

Фантастика / Фэнтези / Прочая компьютерная литература / Книги по IT / Зарубежная компьютерная, околокомпьютерная литература
Компьютер для тех, кому за…
Компьютер для тех, кому за…

В наш век высоких технологий без компьютера не обходится практически ни один человек. Но что делать, если вам уже за…, а компьютер вы так и не освоили? Не стоит отчаиваться! Эта книга была написана специально для тех, кто по каким-то причинам не смог освоить его раньше. Легким и доступным языком в книге изложены основные принципы работы на компьютере. Вы узнаете, как создать документ в текстовом редакторе, выстроить таблицы и диаграммы в экселе, освоите графический редактор, который позволит вам рисовать и редактировать фото и рисунки, научитесь самостоятельно подключать принтер и печать, общаться с родными и друзьями по скайпу и ICQ, узнаете, какие бывают игры, как выбрать игру для себя, и многое-многое другое.Никогда не поздно осваивать что-то новое! А уж тем более — компьютер. Он откроет вам целый мир безграничных возможностей. Не упустите свой шанс узнать что-то новое и интересное — дайте компьютеру прочно войти в вашу жизнь. Ведь пользоваться им так же просто, как и обычным телефоном, только в тысячу раз интереснее!

Оксана Грибова

Зарубежная компьютерная, околокомпьютерная литература / Интернет / Программное обеспечение / Прочая компьютерная литература / Книги по IT