о программировании
Jan. 25th, 2008 01:11 pmВчера разговорился с коллегой из отделения Гугла в одной европейской стране. Он жаловался, что трудно найти инженеров - кандидатов, которые хотя бы как-то подходили, почти нет. Я спросил, в чем дело, и он объяснил, что выпускники университетов в его стране обычно считают, что писать код - ниже их достоинства, и что вообще "карьера" несовместима с такими занятиями; они хотят быть не то мелкими начальниками, не то "архитекторами". Им прямо в университете, дескать, так и говорят: получите свою степень магистра - больше вам программки писать не придется. Конечно, с работой в Гугле это все никак не сочетается.
У нас в Израиле тоже есть схожие проблемы, хоть и не в таких масштабах. Время от времени попадаются кандидаты, которые не просто не могут написать простой код на бумаге (не могут-то многие), но еще и возмущаются тем, что от них этого просят. Однажды кандидат долго расспрашивал меня, просто не желая поверить, что так может быть: "неужели меня, после PhD и постдока, посадят писать код, как какого-то мальчишку? Должны же у вас быть какие-то должности типа архитектора или системного аналитика! Нет, ну я могу писать код, но я этого не делал много лет и не в этой области лучше всего проявляются мои способности".
В Гугле все инженеры пишут программы, включая любого рода тим-лидеров, включая и ученых, нанятых на ставку "research scientist". Нет никаких "архитекторов" и "аналитиков", которые сами думают, а код за них пишут другие. Те же люди, которые придумывают дизайн какой-то системы, вместе с другими ее воплощают.
Я, кстати, не уверен, что так лучше. Мне лично такое порядок работы очень по душе, но я не готов заявить, что он объективно приводит к лучшим результатам, чем более иерархичное устройство с "архитекторами". Несоменно, есть места и есть обстоятельства, где такое устройство очень хорошо работает. Но я лично не хотел бы быть "архитектором".
У нас в Израиле тоже есть схожие проблемы, хоть и не в таких масштабах. Время от времени попадаются кандидаты, которые не просто не могут написать простой код на бумаге (не могут-то многие), но еще и возмущаются тем, что от них этого просят. Однажды кандидат долго расспрашивал меня, просто не желая поверить, что так может быть: "неужели меня, после PhD и постдока, посадят писать код, как какого-то мальчишку? Должны же у вас быть какие-то должности типа архитектора или системного аналитика! Нет, ну я могу писать код, но я этого не делал много лет и не в этой области лучше всего проявляются мои способности".
В Гугле все инженеры пишут программы, включая любого рода тим-лидеров, включая и ученых, нанятых на ставку "research scientist". Нет никаких "архитекторов" и "аналитиков", которые сами думают, а код за них пишут другие. Те же люди, которые придумывают дизайн какой-то системы, вместе с другими ее воплощают.
Я, кстати, не уверен, что так лучше. Мне лично такое порядок работы очень по душе, но я не готов заявить, что он объективно приводит к лучшим результатам, чем более иерархичное устройство с "архитекторами". Несоменно, есть места и есть обстоятельства, где такое устройство очень хорошо работает. Но я лично не хотел бы быть "архитектором".
no subject
Date: 2008-01-25 02:32 pm (UTC)no subject
Date: 2008-01-25 03:11 pm (UTC)(no subject)
From:no subject
Date: 2008-01-25 02:35 pm (UTC)ну гугль успешная компания я считаю, и результаты они выдают такие что сомневаться в правильности выбранного направления, и метода создания программ не стоит.
no subject
Date: 2008-01-25 02:36 pm (UTC)no subject
Date: 2008-01-25 02:42 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2008-01-25 02:37 pm (UTC)no subject
Date: 2008-01-25 02:41 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2008-01-25 02:38 pm (UTC)no subject
Date: 2008-01-25 03:05 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2008-01-25 02:39 pm (UTC)no subject
Date: 2008-01-25 02:39 pm (UTC)Мне кажется, разумный компромисс - это когда архитектор по крайней мере принимает участие в написании некоторых утилит, простых прототипов для опробования новой технологии и т.п.
no subject
Date: 2008-01-25 02:42 pm (UTC)С другой стороны я могу понять, что иногда профессионала высокой квалификации хочется оградить от совсем простой работы - да, когда я работала инжененером-проктировщиком, все ж таки гайки крутили и кабели в (указанные мной) интерфейсы включали другие люди, а я приходила на готовое поле ;-)
И еще один аспект..кажется, в определенных кругах так получается, что специалист - это низшая ступень иерархии. Почему-то считается, что специалист - это такая низшая ступень карьеры, с которой можно двигаться в сторону "руководства специалистами" - ага, но чаще всего при этом человек занимется именно руководством людьми больше, чем всем остальным, включая ту технологию - пусть это будет программирование - с которой все началось...;-(( как-то так..
no subject
Date: 2008-01-25 02:47 pm (UTC)требует разных skills. Для бумаги важно все сразу обдумать в
голове и записать начисто, причем очень внимательно и без ошибок.
Реальное программирование -- итеративный процесс имеющий к
вышеописанному слабое отношение. C другой стороны,
я е верю в горе-архитекторов потеряших способность к кодированию.
На самое деле проектирование -- это тоже самое кодирвание, только на на более
высоком уровне абсракции. Проблеммы с набором сотрудников вообще
искуственные -- это бывает только когда выбирают по признаку наличия
шашечек с водяными знаками, а затем хотят чтобы отобранные по
таким признакаи еще и ехали.
no subject
Date: 2008-01-25 03:06 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2008-01-25 02:57 pm (UTC)Для сколько-нибудь нетривиальной разработки, характерной для программного продукта и/или сервиса, архитектов в лучшем случае бесполезен.
Поэтому, кстати, эта проблема более характерна для Европы.
no subject
Date: 2008-01-25 03:14 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2008-01-25 03:08 pm (UTC)Вместо, чтоб расспросить, как этот проект планировался, реализовывался, что делает и какие темы пришлось освоить, ему дают задачу: отсортировать массив. Или еще хуже, пинают задачками по азам комбинаторики.
Возмущаться не буду, конечно, ежели попросят что-то написать навскидку, но и в умственных способностях интервьюера засомневаюсь.
no subject
Date: 2008-01-25 03:13 pm (UTC)Мы обычно просим что-то посложнее, чем отсортировать массив, написать, но ненамного, кстати.
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:Bit count
From: (Anonymous) - Date: 2008-01-29 01:16 am (UTC) - ExpandRe: Bit count
From:Re: Bit count
From: (Anonymous) - Date: 2008-01-30 12:10 am (UTC) - ExpandRe: Bit count
From:Re: Bit count
From: (Anonymous) - Date: 2008-01-30 09:19 pm (UTC) - ExpandRe: Bit count
From:(no subject)
From: (Anonymous) - Date: 2008-01-26 04:40 pm (UTC) - Expand(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2008-01-25 03:23 pm (UTC)Простите, но в вашей компании процесс отбора людей просто дурацкий, поэтому вам трудно найти людей.
no subject
Date: 2008-01-25 03:49 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From: (Anonymous) - Date: 2008-01-26 05:42 pm (UTC) - Expand(no subject)
From:(no subject)
From:(no subject)
From: (Anonymous) - Date: 2008-01-26 12:15 am (UTC) - Expand(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:Это не мода
From:Re: Это не мода
From:Re: Это не мода
From:Re: Это не мода
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2008-01-25 04:06 pm (UTC)no subject
Date: 2008-01-25 04:30 pm (UTC)no subject
Date: 2008-01-25 05:11 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2008-01-25 04:41 pm (UTC)no subject
Date: 2008-01-26 01:04 pm (UTC)1. неумение программировать
2. раздутое самомнение
3. отсутствие опыта
Взялся за реальное дело, обломался, сдул самомнение, подучился - и теперь могу в разы больше - и как программист, и как архитектор.
конечно, это не значит что это и ваш случай:)
(no subject)
From:(no subject)
From: (Anonymous) - Date: 2008-01-26 05:55 pm (UTC) - Expandno subject
Date: 2008-01-25 05:07 pm (UTC)А общая идея, мол, вырасти из программистов в начальники над программистами... это, возможно, тоже признак тупости. Ну как бы Шекспир стал старшим писателем, или Пикассо старшим художником.
Все мне известные архитекторы или туповаты, или несут бред. Нет... в Борланде у нас был архитектор, Кристиан Кемпер. Выдающаяся личность. Так он теперь в Гугле, инженер. Но он никогда не переставал программировать.
no subject
Date: 2008-01-25 05:18 pm (UTC)Я конечно не могу себе представить архитектора, который не пишет код совсем. Но я прекрасно представляю себе архитектора, который делает дизайн системы, пишет инфраструктурную часть -- "скелет", на котором потом нарастает "мясо" -- ну и несколько "мясных" кусочков тоже. А потом остальной народ зовет "мясо" писать.
(no subject)
From:(no subject)
From:Ха!
From:(no subject)
From:no subject
Date: 2008-01-25 05:19 pm (UTC)no subject
Date: 2008-01-27 07:55 pm (UTC)(no subject)
From: (Anonymous) - Date: 2008-02-04 12:33 pm (UTC) - Expandno subject
Date: 2008-01-25 05:25 pm (UTC)Эпизод про отбор дворян в военную академию:
Следующим вызвали одного из молодых дворян. Я решил сам задавать ему вопросы. Я спросил:
- Умеете ли вы, ваше сиятельство, читать?
Он весь вспыхнул от негодования и гневно выпалил:
- Вы принимаете меня за псаломщика? Кровь, текущая в моих жилах, не потерпит...
- Отвечайте на вопрос!
Он подавил свой гнев и ответил:
- Нет.
- А писать вы умеете?
Он опять собирался обидеться, но я сказал:
- Прошу отвечать только на вопросы и не говорить ничего лишнего. Вы здесь не для того, чтобы хвастать своею кровью и своим происхождением, этого вам здесь не позволят. Умеете вы писать?
- Нет.
- А таблицу умножения знаете?
- Не понимаю, о чем вы спрашиваете.
- Сколько будет девятью шесть?
- Это тайна, которая сокрыта от меня, ибо еще ни разу в моей жизни не было у меня нужды познать ее, и, не имея надобности познать ее, я ее не познал!
no subject
Date: 2008-01-27 03:14 am (UTC)http://az.lib.ru/w/witte_s_j/text_0010.shtml
Как моя мать, так и генерал Фадеев очень косо смотрели на мое желание быть профессором. Главный их довод заключался в том, что это занятие мне не соответствует, так как это не дворянское дело.
no subject
Date: 2008-01-25 06:08 pm (UTC)А настоящий программист должен придумывать архитектуру или, в самом крайнем случае, писать код на хаскеле, демонстрирующий красивые абстрактные концепции шестого порядка.
Ещё почётно быть менеджером.
Так что не удивительно, что народ не рвётся программировать.
no subject
Date: 2008-01-25 06:10 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From: (Anonymous) - Date: 2008-01-26 06:37 am (UTC) - Expand(no subject)
From:(no subject)
From:no subject
Date: 2008-01-25 07:07 pm (UTC)Другой программист держит в голове сложнейшую систему классов view-компоненты большой системы и колбасит под нее интерфейс из сотен форм и отчетов; он в курсе всего в этой системе и может решить любой вопрос по интерфейсу; но от одной мысли про квиксорт или endianess он заболеет.
Третий программист разработал большую архитектуру системы массового обслуживания, создал ее прототип, провел все исследования и убедительно доказал что эта архитектура - правильная; он с коллегами пишет ее код, а сама система уже выросла до release candidate; продукт эксплуатируется в продакшне; но при одной мысли о GWT или реализации сортировки на низком уровне он заболеет.
Четвертый программист феноменально держит контекст состояний графического акселератора, он знает все про железо, он пишет драйвер карточки, включая низкий уровень (DMA/etc) и высокий (opengl), но при одной мысли об интерфейсе или распределенных системах он заболеет.
Так или нет?:)
no subject
Date: 2008-01-25 07:37 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2008-01-25 07:20 pm (UTC)Еще было бы интересно задать Вам несколько вопросов на ту же тему. Это не должно занять много времени. Можно встретиться в SF BA или попробовать по e-mail. Если Вы не можете мне помочь, то кого бы Вы могли порекомендовать?
Спасибо.
no subject
Date: 2008-01-25 07:21 pm (UTC)no subject
Date: 2008-01-26 03:31 pm (UTC)(no subject)
From:Не совсем в тему, но..
Date: 2008-01-25 07:34 pm (UTC)no subject
Date: 2008-01-25 07:35 pm (UTC)Меня попроили реализовать некий не
нетривиальный алгоритм (покраска/отбеливание ковра)
(при то что я хотел НЕ на позицию
алгоритмиста). Я написал не очень оптимальный
(но, конечно, работающий) вариант, для начала,
и отправил тому кто со мной общался, дописав, что алгоритм заведомо не оптимален и я его могу
улучшить, если надо. На что получил ответ,
что поскольку алгоритм неоптимален они не видят
смысла продолжать процесс. Такое вот отношение.
no subject
Date: 2008-01-25 07:55 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:мож у меня опыту маловато?
Date: 2008-01-25 08:02 pm (UTC)ну может это именно мне с ним так повезло, а бывает и по другому, не знаю
более осмысленные на м.в. способы, если уж замуж невтерпеш потрогать корову за вымя - попросить примеры кода достаточного размера, чтоб было видно каким макаром он думает
а еще более осмысленно - просто расспросить про предыдущие проекты - как что почему зачем и что из этого вышло
ТИ. за 30 лет практического программироания - ни разу не пришлось сортировать массив, руками!, и если вдруг придется - то даже не знаю как это делать-то;) про эти ваши пузырьки - где-то слышал звон, но тоже - конкретно не знаю что это за волшебные пузырьки - во ВГИКе этому не учат;) ортодоксального программистского образования у меня нету - вот просто пришел в НИВЦ МГУ - увидел БЭСМ-6, БЭСМ-4, алгол - и чот прилип;))
ТИ2. про кодировать чи не кодировать - вот чесно - за 30 лет - заебало;) все-таки под старость (а 44 это уже заметно;) - даже из спорта выгоняют в тренеры, т.к. опыта-то достаточно - а гибкость уже не та;)
Re: мож у меня опыту маловато?
Date: 2008-01-25 08:43 pm (UTC)Я, как интервьюёр, выслушивать рассказы о том как человек "раньше работал" совершенно не заинтересован. Наслушался таких речистых. Знаю, что это не мешки ворочать. Самое обидное здесь, что хорошие программисты, как правило, не особо речисты. Они не болтают, а делают. И учатся, конечно, потому что после алгола много каких языков было. Вот как у Вас, к примеру, с алголом-68? Помните правила приведения? Вообще, если "программист" за 30 лет не соизволил изучить ни сортировку, ни новые языки, то это, конечно, всё та же old dog that can't learn new tricks. Идите в начальники, там код не спрашивают. Потому что для программиста у Вас опыта как бы маловато.
Re: мож у меня опыту маловато?
From:Re: мож у меня опыту маловато?
From:Re: мож у меня опыту маловато?
From:Re: мож у меня опыту маловато?
From:Re: мож у меня опыту маловато?
From:Re: мож у меня опыту маловато?
From:какой-то вы, Ваня, бурой :(
From:Re: какой-то вы, Ваня, бурой :(
From:Re: какой-то вы, Ваня, бурой :(
From:сумлеваюсь я чот;)
From:Re: сумлеваюсь я чот;)
From:хммм... а я не помню ее кафедры :(
From:Re: сумлеваюсь я чот;)
From:Re: какой-то вы, Ваня, бурой :(
From:Re: какой-то вы, Ваня, бурой :(
From:Re: какой-то вы, Ваня, бурой :(
From:Re: какой-то вы, Ваня, бурой :(
From:Re: какой-то вы, Ваня, бурой :(
From:Re: какой-то вы, Ваня, бурой :(
From:Re: какой-то вы, Ваня, бурой :(
From:Re: какой-то вы, Ваня, бурой :(
From:Re: какой-то вы, Ваня, бурой :(
From:ну м.б. все так закрутело с 1982го г.?
From:Re: ну м.б. все так закрутело с 1982го г.?
From:нууу, вам в стенфордах очевидно виднеее;)))
From:Re: мож у меня опыту маловато?
From:Re: мож у меня опыту маловато?
From:Re: мож у меня опыту маловато?
From:Re: мож у меня опыту маловато?
From:Про опыт и игру с битами
From: (Anonymous) - Date: 2008-01-26 06:00 pm (UTC) - Expandну если с конца, то --
From:Re: ну если с конца, то --
From: (Anonymous) - Date: 2008-01-27 06:45 am (UTC) - ExpandRe: ну если с конца, то --
From: (Anonymous) - Date: 2008-01-27 08:05 am (UTC) - ExpandRe: ну если с конца, то --
From:я думаю писать вообще ни на кого не стоит
From: