Pull to refresh

Comments 63

Баян бородатый как я. Реальные проблемы сотрудников Гугл:
1. «Руководство сотрудников» занимает больше одной страницы.
2. Когда я работаю из дома, мне приходится самому готовить себе завтрак, обед и ужин.
3. Я не чувствую разницы между настройками массажного кресла.
4. Выбор классических игровых автоматов в нашем здании ограничен, приходится идти в другой корпус.
5. Я толстею из-за неограниченой бесплатной еды.
6. Cтоит мне привыкнуть к выданному компанией телефону, как они раздают нам новую модель, и мне приходится учиться по-новой.
7. На обеде всю пиццу съели до меня и мне пришлось есть стейк.
8. Необходимо открыть тренажёрный зал в моём корпусе, чтобы я мог заниматься, не тратя времени на ходьбу до него.
9. Тридцатидюймовый монитор заслоняет вид на горы.
10. Выданные наушники портят мне причёску.
11. Моё рабочее место находится на одинаковом расстоянии от двух кухонь и мне приходится каждый раз решать, к какой из них идти.
12. 5 из 8-и халявных футболок, которые я получил в этом году, чёрные. Меня это раздажает. Я больше люблю синий цвет.
13. Во время корпоратива с прыжками с парашютом, нам обещали 50 секунд свободного падения, однако, просматривая видео с прыжка, я заметил, что там была всего 41 секунда.
14. Иногда, когда я иду за каким-нибудь напитком на кухню, оказывается, что их только что загрузили в холодильник, и бутылки не успели как следует остыть.
15. Диван в моём кабинете недостаточно длинный, чтобы вытянуться на нём во весь рост.
16. Из-за бесплатной еды в Гугл, мне уже чуть ли не год не доводилось ничего готовить и мои навыки в кулинарии страдают.
17. Когда я путешествую за счёт компании в другие офисы, еда в тамошних кухнях оказывается незнакомой и я не знаю, что мне выбрать.
18. Я обгорел на нашем корпоративе на море.
19. Мел для бильярдных киев не подходит по цвету к сукну на столе.
20. Я так наедаюсь во время завтрака, что не успеваю как следует проголодаться к обеду.
21. В игровой комнате у нас всего один бинбэг, так что мне пришлось сидеть на стуле, играя в Call of Duty.
22. Мы построили из мебели катапульту, но потолок оказался слишком низким, чтобы запускать апельсины на расстояние больше 45 метров.
23. По утрам я не могу любоваться на Харбор-бридж из-за того что над Сиднеем восходит солнце и мне приходится закрывать жалюзи.
24. Я не получал халявных футболок уже 3 месяца.
25. Повар, готовящий суши, не положил достаточно соуса аиоли в крабовый ролл.
0) 5-7 часов с маркером у доски решать алгоритмические и олимпиадные задачки. 15 минут на каждую. Завалил? Гуляй.

Это относится к соискателям, а не к сотрудникам гугл)

Я обгорел на нашем корпоративном море.
UFO just landed and posted this here
«при эвалюации их диплома в США» — 26. май найтив рашн воз истремли руинд.
  • L3: Software Engineer II
  • L4: Software Engineer III
  • L5: Senior Engineer
  • L6: Staff Engineer
  • L7: Senior Staff Engineer
  • L8: Principal Engineer
  • L9: Distinguished Engineer
  • L10: Google Fellow
  • L11: Senior Google Fellow(Jeff Dean)
Для Джеффа создали даже отдельную должность. Интересно какой у него тотал инкам в год? Миллонов 10?
Практически никто не пишет про возраст. Как дела обстоят с наймом 30-35-40-45-летних программистов/дизайнеров?
На возраст здесь мало кто смотрит. Другой вопрос, что в 45 не многие сами хотят переезжать.

Зачем гуглу было брать ждуниора?
Выглядит как ложь.

Но все знают, что в штаты зовут раьотатьн только звезд. По крайней мере из России

В Штаты зовут работать тех, кто проходит собеседования и получает визу.

Возможно, те, кого вы считаете звездой, по их меркам всего лишь начинающий, а настоящих звёзд вы и не видели? ;)

По опыту, если человек получил хотя бы половину того, чего ему учат в российских универах(хотя бы, топ-50, шараги не смотрим) — он в США уже будет звездой. Редко кто из американских программистов способен даже взять интеграл в комплексной плоскости.
Можно ничего не уметь, сидеть в пабликах, хабрах и пилить формочки, кто же спорит. Только студенты всегда выполнят с тем же качеством и дешевле.
Лично мне на работе не реже одного -двух раз в месяц приходится активно применять среднюю(вроде того же интеграла по контуру), а, иногда, даже совсем высшую(Например, знание свойств класса сложности Артур-Мерлин недавно помогло выбрать верное решение задачи) математику, да и человек без знания функана, дифуров, топологии всегда в программировании будет одноруким — ни топологию узлов алгоритма спроецировать хорошо для оптимизаций, ни свести минимизацию разницы импульсной функции к интегралу по комплексной переменной.
По личному опыту — когда начиная с тридцати лет я стал перепроходить базовые университетские дисциплины по открытым курсам MIT, то как же я был удивлен, что в наших вузах изучают только половину того, что у них считается базой. Я почувствовал себя обкраденным, какой бы предмет не переизучал. В линейной алгебре мы не дошли даже до eigenvalues/eigenvectors, в статистике нам не давали логический вывод. Я не говорю о том, что в американских вузах благодаря рыночному элементу плохие преподы отсеиваются (к ним никто не записывается -> значит они плохо объясняют -> надо заменить).
Собственные числа проходят даже в педах на «Высшей математике»(оба педа в глубинках, с выпускниками которых я знаком, в этом замечены), не говоря уж про мат. школы. Причем, даже в непрофильных вузах, проходят вполне на том же уровне, как и в MIT; среднестатистический выпускник более-менее осознает и Жордановы матрицы, и в каких полях они существует(а вот выпускник Стэнфорда по математической специальности при мне когда-то был в шоке от алгебраических замыканий полей Галуа? необходимых для построение Жордановой формы). А над «рыночными элементами» смеется тот, кто знает элементы теории игр.
Насчет «базовых курсов» — не знаю, но просмотренный мной MIT 6.002 Circuits and Electronics не лучше и не хуже нашего (правда, у нас это бло три или четыре предмета)
Джун с фундаментальной теоретической и математической подготовкой — это хорошо для Гугла.
А то я видел людей, «знающих» по нескольку фреймворков, но при этом творивших невероятную дичь в структуре и алгоритмах.
Наподобии
image

На картинке релиз обновления к ютубу

Я знаю очень много программистов в вебе, которые ни структур данных, ни алгоритмов не знают, что не мешает им работать Мидлами в Booking, Uber и Siemens. Все зависит от круга задач. Да и вообще, как по мне, нанять программиста с живым умом и нестандартным подходом, гораздо дальновиднее, чем нанять зубрилу-математика.
«нестандартный подход» — это очень, очень хороший эвфемизм :)
Немного в поддержку человека выше.

«97 вещей, которые должен знать каждый программист» -> «Заботьтесь о коде» — «Чтобы стать хорошим программистом, недостаточно быть хорошим техническим специалистом. Я видел много программистов, способных
реализовать алгоритмы очень высокой сложности и знающих стандарты языков назубок, но при этом писавших полный ужас, который было
больно читать, больно использовать и особенно больно изменять. И я видел более скромных программистов, не уходивших далеко от
простых конструкций, но при этом пишущих элегантные программы, с которыми приятно иметь дело в дальнейшем.»

Автор — www.goodliffe.net

Читать книги по алгоритмам нужно, но это такой же шаг вперед как и изучение фреймворков с которыми работаешь каждый день. Эти направления не исключают друг друга, а хорошо дополняют. Но у первого есть большой плюс, оно редко меняется :)
Эвфемизм для чего? Я ничего другого там не подразумевал. Есть люди, которые думают тем, что вычитали из книги/интернета/конспекта/речи преподавателя/речи другого человека. А есть люди, у которых даже при наличии готового «лучшего» алгоритма, есть идеи как сделать что-то по-своему. Лучшие решения — это не «лучшее» существующее решение. Лучшие решения — это те, что появляются после 10 неправильных новых, и одиннадцатого правильного, того самого нового лучшего решения. Так что лучше нанять не того, кто знает «всё», а того, кто скажет: «я бы сделал так...».
Для чего эвфемизм? Ну если говорить мягко, то это «я художник, я так вижу». Если грубо, то говнокодер.

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

Сначала правила и стандартные практики — потом творчество. Но не наоборот.
То что почерпнули из книг/интернета/речи другого человека называется опытом. А тот кто при наличии готового «лучшего» решения думает что может сделать еще лучше как правило просто самонадеянный самодур. Поэтому знающий человек с опытом будет всегда лучше того, кто из-за своего самодурства начнет выдумывать, скорее всего, велосипед, потратит ресурсы, а на выходе будет пшик. Тем более знающий человек с опытом гораздо более вероятнее сможет придумать что то лучшее при необходимости, т.к. у него есть база для такого творчества.
Согласен! Причем дьявол кроется в деталях. Велосипедостроитель сначала изобретет очевидную часть алгоритма, а потом упрется в какое-нибудь ограничение, которое он не видел с самого начала, и начинает чесать репу и придумывать костыль к своему велосипеду.
Потом мы удивляемся почему нынешние системы так жрут ресурсы. А это оказывается от живого ума и нестандартных подходов. Программист без фундаментальной теоретической и математической подготовки — не более чем кодер, который без четкого структурированного понимания творит всякую дичь.
Нынешние системы жрут ресурсы из-за тонны фрейворков, которые все лепят налево-направо без разбора, не применяя и трети из того, что фреймворк предлагает. И из-за всяких умников из физ-мата, которые думают три дня, какой бы алгоритм применить вот в этом конкретном случае. И пока умники думают над алгоритмом, живой ум уже нашел простое решение, не требующее алгоритма и работающее в 5 раз быстрее. И произошло это, потому что живой ум не связан рамками, а при правильном контроле и развитии, может творить вещи, которые форматированные бошки с базовой математической подготовкой даже подумали бы сотворить, потому что зачем что-то творить… вот оно всё есть, все готово.
И за примером далеко ходить не надо. Пора все пыхтели над алгоритмами, способами увеличить производительность, думали и разрабатывали концепты, дядя с нестандартным умом взял и придумал PHP, который завоевал мир.
Как то не соглашусь. «Живой ум» без соответствующего образования и прям чудеса творит. Может тогда и вышку отменить? Зачем она такая, если по вашему мнению все только портит. Глупости. Просто иногда среди «живых умов» попадаются в принципе талантливые люди, потому и результат выходит толковый. Если бы такой ум еще и обучить, то получилось бы еще лучше. Не стоит противопоставлять систематическому обучению его отсутствие с надеждой что дескать стрельнет. В большинстве случаев стреляет в ногу.
Про PHP вообще какая ересь написана. Кто где и над чем пыхтел? С чего взяли что дядя был с нестандартным умом? Кстати, нестандартный ум все таки вещь полезная, в отличие от упомянутого «живого». Дядя же по сути лишь дал толчок к развитию некой концепции (не было бы конкретного дяди — появился бы другой), развитием которой занимались другие люди и они первым же делом полностью переписали то что наваял дядя. Далее именно их труды определили современный облик PHP. Потом эти же товарищи переписывали уже свою работу, что нормально, т.к. это процесс развития, он всегда итерационный. В общем пример явно никуда не годится.
«Живой ум» без соответствующих знаний действительно может наделать дел, еще и похуже, чем «неживой». Поэтому где-то в середине своего комментария я упомянул про контроль и развитие. Вопрос лишь в том, надо ли для этого идти в универ и получать образование.
да, «пока умники думают над алгоритмом», «живой ум» уже сделал привычный цикл «х**к, х**к, и в продакшн!»©…
Без опыта работы сразу в Гугл…
Вопрос не раскрыт. :)
Слышал похожую историю про чувака из Яндекса. Никак не могу понять, как это вообще возможно
А в чем проблема-то? Как раз крупные компании могут себе позволить нанимать джунов и растить из них специалистов внутри себя. Поэтому у них обычно есть всякие программы стажировок, они ведут какие-то свои курсы для начинающих, читают лекции в вузах и везде выискивают тех, кто еще может не имеет опыта, зато имеет потенциал.

Это обычно мелкие конторы и стартапы заинтересованы исключительно в «senior full-stack super-star ninja developer» так как просто не могут себе позволить держать в штате джунов, от которых вреда первое время больше чем пользы. Нет у них на это денег, чтобы держать «лишних» людей, от которых нет сиюминутной выгоды. А у гугла, яндекса и прочих гигантов — есть.

Это своего рода венчурное финансирование, только не проектов а людей.

Тогда бы все джюны уезжали туда

Далеко не все готовы к переезду. Далеко не все джуны тянут на тот уровень джунов который нужен таким компаниям (все-таки не идет речь о том что они берут кого ни попадя).

Да и честно говоря вот я бы лично не хотел работать в гугле. Зарплаты там вроде вполне средние, халявная еда и соцпакет есть и без них много где. При этом судя по статьям тут же на хабре там все фанаты переработок, при этом ты там — крохотный винтик в огромной системе, не чувствующий толком вклада в эту систему. Помню писали тут про какого-то спеца из гугла, который ушел оттуда после того, как за год работы до продакшена добрались только две строчки его кода, или типа того.

В общем гугл и подобные компании — далеко не предел мечтаний для многих людей.

Зарплаты средние? Среди кого это средняя суммарная зарплата составляет под $300k в год?

Они отшвыривают откровенно крутых опытных программистов, которые не обладают телепатией для разбора абстрактных бредовых вопросов.
Зачем отказываться от Ferrari и идти выбирать Fiat, только лишь потому, что у тебя есть возможность довести Fiat до уровня Ferrari за несколько лет?

Зачем отказываться от Ferrari и идти выбирать Fiat, только лишь потому, что у тебя есть возможность довести Fiat до уровня Ferrari за несколько лет?

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

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

Вы, наверно, плохо знакомы со спецификой наема в Гугле. Я вам тут на Хабре смогу найти добрую сотню реально крутых зубров, которых отшвырнул Google.
Если отбросить скромность, то вот вам я. Гуглу не надо за мной стоять в очереди. Человек, который меня там побеседовал даже не знал, про существование DF и MF флагов. Он не знал, что такое диссекция протокола и где и как она делается. Я все это ему рассказывал. Рассказывал очень глубоко. Не только сети. Я даже по памяти назвал файл в ядре линукса, где надо поменять строку, чтобы нерутом биндиться на порты ниже 1023. Не облажавшись вообще нигде, так как досканально знал все, о чем говорил.
Не взяли… При этом меня ждут кучу компаний типа Checkpoint, JFrog и израильская разведка 8200 (я в Израиле живу). Вы знаете сколько таких, как я у них сколько таких, как я у них в очереди? Тысячи! Может десятки тысяч. Нет очереди за Ferrari. Нет дифицита для Гугла. И не нужны им джуны, которым против сениоров вообще нечем крыть, кроме зарплаты и свежести воспоминаний высшей математики.

Не думаю. По нескольким причинам:


  1. Отказали с формулировкой "были более сильные кандидаты".
  2. Одобренная зарплата (42k шекелей) значительно превышает уровень сениоров на рынке (30-35k)
  3. Компания позиционирует себя как дающая сложные задачи для крутых. Там даже Джеффу Дину место нашлось. Что уж говорить про посредственности вроде меня.

Но мне бы хотелось почесать свой ЧСВ думая, что ваша версия — есть причина))))

Думаю классическая ошибка соискателей — это отсутствие большого опыта с динамическим программированием, т.к. оно полезно только на олимпиадах и собеседовании в гугл.
Вариантов, на самом деле, тут два:
1. Ошибка рекрутинга. Тут просто: все ошибаются.
2. Ваши навыки, какими бы крутыми они ни были, оказались попросту не нужны в текущей ситуации. Условно, у вас космические скиллы в DevOps, а нужен именно web-разработчик, так как DevOps'ов у них хватает.

По второму варианту мне и самому приходилось откланять кандидатов.

Я думаю, что ошибка рекрутинга. Или они нашли что-то, о чем не сказали, а я не догадался.

UFO just landed and posted this here

Не было. Я собеседовался на роль Strategic Cloud Engineer. Только устно спросили, как я подсчитаю (пример не помню). Я просто сказал, что сделаю мердж из двух "четно-нечетных". На сколько это было уместно в той задаче — не знаю. Фидбека по этому ответу не прилетело.

Я даже по памяти назвал файл в ядре линукса, где надо поменять строку, чтобы нерутом биндиться на порты ниже 1023
Я что то упускаю или setcap cap_net_bind_service=ep уже не подходит?
Упускаете тот вариант, что файл, на который вы делаете capability может не существовать на момент, когда вы это делаете.
Пример:
Вы проапгрейдили сервис. Бинарник, который слушает «низкий» порт, все еще с тем же названием, но он уже другой и capabilities с него слетели. Казалось бы, можно новые capabilities поставить, но у вас нет на это время — обычно при установке пакета .rpm, .deb в конце будет рестарт сервиса и он отлетит сразу же.
(на самом деле я тоже понимаю, что этот вариант сам не идеален и применяется там, где «гениальные программисты» написали демон, который стартует не от рута и форкает от обычного юзера, как например, nginx, а сразу делает всю работу от имени того, под кем запущен — но это уже оффтоп).
Это политика найма в Гугле: лучше по ошибке не взять крутого спеца, чем по ошибке взять слабого программиста. Поэтому на собеседование ходят несколько раз и те кто в итоге получали жирные офферы могли раньше не пройти даже phone screen. Был ведь известный случай когда команде из 8 человек в hiring committee дали 8 фидбеков на кандидатов и они всем дали no hire, после чего hr manager сказал им, что это были фидбеки на них самих — то есть они сами себя бы не наняли.
Как уже сказали — у него было хорошо с математикой. Когда у тебя только основы, которые ещё не забыл за 20+ лет после обучения и ты именно ими занимаешься (не просто читаешь лекции по бумажке), то шансов значительно больше, чем у имевшего опыт руководства коллективом, занимавшегося сложными задачами, но забывшем какой-нибудь интеграл (не использовал именно его) или алгоритм сортировки пузырьком или выводящего решение из известных данных, а не отвечающего «так это же известная задача» и тут же выдающего ответ.
Есть инфа, что такие компании как Гугл, как раз таки нанимают больше junior разработчиков, чем senior. Потому что в Гугл вся инфраструктура своя, и легче обучить джуна всему этому стеку. Плюс, у них есть понятие, что senior разработчики приносят собой старый багаж неудач (а мы в старой компании так делали, а там все было по другому, а это не взлетело и тд), и тем самым они не открыты к новому.

Зато бегущие по граблям!

L3: Software Engineer II
Автор SDE2
это не джуниор
а мы в старой компании так делали, а там все было по другому, а это не взлетело и тд

Нет. Опыт работает не так. Он работает так:
а мы в старой компании так делали и отгребли подводные камни тут, тут и тут. И это не взлетело. Есть решение на эти три «тут»? Да? Отлично. Нет? Либо придумываем заранее либо меняем архитектуру.
Отрицательный результат — тоже результат, опыт. А джуну предстоит еще на все это наступить, не считая такого сложного навыка, как умение прислушиваться к советам со стороны. Пока молод и неопытен кажется, что самый умный и тут бац… граблями по носу. Благо по молодости быстро заживает и вот уже организм готов к очередной встрече.
Про наём джунов можно предположить, что более продвинутых уже и так хватает, а чтобы расти вширь достаточно и джунов, которые при необходимости могут вырасти до нужно уровня. Возможно, это лучше, чем профи занимающийся всякой фигней, который в итоге уйдет. Если нет удовлетворения своей работой, то деньгами не удержишь.
Sign up to leave a comment.

Articles