Как стать автором
Обновить

Комментарии 28

чему-то и учиться заново, а это всегда сложнее, чем пройти весь пусть с нуля изначально

Ага, ага, научить жабера кодить на с# сложнее, чем нулевого человека.
На С# переучить джавера на самом деле не сложно (если холивар не устраивать), а вот на лисп… Так что фраза верна в плане смены парадигмы — это всегда тяжело. Другое дело — глупо брать на работу джавера, если тебе нужен программист на лиспе…
Противоречия.

хорошего менеджера или ПМ-а проще обучить приемам аналитики, а не лидерским качествам

Вся суть менеджмента. Ничего еще не умеет, а уже хороший.
Любая компания ищет соискателей, обладающих комбинацией опыта и энтузиазма.

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

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

Т.е. Вы думаете, что можно воспитать раба, который будет работать из благодарности, за то, что его воспитали? На энтузиазме. «Звезде» придется в себе что-то менять? Так это значит, что вы уже ставите на другую «звезду», которая считает, что имеет самую правильную мерку. Не сработается новая «звезда» с другими? ЧСВ также присутствует и в молодых кадрах. Даже скорее больше. А попытка «воспитывать под себя» и ждать пожизненной благодарности — заведомо обречена.
Попытаюсь лучше обосновать.

С т.з. компании воспитывать кадры не выгодно. Во-первых, потому что в первые года производительность близка к нулю или даже отрицательна. Джуниор отвлекает, требует внимания. Часто он пишет такой код, который надо вообще переписывать. Код сложный в поддержке — отнимает время и деньги при поддержке.
Даже при запрлате в три раза меньшей — он дает «ничего» — поэтому лишние траты.
Но, предположим, это временное явление и джуниор с мозгами, быстро проходит этап обучения. После этого у джуниора резко меняется представление о своем месте на рынке труда. Он требует повышения зп или без зазрения совести уходит в другую компанию. В итоге если брать всё во внимание, выгодно брать уже опытного, пусть с бОльшей зарплатой. К этому Вы и так приходите, только позже и с потерями.
Берете опытного — есть риск «не сработаться». Почему? Чем выгоднее кажется джуниор? Как раз тем, что если он нигде не работал, только здесь, то он перенимает все способы местного «говнокодинга» и эти способы часто не вызывают подозрений. Человек из другой конторы или с опытом, может смотреть на код критически. Может, конечно, превозносить способы говнокодинга, к которым привык в других компаниях. Но в общем, критический взгляд — как раз возможность сделать код и работу лучше. Поэтому в совокупности, опять вывод — лучше брать опытного. В случае промаха — просто быстрее решать вопрос с увольнением и заменой.

Я уже несколько раз встречался с тем, что в разных компаниях образуются «тепленькие местечка», где собираются программисты и занимаются «фаном» за деньги работодателя. Очень не любят, если кто-то придет новый и будет критиковать работу. А ведь производительность может отличаться в десятки раз. Приходишь, например, в компанию, видишь, что 10 человек разрабатывают уже пару лет систему, которую от силы при нормальном подходе два человека за три месяца делают. А работодатель верит, что они хорошие программисты, что у них дружный коллектив. Этот коллектив х… р… й мается, вешает на проект необоснованно всякие технологии, библиотеки, только ради того, чтобы попробовать, потому что им интересно. Коллектив весь горит энтузиазмом. Понятное дело, где ж они за чужие деньги будут всё что можно будут пробовать. Кстати, энтузиазм — это звоночек — человек не опытный.
Рядом с программистами за деньги работодателя также существует беззаботная каста менеджеров. Которые верят в свои «лидерские качества». И при этом менеджеры совершенно не оценивают полезность себя в производственной цепочке. Они на самом деле в большинстве случаев вредят, но они верят, что мифическое умение управлять и лидерство заменяют им объективные знания о системе и предметной области. Типичное общение с менеджером:
Менеджер: Вы технические специалисты, объясните, какие варианты решения проблемы?
специалист 1:…
специалист 2:…
специалист 3:…
специалист 4:…
Менеджер: Хорошо, я вас понял, тогда я принимаю решение, что проблему будем решать так:…

С хрена он принимает решение, не понятно. На чем основана его обработка «полученной информации» — не понятно. Просто добавляет в полученную информацию свой шум.

И при этом в компании царит мир и гармония. Заказчик ждет качественного продукта еще лет 5, пока не разгонит всю эту веселую компанию.
Начнём с того, что я лично знаю человека, который работал в компании за небольшие деньги, просто в благодарность, за то что его «выростили». Причём как программер — человек очень даже ничего.

Второй момент — джуниоры бывают разные. На моих глазах, человек, которого брали джуниором (первая работа на 4курсе) через месяц считался хорошим мидлом. И да, ревью кода, и постоянные замечания — никто не отменял. Так что если плохой код джуна попал в продакшн, виноват кто? Виноват тимлид.

Третье — человек задумывается о смене работы(если она не доставляет явного дискомфорта) не чаще чем раз в полгода. Полгода — хороший срок, чтоб получить пользу от программиста.

И самое главное — если Вы не понимаете того, как Ваш руководитель принимает решение — то спросите его об этом. Считать человека заведомо дураком — просто некрасиво.
Один человек — не статистика. Я не знаю ни одного, который бы согласился работать даже в хорошем коллективе, зная, что ему в других местах платить будут в полтора-три раза больше.
Второй момент — джуниоры бывают разные.

Конечно. Я вообще-то лично не отношусь плохо к джуниорам. Потому как я не владелец компании, который тратит на них деньги. И программисты должны откуда-то появляться, где-то набираться опыта.
Но я рассуждал с т.з. компании. Невыгодно.
На моих глазах, человек, которого брали джуниором (первая работа на 4курсе) через месяц считался хорошим мидлом

Мне недавно родственники рассказывали с умилением, что видели по телевизору, что во Львовском каком-то университете 6-летний ребенок ведет лекции по истории. И еще добавили, что увидели (это всё в какой-то попсовой передаче), что 14-летний написал суперсистему какую-то и заработал миллионы. Мол у нас очень умная молодежь растет. И не надо думать, что мои 10 лет опыта работы что-то значат. Молодые обскакают.
)))
Это всё реалии нашего рынка труда. Считался человек опытным мидлом, среди видимо таких же опытных мидлов. Уже оскомину набила тема 23-летних синьеров. Не хочу сказать, что люди тупые. Но за красивые глаза и за большой ум, который в потенциале, где-то лет через пять начнет работать при наличии знаний — деньги платить не честно. Мидлом давайте честно считать человека с минимум 5-лет опыта работы, а синьером с минимум 8. Это, конечно, не достаточные условия.
И самое главное — если Вы не понимаете того, как Ваш руководитель принимает решение — то спросите его об этом. Считать человека заведомо дураком — просто некрасиво.

Я дураком руководителя не называл и не считаю. Но может быть умнейший повар в ресторане, с огромным интеллектом. Но нет никакого смысла спрашивать его экспертное мнение о изотопах гелия в свехрновых звездах. Вроде в сообщении написал причину, почему ситуация дурацкая в принятии решений. Там надо несколько факторов:
1. Мозги. Какой-то уровень интеллекта.
2. Исходную объективную информацию. Т.е. мало иметь мозги. Для обработки информации — нужна эта самая информация. (это как раз знание технических аспектов разрабатываемой системы)
3. Иметь знания, как обрабатывать эту информацию. Т.е. иметь опыт в решении технических проблем.

Те, кто могут решать проблемы (технические), должны и решать. «Давайте скажите как решать, а я выберу, что мне кажется (потому как книги по психологии читал, а также магию и экстрасенсорику знаю)» — это и есть дурацкая ситуация.
>>Один человек — не статистика.
У нас есть свидетель, который видел, как Вы крали деньги! — Ой, таки ну и что? У меня есть 10 сведетелей, которые этого не видели.

Если серьёзно — такие случаи есть, и от них глупо отмахиваться.

Да, я понимаю, что с 10 годами опыта обидно наблюдать, что существуют «23х летние синьоры». Но я вас должен разочаровать. Мидл, джуниор, синьор, тимлид — все эти «звания» не описывают опыт работы, знание технологий, алгоритмов, дипломы, возраст и так далее. Они описывают то, как человек справляется со своей работой (и какие функции он может выполнять). А если вы хотите ставить планки по времени — это уже ваш личный батхёрт.

Не знаю, о какой ситуации Вы говорите, но в компаниях, где я работал принятие решения происходило следующим образом:
1. Менеджер обьяснял проблему, возможные решения и риски.
2. Тех специалисты предлагали свои решения (или поддерживали предложенные решения)
3. Если тех спецы приходили к общему решению, и оно устраивало менеджера — его и принимали.
4. Если тех. спецы не могли сойтись к единому мнению, менеджер выбирал решение, которое его максимально устраивало (или же было предложено спецом с максимальным кредитом доверия).

Понимаете, решения не могут приниматься просто так. За каждое решение кто-то несёт ответственность.
Да, я понимаю, что с 10 годами опыта обидно наблюдать, что существуют «23х летние синьоры».

Не обидно. Это просто самоназвания. Как мне говорила одна знакомая HR — называй себя хоть «их бин экспертом» — твое дело.

Хреново с кодом таких синьйеров работать. И себя я не считаю тупым, но хорошо помню, как я писал код первые два года. И на самом деле процесс улучшения качества никогда не прерывался. И на самом деле я после почти 10 лет опыта тоже еще хочу некоторые книги почитать, еще не всё знаю. Спросите у любого с опытом работы, не в плане, обидно ему или нет из-за выскочек, а спросите так: был ли у него лишним опыт работы? Стал ли он хуже писать за последние 5 лет? Или все таки лучше?
Мидл, джуниор, синьор, тимлид — все эти «звания» не описывают опыт работы, знание технологий, алгоритмов, дипломы, возраст и так далее. Они описывают то, как человек справляется со своей работой (и какие функции он может выполнять).

Если провести аналогию, то это высказывание примерно такого плана: «Не надо чистить зубы. Смысл не в чистке зубов, а чтобы они были здоровыми»
1. Менеджер обьяснял проблему, возможные решения и риски.

Если менеджер может объяснить «возможные» решения — то это уже не тот менеджер, о котором я говорил. Но даже хорошо разбирающийся в технических деталях менеджер, но не участвующий прямо в разработке — все равно лишнее звено. Часть работы, такой менеджер, все таки может выполнять. Так что однозначно нельзя сказать. Но все же. В посте как раз про лидерские качества. Безвольных программистов набираете, что им нужен «сильный лидер»? ))

>>Хреново с кодом таких синьйеров работать.
У вас был опыт? Мой опыт говорит мне, что в коллективе, где есть хороший code review очень быстро стирается разница в стиле кодирования. Да, есть 10% сложных решений, где более толковый (не обязательно более опытный по времени) сотрудник сделает код более изящный. Но в 90% случаев — особой разницы нет.

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

Именно поэтому я говорю, что нельзя человека оценивать исключительно по годам опыта. Это ок для HR, которую вчера взяли на работу, и она слабо понимает кто такие программисты. Но для грамотного руководителя очень важно понимать, что иногда опыт бывает и негативным. И у меня есть для Вас пример — человек, который несколько лет клепал сайты-визитки с очень большим скрипом переучивается на высоконагруженные приложения. Т.к. опыт говорит ему — «пиши как хочешь, всё равно работать будет!» — А оно, блин, НЕ РАБОТАЕТ! И это — реальный случай. Хотя этот человек, безусловно — считает себя опытным программистом, навык которого растёт с каждым днём «опыта» :).

>>Если провести аналогию, то это высказывание примерно такого плана
Ваша аналогия не верна. Верная аналогия была бы «неважно сколько лет и по какой методике человек чистит зубы, важно чтоб они после этого были бы чистыми». Хотя и Ваша аналогия имеет смысл — не важно что и как Вы делаете с зубами, если они здоровы.

Теперь про менеджера. Боюсь Вы немножко не понимаете, зачем они нужны (тот самый случай, когда опыт во вред). Задача менеджера — направлять команду(принимать стретегические решения), и помогать ей работать. И для этого действительно нужны лидерские качества.
У вас был опыт? Мой опыт говорит мне, что в коллективе, где есть хороший code review очень быстро стирается разница в стиле кодирования.

Конечно был. Как дежавю, повторяется постоянно. В большинстве случаев даже плохого code-review нигде нет. Потом, code-review дает улучшение качества кодирования в коллективе, если там «есть у кого списать», а не все двоечники. Последнее очень распространено. Сейчас такая везде война происходит — опыт против единомышленников. Если собираются несколько неопытных, то они как соловей и кукушка друг друга поддерживают. Потом пишут статьи на хабр. Потом другие, такие же, находят «подтверждение» своим «убеждениям». И так по кругу.
Кстати, здесь вполне вменяемое сообщество. Если зайти почитать обсуждение на украинском сайте DOU, то плакать хочется ((. Любой вредный совет будет считаться хорошим. А самый вредный — самым лучшим. Тесты — отстой, оптимизировать заранее очень правильно и самый шик, джаваскрипт — идеал, хаскель — отстой. Ну и в таком духе. Мол бабушка сказала, что на джаваскрипте можно работу найти )))
По этим обсуждениям можно судить о мнении большинства. Если соберется 10 четверокурсников в офис, на один проект, они ни в жизнь не поверят, что люди за 30-ть будут умнее их. Конечно, они тупее, они не понимают в новых веяниях, они консервативны и не хотят вводить новые фишечки.
Именно поэтому я говорю, что нельзя человека оценивать исключительно по годам опыта.

… Да вроде как я везде добавлял, что это не достаточное условие. Но необходимое. Опыты разные. Но хоть и Била Гейтса будет учить первых два года — джуниор. По задачам, по уму и по количеству знаний. Мозги, знания, не прекращают развиваться ни в 16, ни в 25. Если ими пользоваться.

>>В большинстве случаев даже плохого code-review нигде нет
Это плохо. В следующий раз, когда у вас будет тошнота от «плохих программистов» — предложите ввести ревью.

Судя по сообщениям — у вас жуткая мозоль, что Ваш опыт никто не ценит. Жаль конечно, но одним «опытом» сотрудника, просто так, сами по себе дела не делаются. И да, это очень не приятно, я знаю, но все люди разные. И некоторые в 20 лучшие спецы чем другие в 30. Опять таки — реальный случай.
От кода тошнит, не от программистов. Не единым программированием живем, чтобы на людей проецировать недостатки при написании кода.
Жаль конечно, но одним «опытом» сотрудника, просто так, сами по себе дела не делаются.

Ну да, конечно. Надо взять и еще код написать. Опыт на клавиатуру не нажимает сам по себе. Но что-то Вы никак не хотите воспринимать аргументы, которые мне кажутся обоснованными. Без опыта вообще ничего не делается. Знания из Космоса не передаются, чтобы написать вменяемый код.
И да, это очень не приятно, я знаю, но все люди разные

Развожу руками. Или Вы меня сразу записали в тупого, но опытного, а есть умнее, но в 20. И мне должно быть очень неприятно это осознавать. Повторю, я не считал себя тупым. И сейчас не считаю, что был слабым интеллектуально в 20. Аспирантура, математика, научные задачи — всё было. Скорее, я решал тогда часто и гораздо поумнее задачи, чем сейчас. И скорее всего, тогда решал задачи (и сейчас их могу решать), которые многие не решат. Так что про ощущение своей беспомощности перед 20-летними интеллектуалами — это не ко мне.
И да, был у нас случай. Взяли человека с большим опытом. 37 лет. А то, что он написал в коде — никак не классифицируется, даже в тупые не запишешь.

Но все равно: код у меня был говно поначалу. Сейчас я разгребаю довольно знатный говнокод такого молодого, но архитектора. Вот прямо сейчас. Г на Г и Г погоняет. Человек он неплохой. Я не злюсь на него. Мало того, я помню, что в первые два года, когда я набирался опыта, я думал и писал ТОЧНО ТАК ЖЕ.

Если Вы думаете, что у меня мозоль… Не знаю, не копался так глубоко в себе. В ответ, могу сказать, что Вам скорее всего еще нет 25-ти. Поэтому Вы так и рассуждаете. До 25-ти так мыслят все поголовно. В университете тоже немного преподавал. И даже когда-то учился. Чтобы разрушить миф о том, что вы уже умные и вам хватит, то я помню два разных преподавателя говорили так:
1. Я в вашем возрасте уже был. Вы в моем еще не были.
Второй задал такой вопрос:
2. Вы не думайте о других, подумайте о себе сейчас и о себе через 10-20 лет. Вам бы хотелось прямо сейчас иметь знания и опыт, который будет у вас потом?

Т.е. молодые люди всегда думают о ком-то другом. Все люди разные. Так легче обосновать свою значимость для себя.

Возраст при приеме на работу — один из важных объективных показателей. Когда человеку 22 или 23 и он заявляет, что он синьер/мидл — ну как-то я не знаю даже, как назвать. ЧСВ у молодых людей выше крыши. А еще до 25 лет люди часто думают, что в 30 они обязательно будут владельцами крупного предприятия. Желательно с ГУГЛ, но в принципе можно согласиться и на что-то меньшее.
Я пару раз слышал такое: если человек в 30 лет еще не управляет, то он неудачник. От начинающего программиста, который еще даже ООП не понимал. Сейчас ему за 30, делает до сих пор самую примитивную работу.

Менеджер, которому 25, будет думать, что он нужен, чтобы своей рукой направлять безвольных технических специалистов. Для него, лучше, чтобы они были помладше. Потому как дядьки за 35 не особо понимают, что не могут ничего решить без проницательного, мудрого не по годам, хоть и не разбирающегося в технических деталях, но ведущего слепых через лес, управляющего персонала )) Пусть этот менеджер и не знает, как устроена система. Пусть не соображает, как она может развиваться. Ведь его дело — быть магом, чародеем, специалистом 80-левела в психологии, особенно в НЛП, — это обязательно ему помогает выбрать правильное решение.

ПЫСЫ. Стебусь специально
Знаете, Вы всё время нажимаете на то что «выростешь — поумнеешь». Ну как бы да, очевидно что знаний не потеряю. Но есть одно маааленькое «но» — окружающий мир изменится. Да, я хотел бы сегодня знать то, что узнаю через 10 лет. Да, если бы 5 лет назад я знал бы то, что знаю сейчас — дела бы у меня шли лучше. Но! Это не значит, что я готов обменять свои знания и опыт, на знания опыт и заблуждения любого более старшего товарища.

Вот вам пример — был у нас преподаватель в ВУЗе, который требовал от нас писать специфические dos-программы (2008г). В XP они уже не запускались. На вопрос — зачем, и где оно нам будет нужно — он отвечал: «Ну я уже так привык, методичка написана — не буду же я её переделывать?» Да, опыт великая сила…

Уж извините за «психоанализ по интернету», но у вас в постах сквозит какая то обида, на «подростающее поколение». Они выскочки, до 25 лет человек мало чего понимает (интересно, что такое мне через 3 месяца откроется), а молодые менеджеры — вообще позор нашего времени. Вам не кажется, что вот так заочно «ранжировать» незнакомых людей — как минимум глупо? Тем более можно сходу привести кучу примеров успешной молодёжи. Вообще — деление людей по какому то признаку (возраст, пол, «опыт», раса, национальность) — уже явный признак неуверенности в себе, и попытка преподнести себя с лучшей стороны как представителя «лучшей» части людей.

Я никоем образом не хочу сказать, что после 30 человек становится идиотом (и уж тем более не обсуждаю Ваши способности — я же Вас не знаю!). Я работал с человеком под 50 лет который был реально гуру Явы (и я считаю за честь опыт работы с ним). Единственное что я хочу сказать — возраст и номинальный опыт — это не то мерило, которое нужно считать приоритетным.
Нет, обиды нет. Просто везде катастрофа, а меня это не касается ))

Сейчас я делюсь с Вами и другими молодыми опытом: надо стремиться к знаниям и учиться всё время. И 30-35 (скоро и 40) — не являются пределом и глубокой старостью. И опыт и знания, если есть конечно, привычка учиться — растут.

Дос-программы: нет в общем ничего плохого. Даже еще лет 10 не будет. Когда Вы учитесь программировать, то по сути просто нужно уметь запустить программу из командной строки. Когда вы изучаете структуры данных — рисование мышкой красивой формы отвлекает.
Но вообще, да, образование устарело. Думаю, нас в ближайшие 10 лет ждет полный пересмотр. Образование уйдет в интернет.

Мир изменится. О да. Особенно подростки об этом думают, когда считают радикальным изменением — у каждого в кармане смартфон с злыми птичками.
Мир меняется. Факт. Но есть базовые знания. Которые не меняются десятилетиями. Вы выше про Лисп написали. Как-то это не устаревает. Кнуты, Дейкстры. Меняется в основном — Magento, Twitter Bootstrap, всякие укоз и еще какая-то хрень. HTML 5 появляется, свершается невиданная вещь доселе — в теги можно добавить проигрыватель музыки. Кнопочку покрасивее добавить.
Ну и тому подобное.

Это всё тоже надо. Это всё хорошо и прекрасно. Я бы советовал только смотреть на суть и не считать эти фантики чем-то радикальным. Хорошие знания почти не устаревают.
Единственное что я хочу сказать — возраст и номинальный опыт — это не то мерило, которое нужно считать приоритетным

Это буквально единственный объективный критерий, если вы видите человека впервые и собеседуете. К сожалению, собеседования в течении месяца с разными заданиями — не проводят. И просто не стоит думать вообще никак, что человек способен быть синьером (по способности решать задачи) до двух лет опыта работы. Дальше будут варианты. Хотя, может быть, это по разному в разных языках и технологиях. Если Вы думаете, что человек справляется — возможно это так. Но возможно, что а) задачи у вас простые (хотя, а где они сложные) б) вы просто не сравниваете качество кода и производительность с реально опытным человеком.
Если справляется — то в общем ничего больше не нужно, всё прекрасно.
>>надо стремиться к знаниям и учиться всё время.
Не поспоришь :)

>>Дос-программы: нет в общем ничего плохого
Если только вы не учите специфические для ОС DOS вещи :). Это всё равно что учить хаки для ИЕ6 и прочих старых браузеров.

>>Мир меняется. Факт. Но есть базовые знания. Которые не меняются десятилетиями.
Не совсем так. Программирование микроконтроллеров, программирование прикладного ПО, программирование серверного ПО, гейм дев — имеет свои особенности. Даже не столько на уровне алгоритмров, сколько на уровне общего дизайна и подходов. Если подходить к сайтостроению с дотошностью разработчика ПО для микроконтроллеров — Вы никогда не закончите свою работу. И наоборот — ваша программа скорее всего завалится в самый не подходящий момент.

Так что опыт опыту рознь.

>>Это буквально единственный объективный критерий, если вы видите человека впервые и собеседуете.
Тогда зачем Вы вообще собеседуете людей, если опыт это единственный критерий?

Знаете, это абсолютно не понятный для меня момент. Программист (10 лет опыта работы). Вот что мне с этим делать? Что вообще значит 10 лет опыта? Что он 10 лет суммарно насидел за монитором? Вообще то нет. Это значит что он 10 лет назад впервые устроился на работу программистом. Или написал сайтик для знакомых. Или сделал первую лабу в универе. Насколько сильно человек развился за эти 10 лет? Сколько сложных задач он решил, и насколько успешно? В каких областях? — это всё за кадром. И всё же Вы спешите сделать вывод по безликому «10 лет опыта».

Быть может у Вас не очень получается проводить собеседования, если единственный канал информации о человеке для вас — это его возраст и дата написания первого кода?

Хотя я должен согласится, есть один вариант, когда «опыт в годах» это показатель. Если человек 10 лет на позиции джуниора — то скорее всего умом не блещет.
Знаете, это абсолютно не понятный для меня момент. Программист (10 лет опыта работы). Вот что мне с этим делать? Что вообще значит 10 лет опыта?

То и значит. Видимо как-то надо к объяснению статистики перейти.

Если перед вами описание знаний двух разных людей, совсем одинаковое, но у одного написано — год работы, а у другого десять. Кому предпочтение? Это называется «при других равных условиях».
Почему предпочтение второму? Потому что скорее всего он меньше врет о своих навыках.

Сложнее. Если два резюме, одинаковых, по скилам, но у одного возраст 23, а у второго 30. Кому предпочтение? Второму. И хотя Вы на самом деле не знаете, может 30-летний в 29 начал карьеру, а 23 с 13 лет писал сайты и вообще гений. Но, среднестатистически у второго больше опыта. Почему? Потому что опыт растет с годами, а не уменьшается с годами. Поэтому статистически, чем старше человек, тем вероятно он получил больше опыта.

А вот, перепрыгивать не надо в плане — а может у него другой опыт в другой сфере. Это уже не равные условия. Мы сейчас рассматриваем только конкретный вопрос, не включая другие. И очень вряд ли, я думаю, вы вообще рассматриваете кандидатов на микроконтроллеры, у которых в резюме только сайты на ПХП.
>>Если два резюме, одинаковых, по скилам, но у одного возраст 23, а у второго 30. Кому предпочтение?
Никому. Я не настолько глуп, чтоб выбирать по резюме :).

Статистически — чем старше человек, тем больше у него предубеждений и меньше способность к обучению.

А вообще, статистика работает только на больших выборках — т.е. если Вы выбираете одного конкретного кандидата и основываете свои выводы на статистике — вы ошибётесь.
О_о

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

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

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

Это просто мой взгляд на процесс разработки. Он далеко не уникальный. Многие компании отказываются от этого балласта. Аджайлы, ТДД, эволюционное проектирование, ДДД. Нет места там архитекторам, управляющему персоналу. Он номинально часто там существует для решения задач, не связанных с разработкой. А команды, наверное, должны саморганизовываться. Сюда же — отсутствие нянек и джуниоров. Отсутствие выделенного бога, который говорит, как кодить, а проектирует сам. Где-то так.

Это не имеет отношения к психологии. Только к взглядам, как работать эффективнее.
>>небольшой возраст -> небольшой опыт (не факт, может быть возраст большой, а опыта год) -> плохой код.
Хех, я мог бы Вас завалить примерами обратного :). Ну да ладно. Скажем так — Хороший программер, вытягивает посредством code review не очень хорошего примерно за 2-3 недели. Ну а если тимлид этого не практикует — это его проблемы. Опыт, возраст, джуны — тут не причём.

Насчёт остального — Вы работали в крупных проектах? Если обьём проекта достаточно большой, то удержать всё в голове программисту просто невозможно. Ни задачи, ни архитектуру. И нужны люди, которые будут смотреть чуть дальше рядового программиста, и тем самым направлять остальных. Без них — работа невозможна
Насчёт остального — Вы работали в крупных проектах? Если обьём проекта достаточно большой, то удержать всё в голове программисту просто невозможно. Ни задачи, ни архитектуру.

Упс, это уже другая тема. Но вообще, как раз, по сути, по смыслу у вас противоречие. Если проект достаточно большой, то в голове вообще, человека удержать всё невозможно. Именно поэтому и работают эти практики — кодом и проектом владеют все. Меняются местами, если что. А то получается, что рядовому программисту невозможно, зато есть полубог, которому это возможно — называется архитектор. (я не зря и раньше сказал, что это бог. Его наделяют божественными полномочиями — знать всё и присутствовать везде).

Хороший программер за 2-3 недели может вытянуть стиль наименования переменных и отступы. Но не сделать из джуниора хорошего программера. Код и архитектура — это как Ленин и партия — одно и то же. Кодирование равно созданию архитектуры. И поэтому джуниор не вытягивается за недели. За год, возможно. Если мозги на месте и хорошо ему объясняют, а также дают потренироваться. Но это всё затраты.

Работа без архитекторов возможно. Скорее с ними невозможно нормальный код писать. Потому что (снова) — код и архитектура — одно и то же. Мало того, даже разрабатывается в кой каких методиках одновременно.

Но давайте закончим тему архитектур, потому что я и раньше об этом много писал и думаю, не стоит снова начинать.
>>Если проект достаточно большой, то в голове вообще, человека удержать всё невозможно. Именно поэтому и работают эти практики — кодом и проектом владеют все.

Иии нет. Потому что есть разные уровни абстракций. безусловно, держать в голове всю реализацию системы — не возможно. А вот какую то её часть, или общую схему — вполне. Да, люди, выполняющие роль архитектора могут меняться. Но в данный конкретный момент времени должен быть конкретный человек, который отвечает за некую часть архитектуры (или за архитектуру в целом). В противном случае, на вопрос «почему мы потеряли гибкость системы» Вы получите ответ в стиле «ну… так получилось».

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

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

И да, код и архитектура — это разные вещи. Можно писать просто понятный код, но при этом не реализуя хорошей архитектуры. Точно также как и можно писать хорошую архитектуру проекта ужастным кодом. (И ещё большой вопрос что хуже :) ).

Как правило, в рабочем проекте (не на старте же Вы джунов берёте), архитектура уже заложена. Поэтому задача для джуна — «делай как я». После энного колличества замечаний на тему переменных, отступов, размера и места функций, а также принципов системы — джун вполне адекватно начинает выполнять несложные задачи (а таких — процентов 90 обычно).
Потому что есть разные уровни абстракций.

Есть
безусловно, держать в голове всю реализацию системы — не возможно. А вот какую то её часть, или общую схему — вполне.

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

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

Так и получается. Вне зависимости, «отвечаете» вы или нет.

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

Но в общем спор бессмыслен.
Понимаете, решения не могут приниматься просто так. За каждое решение кто-то несёт ответственность.

Это и есть корень ваших заблуждений. Как раз это и связанно с психологией. Вы не представляете себе процессов, не построенных на иерархии и подчинении. Армейско-зоновский вариант управления. Водопад. Поиск виновного. Вроде про это уже не мало написано. В программировании это несет только негативные последствия.

Какая ответственность, вы о чем? Людей должна мотивировать не ответственность, а заинтересованность в конечном результате и вовлеченность.
Понимаете, в чём дело… Признаетё вы отетственность или нет — но Вы её несёте. Например — выбирая место работы — вы несёте ответственность за свою дальнейшую карьеру.

Теперь то я понял, почему Вы так возмущались джунами. Конечно, если тимлида нет, ответственности никто не несёт — то каждый будет писать код от балды. И в этом случае — да, лучше многоопытные «зрелые» люди, которые в этом хаосе могут лучше сохранять хороший стиль написания кода.

Я думаю наш спор действительно бессмысленен, т.к. мы придерживаемся различных взглядов на процесс разработки. Именно поэтому, в контексте вашего мировозрения мои утверждения неверны и наоборот.
Главное, чтобы сотрудники были адекватны и ценили такие вольности как «устроить встречу в кафе с видом на Кремль» и т.д… Кому-то это дарит положительные эмоции от работы, а кого-то мотивирует со временем «сесть на голову» и захотеть очередного пряника
Передавайте привет тов. Зимину =) У вас отличная команда и очень классный подход к бизнесу!
Зарегистрируйтесь на Хабре, чтобы оставить комментарий